2013-01-27 05:40:28 -08:00
|
|
|
cmake_minimum_required(VERSION 2.8.8)
|
2013-01-17 16:46:14 -08:00
|
|
|
|
2013-01-27 07:31:31 -08:00
|
|
|
project(SDDM)
|
2013-01-17 16:46:14 -08:00
|
|
|
|
2013-01-27 07:31:31 -08:00
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}")
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
2013-01-17 16:46:14 -08:00
|
|
|
|
2013-02-05 13:30:54 -08:00
|
|
|
add_definitions(-Wall -march=native -std=c++11)
|
|
|
|
|
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
2013-02-11 11:40:03 -08:00
|
|
|
set(CMAKE_BUILD_TYPE Release)
|
2013-02-05 13:30:54 -08:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CMAKE_BUILD_TYPE MATCHES [Dd]ebug)
|
2013-02-11 11:40:03 -08:00
|
|
|
message(STATUS "Debug build")
|
|
|
|
add_definitions(-DDEBUG)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")
|
2013-02-05 13:30:54 -08:00
|
|
|
else()
|
2013-02-11 11:40:03 -08:00
|
|
|
message(STATUS "Release build")
|
|
|
|
add_definitions(-DNDEBUG)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
2013-02-05 13:30:54 -08:00
|
|
|
endif()
|
2013-01-17 16:46:14 -08:00
|
|
|
|
2013-03-09 06:34:16 -08:00
|
|
|
# PKG-CONFIG
|
|
|
|
find_package(PkgConfig)
|
|
|
|
|
2013-01-27 07:31:31 -08:00
|
|
|
# PAM
|
|
|
|
find_package(PAM REQUIRED)
|
|
|
|
|
2013-03-16 16:58:55 -07:00
|
|
|
# XCB
|
|
|
|
find_package(XCB REQUIRED)
|
2013-01-27 07:31:31 -08:00
|
|
|
|
2013-02-20 16:09:16 -08:00
|
|
|
if(USE_QT5)
|
2013-01-27 07:31:31 -08:00
|
|
|
find_package(Qt5Core REQUIRED)
|
|
|
|
|
2013-02-15 06:14:44 -08:00
|
|
|
# find qt5 imports dir
|
|
|
|
get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
|
2013-02-27 14:41:59 -08:00
|
|
|
exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_QML" RETURN_VALUE return_code OUTPUT_VARIABLE QT_IMPORTS_DIR)
|
2013-02-15 06:14:44 -08:00
|
|
|
|
|
|
|
set(COMPONENTS_VERSION 2.0)
|
2013-01-27 07:31:31 -08:00
|
|
|
else()
|
|
|
|
find_package(Qt4 REQUIRED)
|
2013-02-09 13:42:21 -08:00
|
|
|
|
2013-02-15 06:14:44 -08:00
|
|
|
set(COMPONENTS_VERSION 1.1)
|
2013-02-25 09:17:01 -08:00
|
|
|
endif()
|
2013-02-06 10:24:42 -08:00
|
|
|
|
2013-02-17 05:50:15 -08:00
|
|
|
# uninstall target
|
2013-03-10 16:53:36 -07:00
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
|
|
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
|
|
|
IMMEDIATE @ONLY)
|
2013-02-17 05:50:15 -08:00
|
|
|
|
|
|
|
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
|
|
|
2013-03-09 06:34:16 -08:00
|
|
|
# login1
|
|
|
|
pkg_check_modules(LOGIN1 "libsystemd-login")
|
|
|
|
|
2013-03-10 17:47:04 -07:00
|
|
|
if(LOGIN1_FOUND)
|
|
|
|
# do nothing
|
|
|
|
else()
|
|
|
|
set(LOGIN1_FOUND 0)
|
|
|
|
endif()
|
|
|
|
|
2013-03-09 06:34:16 -08:00
|
|
|
# upower
|
|
|
|
pkg_check_modules(UPOWER "upower-glib")
|
2013-02-20 16:09:16 -08:00
|
|
|
|
2013-03-10 17:47:04 -07:00
|
|
|
if(UPOWER_FOUND)
|
|
|
|
# do nothing
|
|
|
|
else()
|
|
|
|
set(UPOWER_FOUND 0)
|
|
|
|
endif()
|
|
|
|
|
2013-03-09 06:34:16 -08:00
|
|
|
# systemd
|
|
|
|
pkg_check_modules(SYSTEMD "libsystemd-daemon")
|
2013-02-20 16:09:16 -08:00
|
|
|
|
2013-03-09 06:34:16 -08:00
|
|
|
if(SYSTEMD_FOUND)
|
2013-02-20 16:09:16 -08:00
|
|
|
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=systemdsystemunitdir systemd OUTPUT_VARIABLE SYSTEMD_SYSTEM_UNIT_DIR)
|
|
|
|
string(REGEX REPLACE "[ \t\n]+" \; SYSTEMD_SYSTEM_UNIT_DIR "${SYSTEMD_SYSTEM_UNIT_DIR}")
|
2013-03-17 02:54:11 -07:00
|
|
|
set(HALT_COMMAND "/usr/bin/systemctl poweroff")
|
|
|
|
set(REBOOT_COMMAND "/usr/bin/systemctl reboot")
|
2013-03-10 17:47:04 -07:00
|
|
|
else()
|
|
|
|
set(SYSTEMD_FOUND 0)
|
2013-03-17 02:54:11 -07:00
|
|
|
set(HALT_COMMAND "/sbin/shutdown -h -P now")
|
|
|
|
set(REBOOT_COMMAND "/sbin/shutdown -r now")
|
2013-02-25 09:17:01 -08:00
|
|
|
endif()
|
2013-02-16 17:09:40 -08:00
|
|
|
|
2013-03-04 11:30:54 -08:00
|
|
|
# set constants
|
2013-03-05 04:04:22 -08:00
|
|
|
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "System binary install directory")
|
|
|
|
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/apps/sddm" CACHE PATH "System application data install directory")
|
|
|
|
set(CONF_INSTALL_DIR "/etc" CACHE PATH "System config directory")
|
|
|
|
|
|
|
|
set(PASSWD_FILE "${CONF_INSTALL_DIR}/passwd" CACHE PATH "Path of the passwd file")
|
|
|
|
set(CONFIG_FILE "${CONF_INSTALL_DIR}/sddm.conf" CACHE PATH "Path of the sddm config file")
|
2013-03-05 15:21:52 -08:00
|
|
|
set(LOG_FILE "/var/log/sddm.log" CACHE PATH "Path of the sddm log file")
|
2013-02-11 11:40:03 -08:00
|
|
|
|
2013-02-25 09:51:18 -08:00
|
|
|
add_subdirectory(components)
|
2013-02-25 09:05:28 -08:00
|
|
|
add_subdirectory(data)
|
2013-02-25 09:51:18 -08:00
|
|
|
add_subdirectory(services)
|
2013-02-25 09:17:01 -08:00
|
|
|
add_subdirectory(src)
|