1 CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
2 PROJECT(privilege-info VERSION 0.0.7 LANGUAGES C)
4 INCLUDE(GNUInstallDirs)
7 IF(NOT CMAKE_BUILD_TYPE)
8 SET(CMAKE_BUILD_TYPE "RELEASE")
9 ENDIF(NOT CMAKE_BUILD_TYPE)
11 IF(NOT DEFINED COVERAGE_DIR)
13 "${SHARE_INSTALL_PREFIX}/${PROJECT_NAME}-coverage"
15 "Read-only coverage data directory")
16 ENDIF(NOT DEFINED COVERAGE_DIR)
17 ADD_DEFINITIONS("-DCOVERAGE_DIR=\"${COVERAGE_DIR}\"")
19 SET(CMAKE_C_FLAGS_DEBUG "-std=c11 -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
20 SET(CMAKE_C_FLAGS_RELEASE "-std=c11 -O2 -DNDEBUG")
21 SET(CMAKE_C_FLAGS_COVERAGE "-std=c11 -O0 -ggdb --coverage -Wp,-U_FORTIFY_SOURCE")
23 ADD_DEFINITIONS("-Werror")
24 ADD_DEFINITIONS("-Wall")
25 ADD_DEFINITIONS("-Wextra")
27 SET(CMAKE_POSITION_INDEPENDENT_CODE "True")
28 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
30 PKG_CHECK_MODULES(PRIVILEGE_INFO_DEPS REQUIRED
33 security-privilege-manager
37 INCLUDE_DIRECTORIES(SYSTEM ${PRIVILEGE_INFO_DEPS_INCLUDE_DIRS})
38 LINK_DIRECTORIES(${PRIVILEGE_INFO_DEPS_LIBRARY_DIRS})
39 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include)
42 ADD_SUBDIRECTORY(test)