Fix buig in link address
[platform/core/security/device-certificate-manager.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 ##### Configure project version when using
4 ##### outdated tools like CMake v2
5
6 IF(POLICY CMP0048)
7         CMAKE_POLICY(SET CMP0048 NEW)
8 ENDIF()
9
10 IF(POLICY CMP0069)
11         CMAKE_POLICY(SET CMP0069 NEW)
12 ENDIF()
13
14 IF(CMAKE_VERSION VERSION_LESS 3.0)
15         PROJECT(device-certificate-manager CXX C)
16         SET(PROJECT_VERSION     "2.0")
17 ELSE()
18         PROJECT(device-certificate-manager VERSION 2.0 LANGUAGES C CXX)
19 ENDIF()
20
21 INCLUDE(GNUInstallDirs)
22
23 IF(NOT (CMAKE_VERSION VERSION_LESS 3.9))
24         INCLUDE(CheckIPOSupported)
25         check_ipo_supported(RESULT IPO_ALLOWED)
26 ELSE()
27         SET(IPO_ALLOWED YES)
28 ENDIF()
29
30 find_package(Threads REQUIRED)
31
32 INCLUDE(cmake/CheckFrameworks.cmake)
33 INCLUDE(cmake/CStandard.cmake)
34
35 ADD_DEFINITIONS("-Werror")
36 ADD_DEFINITIONS("-Wall")
37 ADD_DEFINITIONS("-Wextra")
38
39 SET(CMAKE_POSITION_INDEPENDENT_CODE "True")
40 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
41
42 option(ENABLE_SYSTEMD_SUPPORT "Enable support for systemd" ON)
43
44 IF(ENABLE_SYSTEMD_SUPPORT AND NOT SYSTEMD_FOUND)
45         message(FATAL_ERROR "systemd support required but systemd not found")
46 ENDIF()
47
48 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/dcm_build_config.h.in
49         ${CMAKE_CURRENT_BINARY_DIR}/dcm_build_config.h)
50
51 include_directories(${CMAKE_CURRENT_BINARY_DIR})
52 include_directories(shared)
53
54 SET(DCM_UNIX_SOCKET_PATH "/run/device-certificate-manager.socket")
55 add_definitions(-DDCM_UNIX_SOCKET_PATH="${DCM_UNIX_SOCKET_PATH}")
56
57 add_subdirectory(dcm-client)
58 add_subdirectory(dcm-daemon)
59 add_subdirectory(pkgconfig)
60 add_subdirectory(rpm)
61 add_subdirectory(systemd)
62 add_subdirectory(tests)
63 add_subdirectory(tools)