You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.1 KiB
68 lines
2.1 KiB
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)
|
|
find_package(KF5Ldap 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}
|
|
KF5::Ldap
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
${PAM_LIBRARIES}
|
|
${Qt5Widgets_LIBRARIES}
|
|
${Qt5Core_LIBRARIES}
|
|
${Qt5DBus_LIBRARIES}
|
|
${Qt5Network_LIBRARIES}
|
|
KF5::Ldap
|
|
)
|
|
|