51 lines
1.2 KiB
CMake
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 () |