forked from accel-ppp/accel-ppp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
104 lines (84 loc) · 3.29 KB
/
CMakeLists.txt
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
cmake_minimum_required(VERSION 2.6)
if (CMAKE_BINARY_DIR STREQUAL CMAKE_HOME_DIRECTORY)
message(FATAL_ERROR "Building in source directory is forbidden. Please make separated build directory.")
endif ()
project(accel-ppp C)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fno-strict-aliasing -D_GNU_SOURCE -fPIC -rdynamic -Wno-unused-result")
IF (NOT DEFINED LIB_SUFFIX)
EXECUTE_PROCESS(
COMMAND uname -m
COMMAND tr -d '\n'
OUTPUT_VARIABLE ARCH
)
message(STATUS "'" ${ARCH} "'")
IF (ARCH STREQUAL x86_64)
SET(LIB_SUFFIX 64)
ENDIF (ARCH STREQUAL x86_64)
ENDIF (NOT DEFINED LIB_SUFFIX)
#color console example message(FATAL_ERROR "${Esc}[31m Red Text ${Esc}[m Restore Normal Text")
string(ASCII 27 Esc)
#Check libpcre2
find_library(PCRE2_LIBRARY pcre2-8
HINTS ${CMAKE_SOURCE_DIR}/lib/linux/gcc/${BIT}/lib
PATHS ${CMAKE_SOURCE_DIR}/lib/linux/gcc/${BIT}/lib
)
IF(NOT PCRE2_LIBRARY)
message(FATAL_ERROR "${Esc}[31mRequired libpcre not found.\n Install libpcre2-dev and run cmake again${Esc}[m")
ENDIF(NOT PCRE2_LIBRARY)
IF (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
EXECUTE_PROCESS(
COMMAND git describe --tags --always
WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
OUTPUT_VARIABLE ACCEL_PPP_VERSION
)
STRING(STRIP ${ACCEL_PPP_VERSION} ACCEL_PPP_VERSION)
ELSE (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
SET (ACCEL_PPP_VERSION 1.13.0)
ENDIF (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
# we must include cpack.cmake after generating the ACCEL_PPP_VERSION variable
include(cmake/cpack.cmake)
ADD_DEFINITIONS(-DACCEL_PPP_VERSION="${ACCEL_PPP_VERSION}")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
if (NOT BUILD_DRIVER_ONLY)
if (MEMDEBUG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector -fstack-protector-all")
endif (MEMDEBUG)
if (NOT DEFINED CRYPTO)
set(CRYPTO OPENSSL)
endif (NOT DEFINED CRYPTO)
if (CRYPTO STREQUAL OPENSSL)
find_library(CRYPTO_LIBRARY ssl
HINTS ${CMAKE_SOURCE_DIR}/lib/linux/gcc/${BIT}/lib
PATHS ${CMAKE_SOURCE_DIR}/lib/linux/gcc/${BIT}/lib
)
IF(NOT CRYPTO_LIBRARY)
message(FATAL_ERROR "${Esc}[31mRequired libcrypto-0.9.8 or probably later (openssl-0.9.8) not found.\n Install libssl-dev and run cmake again${Esc}[m")
ENDIF(NOT CRYPTO_LIBRARY)
add_definitions(-DCRYPTO_OPENSSL)
set(crypto_lib crypto ssl)
elseif (CRYPTO STREQUAL TOMCRYPT)
add_definitions(-DCRYPTO_TOMCRYPT)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/crypto)
set(crypto_lib tomcrypt internal-crypto)
elseif (CRYPTO STREQUAL INTERNAL)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/crypto)
set(crypto_lib internal-crypto)
else (CRYPTO STREQUAL OPENSSL)
message(FATAL_ERROR "unknown CRYPTO type")
endif (CRYPTO STREQUAL OPENSSL)
add_subdirectory(accel-pppd)
add_subdirectory(crypto)
add_subdirectory(accel-cmd)
install(DIRECTORY DESTINATION /var/log/accel-ppp)
endif (NOT BUILD_DRIVER_ONLY)
if (BUILD_PPTP_DRIVER)
add_subdirectory(drivers/pptp)
endif (BUILD_PPTP_DRIVER)
if (BUILD_IPOE_DRIVER)
add_subdirectory(drivers/ipoe)
endif (BUILD_IPOE_DRIVER)
if (BUILD_VLAN_MON_DRIVER)
add_subdirectory(drivers/vlan_mon)
endif ()
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)