cmake_minimum_required(VERSION 3.18) project(root) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(IS_DEBUG CMAKE_BUILD_TYPE STREQUAL "Debug") add_subdirectory(src/shared) add_subdirectory(src/server) if (NOT NO_CLIENT) add_subdirectory(src/client) endif() add_subdirectory(src/dedicated) # TODO lots of duplicated target_compile_options, add a global var to fix this