fa353f9d6638e33b087266b33dcb6a51bea96432
[platform/core/security/krate.git] / module / CMakeLists.txt
1 #
2 # Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3 #
4 # Licensed under the Apache License, Version 2.0(the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16 FILE(GLOB PAM_SRCS      krate.cpp
17                                         krate-builder.cpp
18 )
19
20 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,noexecstack")
21
22 SET(PAM_NAME pam_${PROJECT_NAME})
23
24 ADD_LIBRARY(${PAM_NAME} MODULE ${PAM_SRCS})
25 SET_TARGET_PROPERTIES(${PAM_NAME} PROPERTIES  PREFIX ""
26         COMPILE_DEFINITIONS PID_FILE_PATH="${RUN_INSTALL_DIR}/krate"
27         COMPILE_FLAGS "-fvisibility=hidden"
28 )
29
30 FIND_PATH(PAM_INCLUDE_DIR NAMES security/pam_appl.h security/pam_ext.h security/pam_modules.h
31         HINTS ${PAM_ROOT_DIR} PATH_SUFFIXES include)
32 FIND_LIBRARY(PAM_LIBRARY pam  HINTS ${PAM_ROOT_DIR} PATH_SUFFIXES ${LIB_INSTALL_DIR})
33 MARK_AS_ADVANCED(PAM_INCLUDE_DIR PAM_LIBRARY)
34
35 INCLUDE(FindPackageHandleStandardArgs)
36 FIND_PACKAGE_HANDLE_STANDARD_ARGS(PAM DEFAULT_MSG PAM_LIBRARY PAM_INCLUDE_DIR)
37
38 PKG_CHECK_MODULES(PAM_DEPS      REQUIRED
39                                                         klay
40                                                         libxml-2.0
41 )
42
43 INCLUDE_DIRECTORIES(${PAM_INCLUDE_DIR} ${PAM_DEPS_INCLUDE_DIRS})
44 TARGET_LINK_LIBRARIES(${PAM_NAME} ${PAM_LIBRARY} ${PAM_DEPS_LIBRARIES} pthread)
45
46 INSTALL(TARGETS ${PAM_NAME} DESTINATION ${LIB_INSTALL_DIR}/security)