diff options
author | Michele Calgaro <[email protected]> | 2021-11-01 18:47:53 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2021-11-01 18:47:53 +0900 |
commit | 58baf01dab5d45b890534bf8a1eb42d677332407 (patch) | |
tree | 236f9826c8f7457b1090d9fb3e6eca16f414e3e7 /CMakeLists.txt | |
parent | a811f9c0bc72c486b66fea1828cc832e81208ed8 (diff) | |
download | polkit-tqt-58baf01dab5d45b890534bf8a1eb42d677332407.tar.gz polkit-tqt-58baf01dab5d45b890534bf8a1eb42d677332407.zip |
Updated cmake files to allow building the package, although it is just a
dummy package (not functional).
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 367 |
1 files changed, 219 insertions, 148 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 756f1679a..0e5c4a058 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,156 +1,227 @@ +################################################# +# +# (C) 2021 Michele Calgaro +# Michele (DOT) Calgaro (AT) yahoo.it +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + ## Polkit TQt Library -project("PolkitTQt-1") - -cmake_minimum_required(VERSION 2.6.0) - -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH}) - -set(TQT_MIN_VERSION "4.4.0") - -find_package(Qt4 REQUIRED) -find_package(Automoc4 REQUIRED) -find_package(Polkit REQUIRED) -find_package(GObject REQUIRED) -find_package(GIO REQUIRED) - -add_definitions(-DTQT_NO_KEYWORDS) - -include (${TQT_USE_FILE}) -include (InstallSettings) -include (MacroWriteBasicCMakeVersionFile) -include (CheckFunctionExists) - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${POLKIT_INCLUDE_DIR} - ${POLKIT_AGENT_INCLUDE_DIR} - ${GLIB2_INCLUDE_DIR} - ${GOBJECT_INCLUDE_DIR} - ${GIO_INCLUDE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/core - ${CMAKE_CURRENT_SOURCE_DIR}/includes - ${TQT_TQTXML_INCLUDE_DIR} +project("polkit-tqt") + +set(POLKIT-TQT_VERSION_MAJOR 0) +set(POLKIT-TQT_VERSION_MINOR 103) +set(POLKIT-TQT_VERSION_PATCH 0) +set(POLKIT-TQT_VERSION_STRING + "${POLKIT-TQT_VERSION_MAJOR}.${POLKIT-TQT_VERSION_MINOR}.${POLKIT-TQT_VERSION_PATCH}") + + +##### cmake setup ############################### + +cmake_minimum_required( VERSION 2.8.12 ) + +include( FindPkgConfig ) +include( CheckCXXSourceCompiles ) +include( CheckSymbolExists ) + +set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ) +include( TDEMacros ) + + +##### optional stuff + +option( WITH_ALL_OPTIONS "Enable all optional support" OFF ) +option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} ) + + +##### configure checks ########################## + +include( ConfigureChecks.cmake ) + + +##### install paths setup ####################### + +tde_setup_install_path( EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ) +tde_setup_install_path( BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" ) +tde_setup_install_path( LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" ) +tde_setup_install_path( INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/${CMAKE_PROJECT_NAME}" ) +tde_setup_install_path( PKGCONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig" ) + + +##### write pkgconfig file ###################### + +string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" PC_EXEC_PREFIX ${EXEC_INSTALL_PREFIX} ) +string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" PC_INCLUDE_DIR ${INCLUDE_INSTALL_DIR} ) +string( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "\${prefix}" PC_LIB_DIR ${LIB_INSTALL_DIR} ) + +configure_file( polkit-tqt.pc.cmake polkit-tqt.pc @ONLY ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-tqt.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) +configure_file( polkit-tqt-agent.pc.cmake polkit-tqt-agent.pc @ONLY ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-tqt-agent.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) +configure_file( polkit-tqt-core.pc.cmake polkit-tqt-core.pc @ONLY ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-tqt-core.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) +configure_file( polkit-tqt-gui.pc.cmake polkit-tqt-gui.pc @ONLY ) +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-tqt-gui.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} ) + + +##### build setup ############################### + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" ) +set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" ) +set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" ) + +add_definitions( + -DTQT_THREAD_SUPPORT + ${TQT_CFLAGS_OTHER} ) -# Check for older polkit -set(CMAKE_REQUIRED_INCLUDES ${POLKIT_INCLUDE_DIR} ${POLKIT_AGENT_INCLUDE_DIR}) -set(CMAKE_REQUIRED_LIBRARIES ${POLKIT_LIBRARIES} ${POLKIT_AGENT_LIBRARY}) -check_function_exists(polkit_agent_listener_register HAVE_POLKIT_AGENT_LISTENER_REGISTER) -check_function_exists(polkit_authority_get_sync HAVE_POLKIT_AUTHORITY_GET_SYNC) - -if (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC) - message(STATUS "You have an older polkit-1 version: Polkit-TQt-1 will be built in compatibility mode") - add_definitions(-DPOLKIT_TQT_1_COMPATIBILITY_MODE) -endif (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC) - -if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.6.2) - option(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR "Prefer to install the <package>Config.cmake files to lib/cmake/<package> instead of lib/<package>/cmake" TRUE) -endif(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.6.2) - -set(POLKITTQT-1_VERSION_MAJOR 0 CACHE INT "PolkitTQt-1's major version number" FORCE) -set(POLKITTQT-1_VERSION_MINOR 103 CACHE INT "PolkitTQt-1's minor version number" FORCE) -set(POLKITTQT-1_VERSION_PATCH 0 CACHE INT "PolkitTQt-1's release version number" FORCE) -set(POLKITTQT-1_VERSION_STRING - "${POLKITTQT-1_VERSION_MAJOR}.${POLKITTQT-1_VERSION_MINOR}.${POLKITTQT-1_VERSION_PATCH}") - -# The SONUMBER of the polkit-qt-1 libraries -set(POLKITTQT-1_ABI_VERSION 1) -# The version number of the polkit-qt-1 libraries -set(POLKITTQT-1_LIBRARY_VERSION "${POLKITTQT-1_ABI_VERSION}.${POLKITTQT-1_VERSION_MINOR}.${POLKITTQT-1_VERSION_PATCH}") - -configure_file(polkittqt1-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h) - -install(FILES - gui/polkittqt1-gui-action.h - gui/polkittqt1-gui-actionbutton.h - gui/polkittqt1-gui-actionbuttons.h - - core/polkittqt1-authority.h - core/polkittqt1-details.h - core/polkittqt1-identity.h - core/polkittqt1-subject.h - core/polkittqt1-temporaryauthorization.h - core/polkittqt1-actiondescription.h - - agent/polkittqt1-agent-listener.h - agent/polkittqt1-agent-session.h - - ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h - polkittqt1-export.h - - DESTINATION - ${INCLUDE_INSTALL_DIR}/polkit-qt-1 COMPONENT Devel) - -install(FILES - includes/PolkitTQt1/Authority - includes/PolkitTQt1/Details - includes/PolkitTQt1/Identity - includes/PolkitTQt1/Subject - includes/PolkitTQt1/TemporaryAuthorization - includes/PolkitTQt1/ActionDescription - DESTINATION - ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1 COMPONENT Devel) - -install(FILES - includes/PolkitTQt1/Gui/Action - includes/PolkitTQt1/Gui/ActionButton - includes/PolkitTQt1/Gui/ActionButtons - DESTINATION - ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1/Gui COMPONENT Devel) - -install(FILES - includes/PolkitTQt1/Agent/Listener - includes/PolkitTQt1/Agent/Session - DESTINATION - ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1/Agent COMPONENT Devel) - -if(NOT WIN32) - # Pkgconfig - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-1.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-core-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-core-1.pc - @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-core-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-gui-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-gui-1.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-gui-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-agent-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-agent-1.pc - @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-agent-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) -endif(NOT WIN32) - -# CMake Config files -configure_file(PolkitTQt-1Config.cmake.in "${CMAKE_BINARY_DIR}/PolkitTQt-1Config.cmake" @ONLY) - -# this file is used by to check if the installed version can be used. -macro_write_basic_cmake_version_file(${CMAKE_BINARY_DIR}/PolkitTQt-1ConfigVersion.cmake - ${POLKITTQT-1_VERSION_MAJOR} ${POLKITTQT-1_VERSION_MINOR} ${POLKITTQT-1_VERSION_PATCH}) - -if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) - set(_PolkitTQt-1Config_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/PolkitTQt-1) -else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) - set(_PolkitTQt-1Config_INSTALL_DIR ${LIB_INSTALL_DIR}/PolkitTQt-1/cmake) -endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) - -install(FILES ${CMAKE_BINARY_DIR}/PolkitTQt-1ConfigVersion.cmake - ${CMAKE_BINARY_DIR}/PolkitTQt-1Config.cmake - DESTINATION ${_PolkitTQt-1Config_INSTALL_DIR} ) - -option(BUILD_EXAMPLES "Builds a set of examples for polkit-qt-1" OFF) -if (BUILD_EXAMPLES) - add_subdirectory(examples) -endif (BUILD_EXAMPLES) - -add_subdirectory(cmake) - -option(BUILD_TEST "Builds unit tests for polkit-qt-1" OFF) -if (BUILD_TEST) - add_subdirectory(test) -endif (BUILD_TEST) + +##### source directories ######################## add_subdirectory(core) add_subdirectory(gui) add_subdirectory(agent) -# Always last! -include (PolkitTQt-1Dist) + + + +## find_package(Qt4 REQUIRED) +## find_package(Polkit REQUIRED) +## find_package(GObject REQUIRED) +## find_package(GIO REQUIRED) +## +## add_definitions(-DTQT_NO_KEYWORDS) +## +## include (${TQT_USE_FILE}) +## include (InstallSettings) +## include (MacroWriteBasicCMakeVersionFile) +## include (CheckFunctionExists) +## +## include_directories( +## ${CMAKE_CURRENT_BINARY_DIR} +## ${POLKIT_INCLUDE_DIR} +## ${POLKIT_AGENT_INCLUDE_DIR} +## ${GLIB2_INCLUDE_DIR} +## ${GOBJECT_INCLUDE_DIR} +## ${GIO_INCLUDE_DIR} +## ${CMAKE_CURRENT_SOURCE_DIR} +## ${CMAKE_CURRENT_SOURCE_DIR}/core +## ${CMAKE_CURRENT_SOURCE_DIR}/includes +## ${TQT_TQTXML_INCLUDE_DIR} +## ) +## +## # Check for older polkit +## set(CMAKE_REQUIRED_INCLUDES ${POLKIT_INCLUDE_DIR} ${POLKIT_AGENT_INCLUDE_DIR}) +## set(CMAKE_REQUIRED_LIBRARIES ${POLKIT_LIBRARIES} ${POLKIT_AGENT_LIBRARY}) +## check_function_exists(polkit_agent_listener_register HAVE_POLKIT_AGENT_LISTENER_REGISTER) +## check_function_exists(polkit_authority_get_sync HAVE_POLKIT_AUTHORITY_GET_SYNC) +## +## if (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC) +## message(STATUS "You have an older polkit-1 version: Polkit-TQt-1 will be built in compatibility mode") +## add_definitions(-DPOLKIT_TQT_1_COMPATIBILITY_MODE) +## endif (NOT HAVE_POLKIT_AGENT_LISTENER_REGISTER OR NOT HAVE_POLKIT_AUTHORITY_GET_SYNC) +## +## if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.6.2) +## option(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR "Prefer to install the <package>Config.cmake files to lib/cmake/<package> instead of lib/<package>/cmake" TRUE) +## endif(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_GREATER 2.6.2) +## +## # The SONUMBER of the polkit-qt-1 libraries +## set(POLKIT-TQT_ABI_VERSION 1) +## # The version number of the polkit-qt-1 libraries +## set(POLKIT-TQT_LIBRARY_VERSION "${POLKIT-TQT_ABI_VERSION}.${POLKIT-TQT_VERSION_MINOR}.${POLKIT-TQT_VERSION_PATCH}") +## +## configure_file(polkittqt1-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h) +## +## install(FILES +## gui/polkittqt1-gui-action.h +## gui/polkittqt1-gui-actionbutton.h +## gui/polkittqt1-gui-actionbuttons.h +## +## core/polkittqt1-authority.h +## core/polkittqt1-details.h +## core/polkittqt1-identity.h +## core/polkittqt1-subject.h +## core/polkittqt1-temporaryauthorization.h +## core/polkittqt1-actiondescription.h +## +## agent/polkittqt1-agent-listener.h +## agent/polkittqt1-agent-session.h +## +## ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h +## polkittqt1-export.h +## +## DESTINATION +## ${INCLUDE_INSTALL_DIR}/polkit-qt-1 COMPONENT Devel) +## +## install(FILES +## includes/PolkitTQt1/Authority +## includes/PolkitTQt1/Details +## includes/PolkitTQt1/Identity +## includes/PolkitTQt1/Subject +## includes/PolkitTQt1/TemporaryAuthorization +## includes/PolkitTQt1/ActionDescription +## DESTINATION +## ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1 COMPONENT Devel) +## +## install(FILES +## includes/PolkitTQt1/Gui/Action +## includes/PolkitTQt1/Gui/ActionButton +## includes/PolkitTQt1/Gui/ActionButtons +## DESTINATION +## ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1/Gui COMPONENT Devel) +## +## install(FILES +## includes/PolkitTQt1/Agent/Listener +## includes/PolkitTQt1/Agent/Session +## DESTINATION +## ${INCLUDE_INSTALL_DIR}/polkit-qt-1/PolkitTQt1/Agent COMPONENT Devel) +## +## if(NOT WIN32) +## # Pkgconfig +## configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-1.pc @ONLY) +## install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) +## configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-core-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-core-1.pc +## @ONLY) +## install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-core-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) +## configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-gui-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-gui-1.pc @ONLY) +## install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-gui-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) +## configure_file(${CMAKE_CURRENT_SOURCE_DIR}/polkit-qt-agent-1.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-agent-1.pc +## @ONLY) +## install(FILES ${CMAKE_CURRENT_BINARY_DIR}/polkit-qt-agent-1.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig ) +## endif(NOT WIN32) +## +## # CMake Config files +## configure_file(PolkitTQt-1Config.cmake.in "${CMAKE_BINARY_DIR}/PolkitTQt-1Config.cmake" @ONLY) +## +## # this file is used by to check if the installed version can be used. +## macro_write_basic_cmake_version_file(${CMAKE_BINARY_DIR}/PolkitTQt-1ConfigVersion.cmake +## ${POLKIT-TQT_VERSION_MAJOR} ${POLKIT-TQT_VERSION_MINOR} ${POLKIT-TQT_VERSION_PATCH}) +## +## if(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) +## set(_PolkitTQt-1Config_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/PolkitTQt-1) +## else(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) +## set(_PolkitTQt-1Config_INSTALL_DIR ${LIB_INSTALL_DIR}/PolkitTQt-1/cmake) +## endif(USE_COMMON_CMAKE_PACKAGE_CONFIG_DIR) +## +## install(FILES ${CMAKE_BINARY_DIR}/PolkitTQt-1ConfigVersion.cmake +## ${CMAKE_BINARY_DIR}/PolkitTQt-1Config.cmake +## DESTINATION ${_PolkitTQt-1Config_INSTALL_DIR} ) +## +## option(BUILD_EXAMPLES "Builds a set of examples for polkit-qt-1" OFF) +## if (BUILD_EXAMPLES) +## add_subdirectory(examples) +## endif (BUILD_EXAMPLES) +## +## add_subdirectory(cmake) +## +## option(BUILD_TEST "Builds unit tests for polkit-qt-1" OFF) +## if (BUILD_TEST) +## add_subdirectory(test) +## endif (BUILD_TEST) +## +## +## # Always last! +## include (PolkitTQt-1Dist) |