-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathCMakeLists.txt
37 lines (28 loc) · 1.38 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
PROJECT(ngrok)
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
ADD_DEFINITIONS( -fno-inline -O0 -g -Wstrict-prototypes -std=gnu99 -Wall)
#ADD_DEFINITIONS( -Os -Wstrict-prototypes -std=gnu99 -Wall)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(LIBEV_LIBRARIES CACHE PATH "Path to the libev library")
set(LIBEV_INCLUDE_DIRS CACHE PATH "Path to the libev include directory")
set(OPENSSL_LIBRARIES CACHE PATH "Path to the openssl library")
set(OPENSSL_INCLUDE_DIRS CACHE PATH "Path to the openssl include directory")
#INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
if ("${LIBEV_INCLUDE_DIRS}" STREQUAL "")
set(LIBEV_LIBRARIES ev)
endif()
if ("${OPENSSL_INCLUDE_DIRS}" STREQUAL "")
set(OPENSSL_LIBRARIES ssl crypto)
endif()
INCLUDE_DIRECTORIES(${LIBEV_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/include)
FILE(GLOB_RECURSE BASIC_SRC ${PROJECT_SOURCE_DIR}/basic/*.c)
FILE(GLOB_RECURSE TUNNEL_SRC ${PROJECT_SOURCE_DIR}/tunnel/*.c)
ADD_LIBRARY(basic STATIC ${BASIC_SRC})
#INCLUDE_DIRECTORIES(${LIBEV_LIBRARIES})
ADD_EXECUTABLE(tunnel ${TUNNEL_SRC})
TARGET_LINK_LIBRARIES(tunnel m ${LIBEV_LIBRARIES} ${OPENSSL_LIBRARIES} basic)
ADD_EXECUTABLE(sslconnect ./tests/sslconnection.c)
TARGET_LINK_LIBRARIES(sslconnect m ${OPENSSL_LIBRARIES})
ADD_EXECUTABLE(khash_test ./tests/khash_test.c)
TARGET_LINK_LIBRARIES(khash_test m ${LIBEV_LIBRARIES} ${OPENSSL_INCLUDE_DIRS} basic)