file(GLOB_RECURSE SRC "*.cpp" "*.c" "*.hpp" "*.h") add_library(UwURenderEngine ${SRC}) target_include_directories(UwURenderEngine PUBLIC ${PROJECT_SOURCE_DIR}/RenderEngineSDK) target_link_libraries(UwURenderEngine PUBLIC RenderEngineSDK) target_compile_features(UwURenderEngine PRIVATE cxx_std_17) 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 UwURenderEngine 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 UwURenderEngine headers" ) endforeach ()