# Build Options set(CLIENT_BUILD_WITH_STEAM false) #cmake_policy(SET CMP0169 OLD) cmake_minimum_required(VERSION 3.18..3.29) project(ReCaveGame VERSION 1.0 LANGUAGES CXX) if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR) message(FATAL_ERROR "In-source builds are not allowed") endif() set(CMAKE_CXX_STANDARD 23) # Set for profiling if (UNIX) # TODO: Enable ALL optimization flags for RELEASE builds. #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -floop-nest-optimize -funroll-loops") endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") #if(CMAKE_BUILD_TYPE EQUAL "Release") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") #endif() include(cmake/CPM.cmake) CPMAddPackage( NAME mcolor URL https://git.redacted.cc/maxine/mcolor/archive/Release-1.zip ) CPMAddPackage( NAME jjx URL https://git.redacted.cc/josh/jjx/archive/Release-1.1.zip ) CPMAddPackage( NAME jlog URL https://git.redacted.cc/josh/jlog/archive/Prerelease-19.zip ) CPMAddPackage( NAME J3ML URL https://git.redacted.cc/josh/j3ml/archive/3.4.5.zip ) CPMAddPackage( NAME jstick URL https://git.redacted.cc/josh/jstick/archive/Prerelease-4.zip ) CPMAddPackage( NAME ReWindow URL https://git.redacted.cc/Redacted/ReWindow/archive/Prerelease-34.zip ) CPMAddPackage( NAME JGL URL https://git.redacted.cc/josh/JGL/archive/Prerelease-58.zip ) CPMAddPackage( NAME JUI URL https://git.redacted.cc/josh/ReJUI/archive/Prerelease-6.2.zip ) CPMAddPackage( NAME jjx URL https://git.redacted.cc/josh/jjx/archive/Prerelease-2.zip ) CPMAddPackage( NAME Sockets URL https://git.redacted.cc/josh/Sockets/archive/Prerelease-3.1.zip ) add_subdirectory(Core) add_subdirectory(Server) add_subdirectory(Client) add_subdirectory(ClientApp) add_subdirectory(ServerApp)