CMake rules adjustments:

+ Use the usual TDESetupPaths macros.
+ Install libraries according to multi-arch rules.
+ Use `install( DIRECTORY ... )` for headers in CXX style.
+ Remove linking unused variables ${..._MOCS}.
+ Remove linking for indirectly used libraries.
+ Use private linking for exported CMake targets.
+ Add the installation of exported CMake targets.
+ Use keyword TEST for tde_add_check_executable.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/1/head
Slávek Banko 2 years ago
parent 27ea6ede3c
commit 2971f209db
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -26,10 +26,21 @@ 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 )
@ -48,21 +59,10 @@ option( BUILD_TESTS "Builds unit tests" ${BUILD_ALL} )
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" )
tde_setup_install_path( SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share" )
tde_setup_install_path( DATA_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/apps" )
##### 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_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 )
@ -99,36 +99,13 @@ tde_conditional_add_subdirectory( BUILD_TESTS tests )
##### install files #### ########################
install(
FILES
includes/PolkitTQt/Authority
includes/PolkitTQt/Details
includes/PolkitTQt/Identity
includes/PolkitTQt/Subject
includes/PolkitTQt/TemporaryAuthorization
includes/PolkitTQt/ActionDescription
DESTINATION
${INCLUDE_INSTALL_DIR}/PolkitTQt
)
install(
FILES
includes/PolkitTQt/Gui/Action
includes/PolkitTQt/Gui/ActionButton
includes/PolkitTQt/Gui/ActionButtons
DESTINATION
${INCLUDE_INSTALL_DIR}/PolkitTQt/Gui
)
install(
FILES
includes/PolkitTQt/Agent/Listener
includes/PolkitTQt/Agent/Session
DESTINATION
${INCLUDE_INSTALL_DIR}/PolkitTQt/Agent
DIRECTORY includes/
DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME}
)
install(
FILES polkit-tqt-export.h
DESTINATION ${INCLUDE_INSTALL_DIR}
DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME}
)
tde_install_export( )

@ -30,20 +30,21 @@ install(
FILES
polkit-tqt-agent-session.h
polkit-tqt-agent-listener.h
DESTINATION ${INCLUDE_INSTALL_DIR}
DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME}
)
##### polkit-tqt-agent (shared) #########################
tde_add_library( polkit-tqt-agent SHARED AUTOMOC
SOURCES ${polkit_tqt_agent_MOCS}
SOURCES
polkit-tqt-agent-session.cpp
polkit-tqt-agent-listener.cpp
listeneradapter.cpp
polkit-tqt-listener.cpp
VERSION 0.0.0
CXX_FEATURES cxx_nullptr
LINK ${TQT_LIBRARIES} ${POLKIT_GOBJECT_LIBRARIES} ${POLKIT_AGENT_LIBRARIES} polkit-tqt-core-shared
LINK polkit-tqt-core-shared
LINK_PRIVATE ${POLKIT_GOBJECT_LIBRARIES} ${POLKIT_AGENT_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)

@ -32,14 +32,14 @@ install(
polkit-tqt-identity.h
polkit-tqt-subject.h
polkit-tqt-temporaryauthorization.h
DESTINATION ${INCLUDE_INSTALL_DIR}
DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME}
)
##### polkit-tqt-core (shared) #########################
tde_add_library( polkit-tqt-core SHARED AUTOMOC
SOURCES ${polkit_tqt_core_MOCS}
SOURCES
polkit-tqt-actiondescription.cpp
polkit-tqt-authority.cpp
polkit-tqt-details.cpp
@ -48,6 +48,7 @@ tde_add_library( polkit-tqt-core SHARED AUTOMOC
polkit-tqt-temporaryauthorization.cpp
VERSION 0.0.0
CXX_FEATURES cxx_nullptr
LINK ${TQT_LIBRARIES} ${POLKIT_GOBJECT_LIBRARIES}
LINK ${TQT_LIBRARIES}
LINK_PRIVATE ${POLKIT_GOBJECT_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)

@ -93,13 +93,12 @@ install(
tde_add_executable( polkit-tqt-example AUTOMOC
SOURCES PkExample.cpp main.cpp
LINK ${TQT_LIBRARIES} ${DBUS_TQT_LIBRARIES} polkit-tqt-core-shared polkit-tqt-gui-shared
LINK ${DBUS_TQT_LIBRARIES} polkit-tqt-gui-shared
DESTINATION ${BIN_INSTALL_DIR}
)
tde_add_executable( polkit-tqt-example-helper AUTOMOC
SOURCES PkExampleHelper.cpp mainHelper.cpp
LINK ${TQT_LIBRARIES} ${DBUS_TQT_LIBRARIES} polkit-tqt-core-shared
LINK ${DBUS_TQT_LIBRARIES} polkit-tqt-core-shared
DESTINATION ${BIN_INSTALL_DIR}
)

@ -37,8 +37,6 @@ install(
tde_add_executable( polkit-tqt-agent-example AUTOMOC
SOURCES main.cpp pkagentexample.cpp tqtlistener.cpp
LINK ${TQT_LIBRARIES} ${POLKIT_GOBJECT_LIBRARIES} ${POLKIT_AGENT_LIBRARIES}
polkit-tqt-core-shared polkit-tqt-agent-shared
LINK polkit-tqt-agent-shared
DESTINATION ${BIN_INSTALL_DIR}
)

@ -30,19 +30,20 @@ install(
polkit-tqt-gui-action.h
polkit-tqt-gui-actionbutton.h
polkit-tqt-gui-actionbuttons.h
DESTINATION ${INCLUDE_INSTALL_DIR}
DESTINATION ${INCLUDE_INSTALL_DIR}/${CMAKE_PROJECT_NAME}
)
##### polkit-tqt-gui (shared) #########################
tde_add_library( polkit-tqt-gui SHARED AUTOMOC
SOURCES ${polkit_tqt_gui_MOCS}
SOURCES
polkit-tqt-gui-action.cpp
polkit-tqt-gui-actionbutton.cpp
polkit-tqt-gui-actionbuttons.cpp
VERSION 0.0.0
CXX_FEATURES cxx_nullptr
LINK ${TQT_LIBRARIES} ${POLKIT_GOBJECT_LIBRARIES} polkit-tqt-core-shared
LINK polkit-tqt-core-shared
LINK_PRIVATE ${POLKIT_GOBJECT_LIBRARIES}
DESTINATION ${LIB_INSTALL_DIR}
)

@ -22,8 +22,6 @@ include_directories(
)
set( link-polkit-tqt-test
${TQT_LIBRARIES}
polkit-tqt-core-shared
polkit-tqt-gui-shared
polkit-tqt-agent-shared
)
@ -57,9 +55,8 @@ foreach( _test_name ${_test_auto_executables} )
tde_add_check_executable( ${_test_name}
SOURCES ${_test_name}.cpp AUTOMOC
LINK ${link-polkit-tqt-test}
TEST
)
add_test( ${_test_name} ${_test_name} )
endforeach( )
foreach( _test_name ${_test_manual_executables} )
@ -68,4 +65,3 @@ foreach( _test_name ${_test_manual_executables} )
LINK ${link-polkit-tqt-test}
)
endforeach( )

Loading…
Cancel
Save