Files
skevity/CMakeLists.txt

54 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.30.0)
project(sshGameServer VERSION 0.1)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_COLOR_MAKEFILE ON)
set(CMAKE_COLOR_DIAGNOSTICS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_subdirectory(external)
add_subdirectory(source)
execute_process(COMMAND ${CMAKE_COMMAND} -E echo "Building for docker")
if(DOCKER)
target_compile_definitions(sshGameServer PUBLIC
DOCKER
)
find_program(podman_exe podman)
if(NOT podman_exe)
message(FATIAL_ERROR "Cant find podman")
endif()
add_custom_target( # This will build the docker container
docker
COMMAND bash ${CMAKE_SOURCE_DIR}/dockerCompile.sh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
add_custom_target( # This will deploy that docker image on the server
deploy
COMMAND bash ${CMAKE_SOURCE_DIR}/dockerCompile.sh --exp --dep
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
USES_TERMINAL
)
add_custom_target( # This will export the docker image to the server
export
COMMAND bash ${CMAKE_SOURCE_DIR}/dockerCompile.sh --exp
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
USES_TERMINAL
)
add_custom_target( # This will build the root image
root
COMMAND bash ${CMAKE_SOURCE_DIR}/dockerCompile.sh --env
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
USES_TERMINAL
)
add_custom_target(
run
COMMAND bash ${CMAKE_SOURCE_DIR}/dockerCompile.sh --run
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
USES_TERMINAL
)
endif()