diff options
| author | Nicolas James <Eele1Ephe7uZahRie@tutanota.com> | 2025-02-13 18:00:17 +1100 |
|---|---|---|
| committer | Nicolas James <Eele1Ephe7uZahRie@tutanota.com> | 2025-02-13 18:00:17 +1100 |
| commit | 98cef5e9a772602d42acfcf233838c760424db9a (patch) | |
| tree | 5277fa1d7cc0a69a0f166fcbf10fd320f345f049 /comp3331/server/CMakeLists.txt | |
initial commit
Diffstat (limited to 'comp3331/server/CMakeLists.txt')
| -rw-r--r-- | comp3331/server/CMakeLists.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/comp3331/server/CMakeLists.txt b/comp3331/server/CMakeLists.txt new file mode 100644 index 0000000..60c174e --- /dev/null +++ b/comp3331/server/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.10) + +project(comp3331_assignment) + +set(CMAKE_C_COMPILER "clang") +set(CMAKE_CXX_COMPILER "clang++") + +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin") + +include_directories( + "${PROJECT_SOURCE_DIR}/src" +) + +file (GLOB_RECURSE SHARED_SOURCE_FILES CONFIGURE_DEPENDS + "${PROJECT_SOURCE_DIR}/src/shared/*.cc" +) + +foreach(BINARY_NAME client;server) + file (GLOB_RECURSE BINARY_SOURCE_FILES CONFIGURE_DEPENDS + "${PROJECT_SOURCE_DIR}/src/${BINARY_NAME}/*.cc" + ) + add_executable(${BINARY_NAME} + ${BINARY_SOURCE_FILES} + ${SHARED_SOURCE_FILES} + ) + + target_compile_options(${BINARY_NAME} PRIVATE + -Wall -Wextra -Wshadow -Wdouble-promotion -Wformat=2 -Wundef -fno-common + -Wconversion -Wpedantic -std=c++14 -g3 -O2 + -fstack-protector-strong -fno-omit-frame-pointer -fsanitize=undefined + -Wno-exceptions + ) + target_link_libraries(${BINARY_NAME} PRIVATE + #pthread + ) + target_link_options(${BINARY_NAME} PRIVATE + -fstack-protector-strong -fsanitize=undefined + ) +endforeach() + |
