Files

51 lines
1.2 KiB
CMake

set(CORE_NAME Core)
find_package(Vulkan REQUIRED)
file(GLOB_RECURSE SRC "*.cpp" "*.c" "*.h" "*.hpp")
add_library(Core STATIC ${SRC})
target_compile_features(Core PRIVATE cxx_std_17)
target_include_directories(Core PUBLIC
${PROJECT_SOURCE_DIR}/FastRTTI
)
target_include_directories(Core
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/glfw/Include
${PROJECT_SOURCE_DIR}/RenderEngineSDK
${Vulkan_INCLUDE_DIRS}
)
target_link_libraries(Core PRIVATE
${CMAKE_DL_LIBS} # For linux
FastRTTI
glfw
Vulkan::Vulkan
)
file(GLOB_RECURSE HEADERS
"${CMAKE_CURRENT_SOURCE_DIR}/*.h"
"${CMAKE_CURRENT_SOURCE_DIR}/*.hpp"
)
foreach (HEADER ${HEADERS})
file(RELATIVE_PATH R_PATH
"${CMAKE_CURRENT_SOURCE_DIR}"
"${HEADER}"
)
get_filename_component(HEADER_DIR ${R_PATH} DIRECTORY)
add_custom_command(
TARGET Core
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include/${HEADER_DIR}"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${HEADER}"
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include/${R_PATH}"
COMMENT "Copy Core headers"
)
endforeach ()