################################################# # # (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("polkit-tqt") set( VERSION R14.1.0 ) 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 3.1 ) include( FindPkgConfig ) include( CheckCXXSourceCompiles ) include( CheckSymbolExists ) include( GNUInstallDirs OPTIONAL ) include( TDEMacros ) enable_testing( ) ##### setup install paths ####################### if( CMAKE_INSTALL_LIBDIR ) tde_setup_install_path( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" ) endif( ) include( TDESetupPaths ) tde_setup_paths( ) ##### optional stuff option( WITH_ALL_OPTIONS "Enable all optional support" OFF ) option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} ) ##### user requested modules option( BUILD_ALL "Build all" OFF ) option( BUILD_EXAMPLES "Build examples" ${BUILD_ALL} ) option( BUILD_TESTS "Builds unit tests" ${BUILD_ALL} ) ##### configure checks ########################## include( ConfigureChecks.cmake ) ##### 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}/${CMAKE_PROJECT_NAME} ) 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} ) ##### source directories ######################## add_subdirectory( core ) add_subdirectory( gui ) add_subdirectory( agent ) tde_conditional_add_subdirectory( BUILD_EXAMPLES examples ) tde_conditional_add_subdirectory( BUILD_TESTS tests ) ##### install files #### ######################## install( DIRECTORY includes/ DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME} ) install( FILES polkit-tqt-export.h DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME} ) tde_install_export( )