75 lines
2.0 KiB
CMake
75 lines
2.0 KiB
CMake
set(GAME_NAME TestGame)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
file(GLOB_RECURSE SRC "*.cpp" "*.c" "*.h" "*.hpp" "*.res" "*.world" "*.conf")
|
|
|
|
add_executable(${GAME_NAME} ${SRC})
|
|
target_link_libraries(${GAME_NAME} PRIVATE Core)
|
|
target_include_directories(${GAME_NAME} PRIVATE
|
|
${PROJECT_SOURCE_DIR}/Core
|
|
${PROJECT_SOURCE_DIR}/FastRTTI
|
|
${PROJECT_SOURCE_DIR}/Delegate
|
|
)
|
|
|
|
if(MSVC)
|
|
set(OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>)
|
|
else()
|
|
set(OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
|
endif()
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${CMAKE_CURRENT_SOURCE_DIR}/main_config.conf
|
|
${OUTPUT_PATH}/main_config.conf
|
|
COMMENT "Copying main config file"
|
|
)
|
|
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Worlds
|
|
${OUTPUT_PATH}/Worlds
|
|
COMMENT "Copying Worlds directory"
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Resources
|
|
${OUTPUT_PATH}/Resources
|
|
COMMENT "Copying Resources directory"
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
PRE_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_PATH}/Shaders
|
|
COMMENT "Creating Shaders directory"
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
POST_BUILD
|
|
COMMAND $ENV{VULKAN_SDK}/Bin/glslc.exe
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Shaders/vertex.vert
|
|
-o ${OUTPUT_PATH}/Shaders/vertex.spv
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Shaders/vertex.vert
|
|
COMMENT "Building vertex shader"
|
|
)
|
|
|
|
add_custom_command(
|
|
TARGET ${GAME_NAME}
|
|
POST_BUILD
|
|
COMMAND $ENV{VULKAN_SDK}/Bin/glslc.exe
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Shaders/fragment.frag
|
|
-o ${OUTPUT_PATH}/Shaders/fragment.spv
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Shaders/fragment.frag
|
|
COMMENT "Building fragment shader"
|
|
)
|