Files
ReCaveGame/CMakeLists.txt

76 lines
1.7 KiB
CMake

# 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 20)
# Set for profiling
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0")
# TODO: Enable ALL optimization flags for RELEASE builds.
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -floop-nest-optimize -funroll-loops")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(cmake/CPM.cmake)
CPMAddPackage(
NAME mcolor
URL https://git.redacted.cc/maxine/mcolor/archive/Prerelease-6.1.zip
)
CPMAddPackage(
NAME jlog
URL https://git.redacted.cc/josh/jlog/archive/Prerelease-17.zip
)
CPMAddPackage(
NAME J3ML
URL https://git.redacted.cc/josh/j3ml/archive/3.4.5.zip
)
CPMAddPackage(
NAME ReWindow
URL https://git.redacted.cc/Redacted/ReWindow/archive/Prerelease-32.zip
)
CPMAddPackage(
NAME JGL
URL https://git.redacted.cc/josh/JGL/archive/Prerelease-52.zip
)
CPMAddPackage(
NAME JUI
URL https://git.redacted.cc/josh/ReJUI/archive/Prerelease-5.14.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)