]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | CMAKE_MINIMUM_REQUIRED(VERSION 3.9) |
2 | PROJECT(ipsec C) | |
3 | ||
4 | IF (SOURCE_PATH) | |
5 | SET(CMAKE_SOURCE_DIR ${SOURCE_PATH}) | |
6 | ENDIF () | |
7 | ||
8 | INCLUDE(ProcessorCount) | |
9 | PROCESSORCOUNT(PROCS) | |
10 | ||
11 | FIND_PROGRAM(NASM nasm) | |
12 | IF (NOT NASM) | |
13 | MESSAGE(FATAL_ERROR "NASM not found") | |
14 | ENDIF () | |
15 | ||
16 | FIND_PROGRAM(MAKE make) | |
17 | IF (NOT MAKE) | |
18 | MESSAGE(FATAL_ERROR "MAKE not found") | |
19 | ENDIF () | |
20 | ||
21 | IF (EXEC_ENV STREQUAL "Windows") | |
22 | FIND_PROGRAM(MAKE nmake) | |
23 | IF (NOT MAKE) | |
24 | MESSAGE(FATAL_ERROR "nmake not found") | |
25 | ENDIF () | |
26 | ENDIF () | |
27 | ||
28 | SET(MAKE_FLAGS) | |
29 | ||
30 | IF (EXEC_ENV STREQUAL "Windows") | |
31 | LIST(APPEND MAKE_FLAGS /f win_x64.mak) | |
32 | ENDIF () | |
33 | ||
34 | IF (CMAKE_BUILD_TYPE STREQUAL Debug) | |
35 | LIST(APPEND MAKE_FLAGS DEBUG=y) | |
36 | ENDIF () | |
37 | ||
38 | IF (NOT BUILD_SHARED_LIBS) | |
39 | LIST(APPEND MAKE_FLAGS SHARED=n) | |
40 | ENDIF () | |
41 | ||
42 | MESSAGE(STATUS "${MAKE_FLAGS}") | |
43 | ADD_CUSTOM_TARGET(ipsec-mb ALL | |
44 | COMMAND ${MAKE} -j ${MAKE_FLAGS} | |
45 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ | |
46 | # VERBATIM | |
47 | ) | |
48 | ||
49 | SET(LIB_PATH ${CMAKE_SOURCE_DIR}/) | |
50 | IF(BUILD_SHARED_LIBS) | |
51 | STRING(APPEND LIB_PATH libIPSec_MB.so) | |
52 | ELSE () | |
53 | STRING(APPEND LIB_PATH libIPSec_MB.a) | |
54 | ENDIF () | |
55 | INSTALL(FILES ${LIB_PATH} | |
56 | DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/lib/) | |
57 | INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/) |