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()