diff options
author | Oxore <oxore@protonmail.com> | 2023-12-07 00:08:57 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2023-12-07 00:08:57 +0300 |
commit | 0b86520b9ff166cd285d077d3d8192653e7d95e9 (patch) | |
tree | a61177320e53d6c81d55a62d965340459859344f /CMakeLists.txt |
Initial commit
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ec05a85 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: Unlicense + +cmake_minimum_required(VERSION 3.16) + +set(CMAKE_EXPORT_COMPILE_COMMANDS True) + +project(udp-tinkering) + +set(common_debug_flags + -g3 + -fsanitize=address,undefined + -fno-omit-frame-pointer + -O1 + ) +set(compile_flags + $<$<CONFIG:Debug>:${common_debug_flags}> + $<$<COMPILE_LANGUAGE:C>:-Wno-nested-anon-types> + $<$<COMPILE_LANGUAGE:CXX>:-fno-exceptions> + $<$<COMPILE_LANGUAGE:CXX>:-fno-rtti> + $<$<COMPILE_LANGUAGE:CXX>:-Wold-style-cast> + $<$<COMPILE_LANGUAGE:CXX>:-Wsuggest-override> + $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wsuggest-final-types> + $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wsuggest-final-methods> + $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-fstrict-volatile-bitfields> + $<$<COMPILE_LANG_AND_ID:C,GNU>:-fstrict-volatile-bitfields> + $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-Wlogical-op> + $<$<COMPILE_LANG_AND_ID:C,GNU>:-Wlogical-op> + $<$<COMPILE_LANG_AND_ID:CXX,GNU>:-ffile-prefix-map=${CMAKE_SOURCE_DIR}/=> + $<$<COMPILE_LANG_AND_ID:C,GNU>:-ffile-prefix-map=${CMAKE_SOURCE_DIR}/=> + -Wall + -Wextra + -pedantic + -Wcast-align + -Wshadow + ) + +add_executable(server server.c) +target_compile_options(server PRIVATE ${compile_flags}) +target_compile_definitions(server PRIVATE _FORTIFY_SOURCE=2) +target_link_options(server PRIVATE $<$<CONFIG:Debug>:${common_debug_flags}>) +target_include_directories(server PRIVATE .) + +add_executable(client client.c) +target_compile_options(client PRIVATE ${compile_flags}) +target_compile_definitions(client PRIVATE _FORTIFY_SOURCE=2) +target_link_options(client PRIVATE $<$<CONFIG:Debug>:${common_debug_flags}>) +target_include_directories(client PRIVATE .) |