summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 74cddb8e4f9736615ffa888eac5fe4a0668c383d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
cmake_minimum_required(VERSION 2.8.3)
project(PAM_NETWORK_MANAGER C)

set(CMAKE_MODULE_PATH ${PAM_NETWORK_MANAGER_SOURCE_DIR})

find_package(PAM REQUIRED)
find_package(libnm_glib REQUIRED)

set(PAM_MODULE_DIR "${CMAKE_INSTALL_PREFIX}/lib/security" CACHE STRING "PAM module directory")
set(PAM_NETWORK_MANAGER_HELPER_DIR "${CMAKE_INSTALL_PREFIX}/lib/security/pam_network_manager" CACHE STRING "pam_network_manager_helper install directory")

set(CONNECTION_TIMEOUT "10" CACHE STRING "Connection timeout")
set(CONNECTION_ID "" CACHE STRING "Connection ID")
set(CONNECTION_UUID "" CACHE STRING "Connection UUID")
set(CONNECTION_SSID "" CACHE STRING "Connection SSID")
set(CONNECTION_AUTH_ALG "open" CACHE STRING "Connection authentication algorithm")
set(CONNECTION_KEY_MGMT "wpa-eap" CACHE STRING "Connection key management method")
set(CONNECTION_EAP "ttls" CACHE STRING "Connection EAP method")
set(CONNECTION_PHASE2_AUTHEAP "mschapv2" CACHE STRING "Connection EAP phase2 authentication method")

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${PAM_INCLUDE_DIR} ${LIBNM_GLIB_INCLUDE_DIRS})
link_directories(${LIBNM_GLIB_LIBRARY_DIRS})

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)

add_executable(pam_network_manager_helper pam_network_manager_helper.c)
set_property(TARGET pam_network_manager_helper PROPERTY COMPILE_DEFINITIONS "_DEFAULT_SOURCE;_BSD_SOURCE")
set_property(TARGET pam_network_manager_helper PROPERTY COMPILE_FLAGS "-std=c99 -Wall ${LIBNM_GLIB_CFLAGS_OTHER}")
set_property(TARGET pam_network_manager_helper PROPERTY LINK_FLAGS "${LIBNM_GLIB_LDFLAGS_OTHER}")
target_link_libraries(pam_network_manager_helper ${LIBNM_GLIB_LIBRARIES})

add_executable(pam_network_manager_test pam_network_manager.c)
set_property(TARGET pam_network_manager_test PROPERTY COMPILE_DEFINITIONS "_DEFAULT_SOURCE;_BSD_SOURCE;TEST")
set_property(TARGET pam_network_manager_test PROPERTY COMPILE_FLAGS "-std=c99 -Wall")

add_library(pam_network_manager MODULE pam_network_manager.c)
set_property(TARGET pam_network_manager PROPERTY COMPILE_DEFINITIONS "_DEFAULT_SOURCE;_BSD_SOURCE")
set_property(TARGET pam_network_manager PROPERTY COMPILE_FLAGS "-std=c99 -Wall")
set_property(TARGET pam_network_manager PROPERTY PREFIX "")

install(TARGETS pam_network_manager pam_network_manager_helper
  RUNTIME DESTINATION "${PAM_NETWORK_MANAGER_HELPER_DIR}"
  LIBRARY DESTINATION "${PAM_MODULE_DIR}"
)