You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-libs/libdbusmenu-qt/files/libdbusmenu-qt-0.9.3_pre201...

259 lines
7.8 KiB

From 56669bd4e5ed21cfd2b0f5b94983792396695e5e Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Sun, 17 Feb 2019 19:10:55 +0100
Subject: [PATCH] Use more GNUInstallDirs, fix pkgconfig libdir path, general
cleanup
---
CMakeLists.txt | 45 ++++++++++++-----------------------
cmake/modules/FindQJSON.cmake | 2 +-
dbusmenu-qt-config.cmake.in | 2 +-
dbusmenu-qt.pc.in | 6 ++---
src/CMakeLists.txt | 16 ++++++-------
tests/CMakeLists.txt | 10 ++++----
tools/testapp/CMakeLists.txt | 2 +-
7 files changed, 34 insertions(+), 49 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 72cbc45..2d757ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 2.8.11)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
# Build options
-option(WITH_DOC "Build documentation (requires Doxygen)" ON)
+option(WITH_DOC "Build documentation (requires Doxygen)" OFF)
# Versions
## Package version
@@ -24,28 +24,8 @@ set(dbusmenu_qt_lib_PATCH_VERSION 0)
set(dbusmenu_qt_lib_VERSION ${dbusmenu_qt_lib_SOVERSION}.${dbusmenu_qt_lib_API_VERSION}.${dbusmenu_qt_lib_PATCH_VERSION})
-# Check if we want to explicitly select the Qt version to be used or autodetect
-if (NOT USE_QT4 AND NOT USE_QT5)
- # Autodetect, prefering Qt5
- message(STATUS "Autodetecting Qt version to use")
- find_package(Qt5Widgets QUIET)
- if (Qt5Widgets_FOUND)
- set(USE_QT5 TRUE)
- endif()
-endif()
-
# Detect for which Qt version we're building
-if (USE_QT5)
- find_package(Qt5Widgets REQUIRED)
- find_package(Qt5DBus REQUIRED)
- include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS})
- find_package(Qt5Core REQUIRED)
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTOMOC_RELAXED_MODE ON)
- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-
- set(QT_SUFFIX "qt5")
-else()
+if (USE_QT4)
find_package(Qt4 REQUIRED)
include_directories(
${QT_INCLUDE_DIR}
@@ -55,6 +35,14 @@ else()
)
set(QT_SUFFIX "qt")
+else()
+ find_package(Qt5 CONFIG REQUIRED Core DBus Widgets)
+ include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS})
+ set(CMAKE_AUTOMOC ON)
+ set(CMAKE_AUTOMOC_RELAXED_MODE ON)
+ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+ set(QT_SUFFIX "qt5")
endif()
include (CheckCXXCompilerFlag)
@@ -76,9 +64,7 @@ endif (__DBUSMENU_HAVE_CXX11)
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
-set(LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-set(CMAKECONFIG_INSTALL_DIR "${LIB_DESTINATION}/cmake/dbusmenu-${QT_SUFFIX}")
-set(INCLUDE_INSTALL_DIR "include/dbusmenu-${QT_SUFFIX}")
+set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}")
# dist targets
set(ARCHIVE_NAME libdbusmenu-${QT_SUFFIX}-${dbusmenu_qt_VERSION})
@@ -103,7 +89,7 @@ add_dependencies(distcheck dist)
configure_file(dbusmenu-qt.pc.in ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc @ONLY)
install(FILES ${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}.pc
- DESTINATION ${LIB_DESTINATION}/pkgconfig
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
)
add_subdirectory(src)
@@ -118,7 +104,7 @@ if(WITH_DOC)
)
install(DIRECTORY ${CMAKE_BINARY_DIR}/html/
- DESTINATION share/doc/libdbusmenu-${QT_SUFFIX}-doc
+ DESTINATION ${CMAKE_INSTALL_DOCDIR}
)
endif(WITH_DOC)
@@ -126,8 +112,8 @@ endif(WITH_DOC)
configure_package_config_file(
dbusmenu-qt-config.cmake.in
${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake
- INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}
PATH_VARS INCLUDE_INSTALL_DIR
)
write_basic_package_version_file(
@@ -140,6 +126,6 @@ write_basic_package_version_file(
install(FILES
${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config.cmake
${CMAKE_BINARY_DIR}/dbusmenu-${QT_SUFFIX}-config-version.cmake
- DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX}"
COMPONENT Devel
)
--- a/cmake/modules/FindQJSON.cmake
+++ b/cmake/modules/FindQJSON.cmake
@@ -34,7 +34,7 @@ else (QJSON_INCLUDE_DIR AND QJSON_LIBRARIES)
qjson/parser.h
PATHS
${PC_QJSON_INCLUDE_DIRS}
- ${INCLUDE_INSTALL_DIR}
+ ${CMAKE_INSTALL_INCLUDEDIR}
${KDE4_INCLUDE_DIR}
)
--- a/dbusmenu-qt.pc.in
+++ b/dbusmenu-qt.pc.in
@@ -1,7 +1,7 @@
prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_PREFIX@/lib
-includedir=@CMAKE_INSTALL_PREFIX@/include/dbusmenu-@QT_SUFFIX@
+exec_prefix=${prefix}
+libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@/dbusmenu-@QT_SUFFIX@
Name: libdbusmenu-@QT_SUFFIX@
Description: Qt implementation of dbusmenu spec
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,7 +29,7 @@ endif (__DBUSMENU_HAVE_CXX11)
# Check whether QIcon::name() exists. It was added in late Qt 4.7 cycle, and is
# not present in betas.
-if (NOT USE_QT5)
+if (USE_QT4)
set(CMAKE_REQUIRED_INCLUDES "${QT_INCLUDE_DIR}")
set(CMAKE_REQUIRED_LIBRARIES "${QT_QTGUI_LIBRARIES};${QT_QTCORE_LIBRARIES}")
else()
@@ -64,7 +64,7 @@ include_directories(
${CMAKE_BINARY_DIR}/src
)
-if (NOT USE_QT5)
+if (USE_QT4)
qt4_automoc(${dbusmenu_qt_SRCS})
qt4_add_dbus_adaptor(dbusmenu_qt_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/com.canonical.dbusmenu.xml
@@ -88,7 +88,7 @@ set_target_properties(dbusmenu-${QT_SUFFIX} PROPERTIES
)
-if (NOT USE_QT5)
+if (USE_QT4)
target_link_libraries(dbusmenu-${QT_SUFFIX}
${QT_QTGUI_LIBRARIES}
${QT_QTDBUS_LIBRARIES}
@@ -105,23 +105,23 @@ endif()
# Make sure linking to the target adds dbusmenu-qt install directory
target_include_directories(dbusmenu-${QT_SUFFIX}
- INTERFACE "$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")
+ INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}>")
install(TARGETS dbusmenu-${QT_SUFFIX}
EXPORT dbusmenu-${QT_SUFFIX}-targets
- LIBRARY DESTINATION ${LIB_DESTINATION}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION bin
)
install(EXPORT dbusmenu-${QT_SUFFIX}-targets
- DESTINATION ${CMAKECONFIG_INSTALL_DIR})
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/dbusmenu-${QT_SUFFIX})
install(DIRECTORY .
- DESTINATION ${INCLUDE_INSTALL_DIR}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}
FILES_MATCHING PATTERN "*.h"
PATTERN "*_p.h" EXCLUDE
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbusmenu_version.h
- DESTINATION ${INCLUDE_INSTALL_DIR}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dbusmenu-${QT_SUFFIX}
)
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,9 +1,9 @@
-if (NOT USE_QT5)
+if (USE_QT4)
qt4_automoc(slowmenu.cpp)
endif()
add_executable(slowmenu slowmenu.cpp)
-if (NOT USE_QT5)
+if (USE_QT4)
target_link_libraries(slowmenu
${QT_QTGUI_LIBRARIES}
${QT_QTDBUS_LIBRARIES}
@@ -77,7 +77,7 @@ set(dbusmenuexportertest_SRCS
testutils.cpp
)
-if (NOT USE_QT5)
+if (USE_QT4)
qt4_automoc(${dbusmenuexportertest_SRCS})
endif()
@@ -94,7 +94,7 @@ set(dbusmenuimportertest_SRCS
testutils.cpp
)
-if (NOT USE_QT5)
+if (USE_QT4)
qt4_automoc(${dbusmenuimportertest_SRCS})
endif()
@@ -110,7 +110,7 @@ set(dbusmenushortcuttest_SRCS
dbusmenushortcuttest.cpp
)
-if (NOT USE_QT5)
+if (USE_QT4)
qt4_automoc(${dbusmenushortcuttest_SRCS})
endif()
--- a/tools/testapp/CMakeLists.txt
+++ b/tools/testapp/CMakeLists.txt
@@ -4,7 +4,7 @@ set(qtapp_SRCS
add_executable(dbusmenubench-qtapp ${qtapp_SRCS})
-if (NOT USE_QT5)
+if (USE_QT4)
# Qt4
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/../../src
--
2.20.1