1
- #-------------------------------------------------------------------------------------------
2
- # Copyright (c) 2020, OLogN Technologies AG
3
- #-------------------------------------------------------------------------------------------
4
-
5
1
cmake_minimum_required (VERSION 3.4)
6
- project (NodeDotCpp CXX)
7
-
8
- #find_package(Threads)
9
-
10
- include (CTest)
11
-
12
- set (CMAKE_MODULE_PATH
13
- "${CMAKE_MODULE_PATH} ;${CMAKE_CURRENT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/tools" )
14
- include (CommonCppFlags)
15
-
16
-
17
-
18
- add_subdirectory (safe_memory)
19
-
20
-
21
- add_library (nodecpp_no_main STATIC
22
- src/infrastructure.cpp
23
- src/net.cpp
24
- # src/timers.cpp
25
- # src/clustering_impl/clustering.cpp
26
- # src/logging_impl/logging.cpp
27
- # src/tcp_socket/listener_thread.cpp
28
- src/tcp_socket/tcp_socket.cpp
29
- )
30
-
31
- # just in case some project needs a different main
32
- target_include_directories (nodecpp_no_main
33
- PUBLIC include
34
- )
35
-
36
- add_library (nodecpp STATIC
37
- src/infra_main.cpp
38
- )
39
-
40
-
41
- target_link_libraries (nodecpp_no_main SafeMemory)
42
- target_link_libraries (nodecpp nodecpp_no_main)
43
-
44
- if (MSVC )
45
- target_compile_options (nodecpp_no_main PUBLIC /await)
46
- else ()
47
- target_compile_definitions (nodecpp_no_main PUBLIC USING_T_SOCKETS)
48
- endif ()
49
-
50
-
51
-
2
+ project (node_cpp)
52
3
53
- add_executable (client
54
- test /samples/client/user_code/NetSocket.cpp
55
- )
4
+ find_package (Threads)
56
5
57
- target_link_libraries (client nodecpp)
6
+ set (CLIENT_NAME client.bin)
7
+ #set(CTRL_CLIENT_NAME ctrl_client.bin)
8
+ set (SERVER_NAME server.bin)
9
+ set (LIB_NAME gcc_lto_workaround)
58
10
59
- add_executable (server
60
- test /samples/server/user_code/NetSocket.cpp
61
- )
11
+ set (SOURCE_EXE ${PROJECT_SOURCE_DIR} /src/infra_main.cpp
12
+ ${PROJECT_SOURCE_DIR} /src/net.cpp
13
+ ${PROJECT_SOURCE_DIR} /src/infrastructure.cpp
14
+ ${PROJECT_SOURCE_DIR} /src/tcp_socket/tcp_socket.cpp )
62
15
63
- target_link_libraries (server nodecpp)
16
+ set (CLIENT_SOURCE_EXE ${PROJECT_SOURCE_DIR} /test /samples/client/user_code/NetSocket.cpp)
17
+ #set(CTRL_CLIENT_SOURCE_EXE ${PROJECT_SOURCE_DIR}/test/samples/ctrl_client/user_code/NetSocket.cpp)
18
+ set (SERVER_SOURCE_EXE ${PROJECT_SOURCE_DIR} /test /samples/server/user_code/NetSocket.cpp)
64
19
65
- add_executable (ctrl_client
66
- test /samples/ctrl_client/user_code/NetSocket.cpp
67
- )
20
+ set (SOURCE_LIB ${PROJECT_SOURCE_DIR} /safe_memory/library/gcc_lto_workaround/gcc_lto_workaround.cpp)
68
21
69
- target_link_libraries (ctrl_client nodecpp )
22
+ add_subdirectory ( ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc build )
70
23
24
+ include_directories (include ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/3rdparty/fmt/include
25
+ ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/include
26
+ ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src
27
+ ${PROJECT_SOURCE_DIR} /safe_memory/library/src
28
+ ${PROJECT_SOURCE_DIR} /include /nodecpp
29
+ ${PROJECT_SOURCE_DIR} /include
30
+ ${PROJECT_SOURCE_DIR} /src )
71
31
72
32
set (DZ_INCLUDES -isystem ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/3rdparty/fmt/include
73
33
-isystem ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/include
@@ -81,6 +41,50 @@ set(DZ_INCLUDES -isystem ${PROJECT_SOURCE_DIR}/safe_memory/library/src/iibmalloc
81
41
set (DZ_DEFINES -DNDEBUG -DUSING_T_SOCKETS)
82
42
83
43
44
+ if (MSVC OR MSYS OR MINGW)
45
+ option (CMAKE_USE_WIN32_THREADS_INIT "using WIN32 threads" ON )
46
+ add_definitions (/W3)
47
+ add_definitions (/EHa)
48
+ add_definitions (/MD )
49
+ add_definitions (/await)
50
+ else ()
51
+ enable_testing ()
52
+ add_definitions ( -g )
53
+ add_definitions ( -Wall )
54
+ add_definitions ( -Wextra )
55
+ add_definitions ( -Wno-unused-variable )
56
+ add_definitions ( -Wno-unused-parameter )
57
+ add_definitions ( -Wno-empty-body )
58
+ add_definitions (-lpthread)
59
+ add_compile_options (-O2)
60
+ set (CMAKE_CXX_STANDARD_REQUIRED on )
61
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAG} -DNDEBUG -DUSING_T_SOCKETS " )
62
+ endif ()
63
+
64
+ set (CMAKE_CXX_STANDARD 17)
65
+
66
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /build /lib)
67
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /build /lib)
68
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /build /bin)
69
+
70
+ if ("${CMAKE_CXX_COMPILER_ID} " STREQUAL "GNU" )
71
+ add_library ( ${LIB_NAME} SHARED ${SOURCE_LIB} )
72
+ else ()
73
+ unset (LIB_NAME)
74
+ endif ()
75
+
76
+ add_library ( ${LIB_NAME} SHARED ${SOURCE_LIB} )
77
+ add_executable (${CLIENT_NAME} ${SOURCE_EXE} ${CLIENT_SOURCE_EXE} )
78
+ #add_executable(${CTRL_CLIENT_NAME} ${SOURCE_EXE} ${CTRL_CLIENT_SOURCE_EXE})
79
+ add_executable (${SERVER_NAME} ${SOURCE_EXE} ${SERVER_SOURCE_EXE} )
80
+
81
+ if (MSVC )
82
+ target_link_libraries ( ${CLIENT_NAME} iibmalloc ${LIB_NAME} )
83
+ target_link_libraries ( ${SERVER_NAME} iibmalloc ${LIB_NAME} )
84
+ else ()
85
+ target_link_libraries ( ${CLIENT_NAME} iibmalloc ${LIB_NAME} pthread)
86
+ target_link_libraries ( ${SERVER_NAME} iibmalloc ${LIB_NAME} pthread)
87
+ endif ()
84
88
85
89
86
90
# -----------------------------------------------------------------------------
@@ -111,19 +115,19 @@ function(make_dz_files OUT_VAR LIST1 LIST2)
111
115
endfunction ()
112
116
113
117
114
- # make_dz_files(DZ_CLIENT_FILES SOURCE_EXE CLIENT_SOURCE_EXE)
118
+ make_dz_files(DZ_CLIENT_FILES SOURCE_EXE CLIENT_SOURCE_EXE)
115
119
116
- # add_executable(dz-client.bin ${DZ_CLIENT_FILES})
120
+ add_executable (dz-client.bin ${DZ_CLIENT_FILES} )
117
121
118
- # make_dz_files(DZ_SERVER_FILES SOURCE_EXE SERVER_SOURCE_EXE)
122
+ make_dz_files(DZ_SERVER_FILES SOURCE_EXE SERVER_SOURCE_EXE)
119
123
120
- # add_executable(dz-server.bin ${DZ_SERVER_FILES})
124
+ add_executable (dz-server.bin ${DZ_SERVER_FILES} )
121
125
122
126
123
127
if (MSVC )
124
- # target_link_libraries( dz-client.bin iibmalloc ${LIB_NAME})
125
- # target_link_libraries( dz-server.bin iibmalloc ${LIB_NAME})
128
+ target_link_libraries ( dz-client.bin iibmalloc ${LIB_NAME} )
129
+ target_link_libraries ( dz-server.bin iibmalloc ${LIB_NAME} )
126
130
else ()
127
- # target_link_libraries( dz-client.bin iibmalloc ${LIB_NAME} pthread)
128
- # target_link_libraries( dz-server.bin iibmalloc ${LIB_NAME} pthread)
131
+ target_link_libraries ( dz-client.bin iibmalloc ${LIB_NAME} pthread)
132
+ target_link_libraries ( dz-server.bin iibmalloc ${LIB_NAME} pthread)
129
133
endif ()
0 commit comments