should prob put this on git sometime
This commit is contained in:
52
lightkeeper/CMakeLists.txt
Normal file
52
lightkeeper/CMakeLists.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
cmake_minimum_required(VERSION 3.21)
|
||||
|
||||
project(lightkeeper LANGUAGES CXX C)
|
||||
|
||||
set(GAME_SRC
|
||||
src/main.cpp
|
||||
|
||||
src/Lightkeeper.cpp
|
||||
)
|
||||
|
||||
add_executable(lightkeeper ${GAME_SRC})
|
||||
|
||||
set_target_properties(lightkeeper PROPERTIES
|
||||
CXX_STANDARD 20
|
||||
CXX_EXTENSIONS OFF
|
||||
)
|
||||
|
||||
#target_add_extra_warnings(lightkeeper)
|
||||
|
||||
target_include_directories(lightkeeper PRIVATE "${CMAKE_CURRENT_LIST_DIR}/include")
|
||||
|
||||
|
||||
target_link_libraries(lightkeeper PRIVATE destrum::destrum)
|
||||
|
||||
#symlink_assets(lightkeeper)
|
||||
|
||||
set(LK_SHADER_SRC "${CMAKE_CURRENT_LIST_DIR}/assets_src/shaders")
|
||||
set(LK_SHADER_OUT "${CMAKE_CURRENT_LIST_DIR}/assets_runtime/shaders")
|
||||
|
||||
include(../cmake/compile_shaders.cmake)
|
||||
compile_glsl_to_spv(lightkeeper "${LK_SHADER_SRC}" "${LK_SHADER_OUT}" LK_SPV)
|
||||
add_dependencies(lightkeeper lightkeeper_shaders)
|
||||
|
||||
set(ENGINE_ASSETS_SRC "${CMAKE_SOURCE_DIR}/destrum/assets_runtime")
|
||||
set(GAME_ASSETS_SRC "${CMAKE_SOURCE_DIR}/lightkeeper/assets_runtime")
|
||||
|
||||
set(ENGINE_ASSETS_DST "$<TARGET_FILE_DIR:lightkeeper>/assets/engine")
|
||||
set(GAME_ASSETS_DST "$<TARGET_FILE_DIR:lightkeeper>/assets/game")
|
||||
|
||||
add_custom_command(TARGET lightkeeper POST_BUILD
|
||||
# ensure parent dir exists
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:lightkeeper>/assets"
|
||||
|
||||
# remove destinations if they already exist (dir OR symlink)
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "${ENGINE_ASSETS_DST}"
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "${GAME_ASSETS_DST}"
|
||||
|
||||
# create symlinks
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink "${ENGINE_ASSETS_SRC}" "${ENGINE_ASSETS_DST}"
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink "${GAME_ASSETS_SRC}" "${GAME_ASSETS_DST}"
|
||||
VERBATIM
|
||||
)
|
||||
Reference in New Issue
Block a user