forked from dndx/shadowsocks-libuv
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
44 lines (39 loc) · 1.91 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
macro(use_c99)
if (CMAKE_VERSION VERSION_LESS "3.1")
if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
set (CMAKE_C_FLAGS "--std=gnu99 ${CMAKE_C_FLAGS}")
endif ()
else ()
set (CMAKE_C_STANDARD 99)
endif ()
endmacro(use_c99)
cmake_minimum_required(VERSION 2.8.0)
# Workspace name
project(ss-libuv)
use_c99()
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
SET(CMAKE_BUILD_TYPE Debug)
set(CONFIGURATION_NAME "Debug")
# Projects
SET(CMAKE_C_FLAGS_DEBUG "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
IF (WIN32)
add_executable(ssclient src/client.c src/crypt.c src/getopt.c src/handshake.c src/localmain.c src/localser.c src/remote.c src/shadow.c src/utils.c)
add_executable(ssserver src/crypt.c src/getopt.c src/handshake.c src/remote.c src/server.c src/shadow.c src/utils.c)
target_link_libraries(ssclient uv crypto ssl ws2_32)
target_link_libraries(ssserver uv crypto ssl ws2_32)
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "MINGW")
add_executable(ssclient src/client.c src/crypt.c src/getopt.c src/handshake.c src/localmain.c src/localser.c src/remote.c src/shadow.c src/utils.c)
add_executable(ssserver src/crypt.c src/getopt.c src/handshake.c src/remote.c src/server.c src/shadow.c src/utils.c)
target_link_libraries(ssclient uv crypto ssl ws2_32)
target_link_libraries(ssserver uv crypto ssl ws2_32)
ELSE()
SET(CMAKE_C_FLAGS_DEBUG "-DHAVE_UNISTD_H ${CMAKE_C_FLAGS_DEBUG}")
add_executable(ssclient src/client.c src/crypt.c src/handshake.c src/localmain.c src/localser.c src/remote.c src/shadow.c src/utils.c)
add_executable(ssserver src/crypt.c src/handshake.c src/remote.c src/server.c src/shadow.c src/utils.c)
target_link_libraries(ssclient uv crypto ssl )
target_link_libraries(ssserver uv crypto ssl )
ENDIF()
set_property(TARGET ssclient PROPERTY C_STANDARD 99)
set_property(TARGET ssserver PROPERTY C_STANDARD 99)