Files
ReCaveGame/CMakeLists.txt

90 lines
2.0 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 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/Prerelease-6.3.zip
)
CPMAddPackage(
NAME jjx
URL https://git.redacted.cc/josh/jjx/archive/Release-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 jstick
URL https://git.redacted.cc/josh/jstick/archive/Prerelease-3.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)