cmake_minimum_required(VERSION 3.7) project(example) include(GNUInstallDirs) if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX /usr) endif () set(CMAKE_CXX_STANDARD 11) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_PREFIX_PATH $ENV{Qt5_DIR}) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall") set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) if (CMAKE_BUILD_TYPE STREQUAL "Debug") ADD_DEFINITIONS(-DQM_FILES_DIR="${CMAKE_BINARY_DIR}/dp4-login-plugin") ADD_DEFINITIONS(-DSERVICE_CONFIG_DIR="${CMAKE_BINARY_DIR}/share/") ADD_DEFINITIONS(-DSERVICE_LIB_DIR="${CMAKE_BINARY_DIR}/dp4-dbus-service/") ADD_DEFINITIONS(-DUSER_ICON="${CMAKE_BINARY_DIR}/user-192.png") else() ADD_DEFINITIONS(-DSERVICE_CONFIG_DIR="${CMAKE_INSTALL_PREFIX}/share/deepin-service-manager/") ADD_DEFINITIONS(-DSERVICE_LIB_DIR="${CMAKE_INSTALL_FULL_LIBDIR}/deepin-service-manager/") ADD_DEFINITIONS(-DQM_FILES_DIR="/usr/lib/dp4-login-plugin/translations") ADD_DEFINITIONS(-DUSER_ICON="/usr/share/wallpapers/deepin/dp4-login/user-192.png") endif() file(GLOB_RECURSE COMPILEFILES *.h *.cpp ../dp4-login-plugin/*.h ../dp4-login-plugin/*.cpp) if (CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -fsanitize=address -O0") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address -O0") endif() add_executable(${PROJECT_NAME} ${COMPILEFILES}) find_package(PAM REQUIRED) find_package(Qt5 COMPONENTS Core Widgets DBus Network REQUIRED) find_package(DdeSessionShell REQUIRED) set(TRY_KF5_LIBRARIES IMPORTED_LOCATION_DEBIAN IMPORTED_LOCATION_NOCONFIG ) target_include_directories(${PROJECT_NAME} PUBLIC ./service ../dp4-login-plugin/ ${PAM_INCLUDE_DIR} ${Qt5Widget_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${DDESESSIONSHELL_INCLUDE_DIR} ) target_link_libraries(${PROJECT_NAME} PRIVATE ${PAM_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5DBus_LIBRARIES} ${Qt5Network_LIBRARIES} )