2022-11-07 20:15:26 +00:00
|
|
|
cmake_minimum_required(VERSION 3.12)
|
|
|
|
|
|
|
|
# options
|
|
|
|
|
|
|
|
project(enginetest LANGUAGES CXX
|
|
|
|
VERSION "0.1.0"
|
|
|
|
)
|
|
|
|
|
|
|
|
set(GAME_SOURCES
|
|
|
|
|
|
|
|
src/main.cpp
|
|
|
|
src/game.cpp
|
|
|
|
src/game.hpp
|
2023-01-05 13:21:33 +00:00
|
|
|
src/camera_controller.cpp
|
|
|
|
src/camera_controller.hpp
|
2022-11-07 20:15:26 +00:00
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
if (WIN32)
|
|
|
|
add_executable(${PROJECT_NAME} WIN32 ${GAME_SOURCES} "game.rc")
|
|
|
|
else()
|
|
|
|
add_executable(${PROJECT_NAME} ${GAME_SOURCES})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# compiling options:
|
|
|
|
|
|
|
|
|
|
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20)
|
|
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
if (MSVC)
|
|
|
|
target_compile_options(${PROJECT_NAME} PRIVATE /W3)
|
|
|
|
target_compile_options(${PROJECT_NAME} PRIVATE /MP)
|
2023-01-05 13:21:33 +00:00
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
|
|
|
|
else()
|
|
|
|
target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror -pedantic)
|
2022-11-07 20:15:26 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE src)
|
|
|
|
|
|
|
|
# Pass some project information into the source code
|
|
|
|
configure_file(config.h.in config.h)
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE engine)
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ../include)
|
|
|
|
|
|
|
|
add_custom_command(
|
|
|
|
TARGET ${PROJECT_NAME} POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
2022-11-30 11:59:41 +00:00
|
|
|
${PROJECT_SOURCE_DIR}/res $<TARGET_FILE_DIR:enginetest>/res)
|
|
|
|
|
|
|
|
get_target_property(ENGINE_SOURCE_DIR engine SOURCE_DIR)
|
|
|
|
add_custom_command(
|
|
|
|
TARGET ${PROJECT_NAME} POST_BUILD
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E create_symlink
|
2023-01-05 13:21:33 +00:00
|
|
|
${ENGINE_SOURCE_DIR}/res/engine $<TARGET_FILE_DIR:enginetest>/res/engine)
|