1
1
CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12)
2
2
3
- if (DEFINED PROJECT_NAME )
4
- set (KCP_IS_TOP_PROJECT OFF )
5
- else ()
6
- set (KCP_IS_TOP_PROJECT ON )
7
- endif ()
8
-
9
3
project (kcp LANGUAGES C)
10
4
11
- cmake_policy (SET CMP0054 NEW)
5
+ include (CTest)
6
+ include (GNUInstallDirs)
12
7
13
- option (KCP_BUILD_SHARED_LIBS "Build KCP as a shared lib" OFF )
14
- option (KCP_BUILD_INSTALL "Build install target" ${KCP_IS_TOP_PROJECT} )
15
- option (KCP_BUILD_TESTS "Build tests" ${KCP_IS_TOP_PROJECT} )
8
+ cmake_policy (SET CMP0054 NEW)
16
9
17
- if (KCP_BUILD_SHARED_LIBS)
18
- if (WIN32 )
19
- set (exports_def_file "${CMAKE_CURRENT_BINARY_DIR} /exports.def" )
20
- set (exports_def_contents
10
+ if (BUILD_SHARED_LIBS AND WIN32 )
11
+ set (exports_def_file "${CMAKE_CURRENT_BINARY_DIR} /exports.def" )
12
+ set (exports_def_contents
21
13
"EXPORTS
22
14
ikcp_create
23
15
ikcp_release
@@ -38,39 +30,31 @@ if(KCP_BUILD_SHARED_LIBS)
38
30
ikcp_getconv
39
31
" )
40
32
41
- file (WRITE "${exports_def_file} " "${exports_def_contents} " )
42
- add_library (kcp SHARED ikcp.h ikcp.c "${exports_def_file} " )
43
- else ()
44
- add_library (kcp SHARED ikcp.h ikcp.c)
45
- endif ()
33
+ file (WRITE "${exports_def_file} " "${exports_def_contents} " )
34
+ add_library (kcp ikcp.c "${exports_def_file} " )
46
35
else ()
47
- add_library (kcp STATIC ikcp.h ikcp.c)
36
+ add_library (kcp ikcp.c)
48
37
endif ()
49
38
50
- if (KCP_BUILD_INSTALL)
51
- include (GNUInstallDirs)
52
-
53
- set_target_properties (kcp PROPERTIES PUBLIC_HEADER ikcp.h)
39
+ install (FILES ikcp.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} " )
54
40
55
- install (TARGETS kcp
56
- EXPORT kcp-targets
57
- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
58
- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
59
- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
60
- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} "
61
- INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
62
- )
41
+ install (TARGETS kcp
42
+ EXPORT kcp-targets
43
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR} "
44
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR} "
45
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR} "
46
+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR} "
47
+ )
63
48
64
- install (EXPORT kcp-targets
65
- FILE kcp-config.cmake
66
- NAMESPACE kcp::
67
- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/kcp
68
- )
69
- endif ()
49
+ install (EXPORT kcp-targets
50
+ FILE kcp-config.cmake
51
+ NAMESPACE kcp::
52
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/kcp
53
+ )
70
54
71
- if (KCP_BUILD_TESTS )
55
+ if (BUILD_TESTING )
72
56
enable_language (CXX)
73
-
57
+
74
58
add_executable (kcp_test test .cpp)
75
59
if (MSVC AND NOT (MSVC_VERSION LESS 1900))
76
60
target_compile_options (kcp_test PRIVATE /utf-8)
0 commit comments