root/CMakeLists.txt

Revision afa539749aa69f643918088eb669ff714cf30998, 3.0 KB (checked in by Adrien Demarez <adrien.demarez@…>, 2 years ago)

Improve EAP debugging/logging

  • Property mode set to 100644
Line 
1cmake_minimum_required(VERSION 2.6)
2
3set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
4include(YmlToC)
5
6# Project and version
7project(boc-wimax)
8set(BOC_WIMAX_VERSION_MAJOR 0)
9set(BOC_WIMAX_VERSION_MINOR 3)
10set(BOC_WIMAX_VERSION_PATCH 7)
11set(BOC_WIMAX_VERSION ${BOC_WIMAX_VERSION_MAJOR}.${BOC_WIMAX_VERSION_MINOR}.${BOC_WIMAX_VERSION_PATCH})
12
13# Options
14option(USE_SYSLOG "Whether to send messages to the syslog")
15option(USE_TRACE "Whether to print incoming/outgoing packets")
16option(USE_OPENSSL "Whether to use OpenSSL instead of GnuTLS for EAP")
17option(USE_DHCLIENT "Whether to use dhclient for DHCP")
18option(USE_PUMP "Whether to use pump for DHCP")
19
20# Check headers
21if(APPLE)
22set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /opt/local/include)
23endif(APPLE)
24include(CheckIncludeFiles)
25check_include_files(libnet.h HAVE_LIBNET_H)
26if(NOT HAVE_LIBNET_H)
27  message(FATAL_ERROR "Could not find libnet.h")
28endif(NOT HAVE_LIBNET_H)
29check_include_files(pcap.h HAVE_PCAP_H)
30if(NOT HAVE_PCAP_H)
31  message(FATAL_ERROR "Could not find pcap.h")
32endif(NOT HAVE_PCAP_H)
33
34check_include_files(netinet/ether.h HAVE_NETINET_ETHER_H)
35if(HAVE_NETINET_ETHER_H)
36  add_definitions(-DHAVE_NETINET_ETHER_H)
37endif(HAVE_NETINET_ETHER_H)
38check_include_files(linux/if_tun.h HAVE_LINUX_IF_TUN_H)
39if(HAVE_LINUX_IF_TUN_H)
40  add_definitions(-DHAVE_LINUX_IF_TUN_H)
41endif(HAVE_LINUX_IF_TUN_H)
42
43# Check libraries
44find_package(PkgConfig)
45pkg_check_modules(DBUS REQUIRED "dbus-1")
46if(USE_OPENSSL)
47find_package(OpenSSL REQUIRED)
48else(USE_OPENSSL)
49pkg_check_modules(GNUTLS REQUIRED "gnutls")
50endif(USE_OPENSSL)
51include_directories(${GNUTLS_INCLUDE_DIRS})
52include_directories(${DBUS_INCLUDE_DIRS})
53find_library(LIBNET_LIBRARY net REQUIRED)
54find_library(LIBPCAP_LIBRARY pcap REQUIRED)
55find_package(LibGcrypt REQUIRED)
56
57include_directories(
58${CMAKE_CURRENT_SOURCE_DIR}/eap
59${CMAKE_CURRENT_SOURCE_DIR}/eap/crypto
60${CMAKE_CURRENT_SOURCE_DIR}/eap/utils
61${CMAKE_CURRENT_SOURCE_DIR}/eap/common)
62
63# EAP defines
64add_definitions(
65-DCONFIG_DEBUG_FILE
66-DCONFIG_DEBUG_SYSLOG
67-DEAP_TLS
68-DEAP_PEAP
69-DEAP_TTLS
70-DEAP_MD5
71-DEAP_MSCHAPv2
72-DEAP_GTC
73-DEAP_OTP
74-DEAP_LEAP
75-DEAP_PSK
76-DEAP_PAX
77-DEAP_SAKE
78-DEAP_GPSK -DEAP_GPSK_SHA256
79-DEAP_TLS_FUNCS
80-DIEEE8021X_EAPOL)
81
82if(USE_OPENSSL)
83  add_definitions(-DEAP_TLS_OPENSSL -DINTERNAL_SHA256)
84  set(EAP_SSL_SOURCES crypto/tls_openssl.c crypto/crypto_openssl.c)
85  set(EAP_SSL_LIBRARIES ${OPENSSL_LIBRARIES})
86else(USE_OPENSSL)
87  add_definitions(-DEAP_TLS_GNUTLS -DINTERNAL_SHA256)
88  set(EAP_SSL_SOURCES crypto/tls_gnutls.c crypto/crypto_gnutls.c)
89  set(EAP_SSL_LIBRARIES ${GNUTLS_LIBRARIES})
90endif(USE_OPENSSL)
91 
92# DBus configuration
93set(DBUS_CONF_DIR "/etc/dbus-1")
94install(FILES boc-ms.conf DESTINATION ${DBUS_CONF_DIR}/system.d)
95
96# Packaging
97set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "BoC WiMAX utilities")
98set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING)
99set(CPACK_PACKAGE_VERSION_MAJOR ${BOC_WIMAX_VERSION_MAJOR})
100set(CPACK_PACKAGE_VERSION_MINOR ${BOC_WIMAX_VERSION_MINOR})
101set(CPACK_PACKAGE_VERSION_PATCH ${BOC_WIMAX_VERSION_PATCH})
102include(CPack)
103
104add_subdirectory(eap)
105add_subdirectory(src)
Note: See TracBrowser for help on using the browser.