-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
40 lines (32 loc) · 1.16 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
CMAKE_MINIMUM_REQUIRED(VERSION 3.16...3.23)
# C CXX Compiler
#SET(CMAKE_C_COMPILER "/usr/bin/gcc")
#SET(CMAKE_CXX_COMPILER "/usr/bin/g++")
#SET(CMAKE_C_COMPILER "/usr/bin/clang")
#SET(CMAKE_CXX_COMPILER "/usr/bin/clang++")
PROJECT(nets LANGUAGES C CXX)
IF (NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release")
ENDIF ()
IF (${CMAKE_BUILD_TYPE} STREQUAL "Release")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -DNDEBUG")
ELSE ()
OPTION(BUILD_NETS_TESTS "Build nets tests" ON)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0")
ENABLE_TESTING()
ADD_SUBDIRECTORY(nets/third_party/googletest)
SET(GOOGLE_TEST_INC_DIR ${PROJECT_SOURCE_DIR}/nets/third_party/googletest/googletest/include)
ENDIF ()
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -g \
-Wall \
-Wextra \
-Werror \
-Wno-unused-parameter \
-fsized-deallocation")
#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
#set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
ADD_SUBDIRECTORY(nets/base)
ADD_SUBDIRECTORY(nets/net)
MESSAGE(STATUS "======CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}======")
MESSAGE(STATUS "======CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}======")