summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMichele Calgaro <[email protected]>2021-11-01 18:47:53 +0900
committerMichele Calgaro <[email protected]>2021-11-01 18:47:53 +0900
commit58baf01dab5d45b890534bf8a1eb42d677332407 (patch)
tree236f9826c8f7457b1090d9fb3e6eca16f414e3e7 /CMakeLists.txt
parenta811f9c0bc72c486b66fea1828cc832e81208ed8 (diff)
downloadpolkit-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.txt367
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)