54 lines
1.6 KiB
CMake
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()
|