#################################################
#
# (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 ( POLKIT-TQT_VERSION_MAJOR 0 )
set ( POLKIT-TQT_VERSION_MINOR 103 )
set ( POLKIT-TQT_VERSION_PATCH 0 )
set ( POLKIT-TQT_VERSION_STRING
" $ { P O L K I T - T Q T _ V E R S I O N _ M A J O R } . $ { P O L K I T - T Q T _ V E R S I O N _ M I N O R } . $ { P O L K I T - T Q T _ V E R S I O N _ P A T C H } " )
##### cmake setup ###############################
cmake_minimum_required ( VERSION 2.8.12 )
include ( FindPkgConfig )
include ( CheckCXXSourceCompiles )
include ( CheckSymbolExists )
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 (
- D T Q T _ T H R E A D _ S U P P O R T
$ { T Q T _ C F L A G S _ O T H E R }
)
##### source directories ########################
add_subdirectory ( core )
add_subdirectory ( gui )
add_subdirectory ( agent )
##### install files #### ########################
install (
F I L E S
i n c l u d e s / P o l k i t T Q t / A u t h o r i t y
i n c l u d e s / P o l k i t T Q t / D e t a i l s
i n c l u d e s / P o l k i t T Q t / I d e n t i t y
i n c l u d e s / P o l k i t T Q t / S u b j e c t
i n c l u d e s / P o l k i t T Q t / T e m p o r a r y A u t h o r i z a t i o n
i n c l u d e s / P o l k i t T Q t / A c t i o n D e s c r i p t i o n
D E S T I N A T I O N
$ { I N C L U D E _ I N S T A L L _ D I R } / P o l k i t T Q t
)
install (
F I L E S
i n c l u d e s / P o l k i t T Q t / G u i / A c t i o n
i n c l u d e s / P o l k i t T Q t / G u i / A c t i o n B u t t o n
i n c l u d e s / P o l k i t T Q t / G u i / A c t i o n B u t t o n s
D E S T I N A T I O N
$ { I N C L U D E _ I N S T A L L _ D I R } / P o l k i t T Q t / G u i
)
install (
F I L E S
i n c l u d e s / P o l k i t T Q t / A g e n t / L i s t e n e r
i n c l u d e s / P o l k i t T Q t / A g e n t / S e s s i o n
D E S T I N A T I O N
$ { I N C L U D E _ I N S T A L L _ D I R } / P o l k i t T Q t / A g e n t
)
install (
F I L E S
p o l k i t - t q t - e x p o r t . h
## ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h
D E S T I N A T I O N
$ { I N C L U D E _ I N S T A L L _ D I R } )
##
## include (${TQT_USE_FILE})
## include (InstallSettings)
## include (MacroWriteBasicCMakeVersionFile)
## include (CheckFunctionExists)
##
## include_directories(
## ${CMAKE_CURRENT_BINARY_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}
## )
##
## 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
##
## agent/polkittqt1-agent-listener.h
## agent/polkittqt1-agent-session.h
##
## ${CMAKE_CURRENT_BINARY_DIR}/polkittqt1-version.h
## polkit-tqt-export.h
##
## DESTINATION
## ${INCLUDE_INSTALL_DIR}/polkit-qt-1 )
##
##
## # 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)