1
+ #-------------------------------------------------------------------------------------------
2
+ # Copyright (c) 2020, OLogN Technologies AG
3
+ #-------------------------------------------------------------------------------------------
4
+
1
5
cmake_minimum_required (VERSION 3.4)
2
- project (node_cpp)
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
+
3
52
4
- find_package (Threads)
53
+ add_executable (client
54
+ test /samples/client/user_code/NetSocket.cpp
55
+ )
5
56
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)
57
+ target_link_libraries (client nodecpp)
10
58
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 )
59
+ add_executable (server
60
+ test /samples/server/user_code/NetSocket.cpp
61
+ )
15
62
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)
63
+ target_link_libraries (server nodecpp)
19
64
20
- set (SOURCE_LIB ${PROJECT_SOURCE_DIR} /safe_memory/library/gcc_lto_workaround/gcc_lto_workaround.cpp)
65
+ add_executable (ctrl_client
66
+ test /samples/ctrl_client/user_code/NetSocket.cpp
67
+ )
21
68
22
- add_subdirectory ( ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc build )
69
+ target_link_libraries (ctrl_client nodecpp )
23
70
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 )
31
71
32
72
set (DZ_INCLUDES -isystem ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/3rdparty/fmt/include
33
73
-isystem ${PROJECT_SOURCE_DIR} /safe_memory/library/src/iibmalloc/src/foundation/include
@@ -41,50 +81,6 @@ set(DZ_INCLUDES -isystem ${PROJECT_SOURCE_DIR}/safe_memory/library/src/iibmalloc
41
81
set (DZ_DEFINES -DNDEBUG -DUSING_T_SOCKETS)
42
82
43
83
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 ()
88
84
89
85
90
86
# -----------------------------------------------------------------------------
@@ -115,19 +111,19 @@ function(make_dz_files OUT_VAR LIST1 LIST2)
115
111
endfunction ()
116
112
117
113
118
- make_dz_files(DZ_CLIENT_FILES SOURCE_EXE CLIENT_SOURCE_EXE)
114
+ # make_dz_files(DZ_CLIENT_FILES SOURCE_EXE CLIENT_SOURCE_EXE)
119
115
120
- add_executable (dz-client.bin ${DZ_CLIENT_FILES} )
116
+ # add_executable(dz-client.bin ${DZ_CLIENT_FILES})
121
117
122
- make_dz_files(DZ_SERVER_FILES SOURCE_EXE SERVER_SOURCE_EXE)
118
+ # make_dz_files(DZ_SERVER_FILES SOURCE_EXE SERVER_SOURCE_EXE)
123
119
124
- add_executable (dz-server.bin ${DZ_SERVER_FILES} )
120
+ # add_executable(dz-server.bin ${DZ_SERVER_FILES})
125
121
126
122
127
123
if (MSVC )
128
- target_link_libraries ( dz-client.bin iibmalloc ${LIB_NAME} )
129
- target_link_libraries ( dz-server.bin iibmalloc ${LIB_NAME} )
124
+ # target_link_libraries( dz-client.bin iibmalloc ${LIB_NAME})
125
+ # target_link_libraries( dz-server.bin iibmalloc ${LIB_NAME})
130
126
else ()
131
- target_link_libraries ( dz-client.bin iibmalloc ${LIB_NAME} pthread)
132
- target_link_libraries ( dz-server.bin iibmalloc ${LIB_NAME} pthread)
127
+ # target_link_libraries( dz-client.bin iibmalloc ${LIB_NAME} pthread)
128
+ # target_link_libraries( dz-server.bin iibmalloc ${LIB_NAME} pthread)
133
129
endif ()
0 commit comments