CMakeLists.txt 2.1 KB
Newer Older
1
cmake_minimum_required(VERSION 2.6)
K
Kozlov Dmitry 已提交
2 3 4
cmake_policy(SET CMP0005 NEW)
cmake_policy(SET CMP0003 OLD)

5
project(accel-ppp C)
6

7 8
include(cmake/cpack.cmake)

9
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fno-strict-aliasing -D_GNU_SOURCE -fPIC -rdynamic")
10 11 12 13 14 15 16 17 18 19 20 21 22

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)

D
Dmitry Kozlov 已提交
23
IF (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
24 25 26 27 28 29 30 31
	EXECUTE_PROCESS(
		COMMAND git log --no-color
		COMMAND head -n1
		COMMAND awk "{print $2}"
		WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
		OUTPUT_VARIABLE ACCEL_PPP_VERSION
	)
	STRING(STRIP ${ACCEL_PPP_VERSION} ACCEL_PPP_VERSION)
D
Dmitry Kozlov 已提交
32
ELSE (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
D
Dmitry Kozlov 已提交
33
	SET (ACCEL_PPP_VERSION 1.9.0)
D
Dmitry Kozlov 已提交
34
ENDIF (EXISTS ${CMAKE_HOME_DIRECTORY}/.git AND NOT IGNORE_GIT)
35 36

ADD_DEFINITIONS(-DACCEL_PPP_VERSION="${ACCEL_PPP_VERSION}")
37
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
38

39
if (NOT BUILD_DRIVER_ONLY)
40 41 42 43 44 45 46 47 48 49
	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)
		add_definitions(-DCRYPTO_OPENSSL)
50
		set(crypto_lib crypto ssl)
51 52
	elseif (CRYPTO STREQUAL TOMCRYPT)
		add_definitions(-DCRYPTO_TOMCRYPT)
53 54
		INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/crypto)
		set(crypto_lib tomcrypt internal-crypto)
55 56 57 58 59 60 61 62 63
	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)
64
	add_subdirectory(accel-cmd)
65 66
endif (NOT BUILD_DRIVER_ONLY)

D
Dmitry Kozlov 已提交
67 68 69
if (BUILD_PPTP_DRIVER)
	add_subdirectory(drivers/pptp)
endif (BUILD_PPTP_DRIVER)
70

D
Dmitry Kozlov 已提交
71 72 73
if (BUILD_IPOE_DRIVER)
	add_subdirectory(drivers/ipoe)
endif (BUILD_IPOE_DRIVER)
74

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