From d48d3576dd4646b3e19f87c92ed7f46185041b1a Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Wed, 30 Nov 2022 02:27:38 +0100 Subject: [PATCH] Add installation targets for libraries and headers Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- CMakeLists.txt | 7 ++++- config/Libraries.cmake | 3 ++ config/Sources.cmake | 2 ++ config/ext/FilterHeaders.cmake | 14 ++++++++++ modules/CMakeLists.txt | 1 - modules/algorithm/CMakeLists.txt | 6 ++++ modules/asset_loader/CMakeLists.txt | 6 ++++ modules/camera/CMakeLists.txt | 10 +++++++ modules/effects/CMakeLists.txt | 6 ++++ modules/geometry/CMakeLists.txt | 12 ++++++++ modules/gui/CMakeLists.txt | 8 +++++- modules/material/CMakeLists.txt | 6 ++++ modules/meshlet/CMakeLists.txt | 10 +++++-- modules/scene/CMakeLists.txt | 6 ++++ modules/shader_compiler/CMakeLists.txt | 6 ++++ modules/testing/CMakeLists.txt | 28 ------------------- modules/testing/include/vkcv/testing/Test.hpp | 12 -------- modules/testing/src/vkcv/testing/Test.cpp | 10 ------- modules/upscaling/CMakeLists.txt | 6 ++++ projects/first_triangle/CMakeLists.txt | 13 +++++++-- projects/indirect_dispatch/CMakeLists.txt | 2 -- projects/mesh_shader/CMakeLists.txt | 18 ++++++++++-- projects/particle_simulation/CMakeLists.txt | 2 -- projects/path_tracer/CMakeLists.txt | 16 +++++++++-- projects/ray_tracer/CMakeLists.txt | 14 ++++++++-- projects/sph/CMakeLists.txt | 2 -- 26 files changed, 157 insertions(+), 69 deletions(-) create mode 100644 config/ext/FilterHeaders.cmake delete mode 100644 modules/testing/CMakeLists.txt delete mode 100644 modules/testing/include/vkcv/testing/Test.hpp delete mode 100644 modules/testing/src/vkcv/testing/Test.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 15f953b3..aaeb4203 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,12 +118,14 @@ message(STATUS "Framework:") message(" - Includes: [ ${vkcv_includes} ]") message(" - Libraries: [ ${vkcv_libraries} ]") message(" - Flags: [ ${vkcv_flags} ]") +message(" - Headers: [ ${vkcv_headers} ]") # set the compiler flags for the framework set(CMAKE_CXX_FLAGS ${vkcv_flags}) # create VkCV framework as library using all source files add_library(vkcv ${vkcv_build_attribute} ${vkcv_sources}) +set_target_properties(vkcv PROPERTIES PUBLIC_HEADER "${vkcv_headers}") if(MSVC) #enable multicore compilation on visual studio @@ -171,4 +173,7 @@ if (vkcv_parent_scope) set(vkcv_includes ${vkcv_includes} PARENT_SCOPE) set(vkcv_libraries ${vkcv_libraries} PARENT_SCOPE) -endif() \ No newline at end of file +endif() + +install(TARGETS vkcv PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv) diff --git a/config/Libraries.cmake b/config/Libraries.cmake index f78ca1f5..02f9ebfa 100644 --- a/config/Libraries.cmake +++ b/config/Libraries.cmake @@ -54,3 +54,6 @@ if (vkcv_definitions) endif () list(JOIN vkcv_flags " " vkcv_flags) + +# add custom function to filter headers from source file lists +include(${vkcv_config_ext}/FilterHeaders.cmake) diff --git a/config/Sources.cmake b/config/Sources.cmake index 4cae57fd..b693dea5 100644 --- a/config/Sources.cmake +++ b/config/Sources.cmake @@ -154,6 +154,8 @@ set(vkcv_sources ${vkcv_source}/vkcv/RayTracingPipelineConfig.cpp ) +filter_headers(vkcv_sources ${vkcv_include} vkcv_headers) + if (BUILD_CLANG_FORMAT) message(STATUS "Clang-Format: ON") diff --git a/config/ext/FilterHeaders.cmake b/config/ext/FilterHeaders.cmake new file mode 100644 index 00000000..cf5ae34c --- /dev/null +++ b/config/ext/FilterHeaders.cmake @@ -0,0 +1,14 @@ + +function(filter_headers sources include_path headers) + set(header_list "") + + foreach(src_path IN ITEMS ${${sources}}) + string(FIND ${src_path} ${include_path} src_include_dir) + + if (${src_include_dir} MATCHES 0) + list(APPEND header_list ${src_path}) + endif() + endforeach() + + set(${headers} "${header_list}" PARENT_SCOPE) +endfunction() diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index e5bc34df..fd3c4cfd 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -13,7 +13,6 @@ add_subdirectory(material) add_subdirectory(meshlet) add_subdirectory(scene) add_subdirectory(shader_compiler) -add_subdirectory(testing) add_subdirectory(upscaling) message(STATUS "Modules:") diff --git a/modules/algorithm/CMakeLists.txt b/modules/algorithm/CMakeLists.txt index d4eeaa26..57085a38 100644 --- a/modules/algorithm/CMakeLists.txt +++ b/modules/algorithm/CMakeLists.txt @@ -13,6 +13,8 @@ set(vkcv_algorithm_sources ${vkcv_algorithm_source}/vkcv/algorithm/SinglePassDownsampler.cpp ) +filter_headers(vkcv_algorithm_sources ${vkcv_algorithm_include} vkcv_algorithm_headers) + # Setup some path variables to load libraries set(vkcv_algorithm_lib lib) set(vkcv_algorithm_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_algorithm_lib}) @@ -22,6 +24,7 @@ include(config/FidelityFX_SPD.cmake) # adding source files to the project add_library(vkcv_algorithm ${vkcv_build_attribute} ${vkcv_algorithm_sources}) +set_target_properties(vkcv_algorithm PROPERTIES PUBLIC_HEADER "${vkcv_algorithm_headers}") # link the required libraries to the module target_link_libraries(vkcv_algorithm ${vkcv_algorithm_libraries} vkcv vkcv_shader_compiler vkcv_camera vkcv_asset_loader) @@ -39,3 +42,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_algorithm PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/algorithm) diff --git a/modules/asset_loader/CMakeLists.txt b/modules/asset_loader/CMakeLists.txt index 03e18887..9e6d4005 100644 --- a/modules/asset_loader/CMakeLists.txt +++ b/modules/asset_loader/CMakeLists.txt @@ -14,8 +14,11 @@ set(vkcv_asset_loader_sources ${vkcv_asset_loader_source}/vkcv/asset/asset_loader.cpp ) +filter_headers(vkcv_asset_loader_sources ${vkcv_asset_loader_include} vkcv_asset_loader_headers) + # adding source files to the module add_library(vkcv_asset_loader ${vkcv_build_attribute} ${vkcv_asset_loader_sources}) +set_target_properties(vkcv_asset_loader PROPERTIES PUBLIC_HEADER "${vkcv_asset_loader_headers}") # Setup some path variables to load libraries set(vkcv_asset_loader_lib lib) @@ -48,3 +51,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_asset_loader PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/asset) diff --git a/modules/camera/CMakeLists.txt b/modules/camera/CMakeLists.txt index dbe5c85c..4cf68f9c 100644 --- a/modules/camera/CMakeLists.txt +++ b/modules/camera/CMakeLists.txt @@ -11,17 +11,24 @@ set(vkcv_camera_include ${PROJECT_SOURCE_DIR}/include) set(vkcv_camera_sources ${vkcv_camera_include}/vkcv/camera/Camera.hpp ${vkcv_camera_source}/vkcv/camera/Camera.cpp + ${vkcv_camera_include}/vkcv/camera/CameraManager.hpp ${vkcv_camera_source}/vkcv/camera/CameraManager.cpp + ${vkcv_camera_include}/vkcv/camera/CameraController.hpp + ${vkcv_camera_include}/vkcv/camera/PilotCameraController.hpp ${vkcv_camera_source}/vkcv/camera/PilotCameraController.cpp + ${vkcv_camera_include}/vkcv/camera/TrackballCameraController.hpp ${vkcv_camera_source}/vkcv/camera/TrackballCameraController.cpp ) +filter_headers(vkcv_camera_sources ${vkcv_camera_include} vkcv_camera_headers) + # adding source files to the project add_library(vkcv_camera ${vkcv_build_attribute} ${vkcv_camera_sources}) +set_target_properties(vkcv_camera PROPERTIES PUBLIC_HEADER "${vkcv_camera_headers}") # Setup some path variables to load libraries set(vkcv_camera_lib lib) @@ -51,3 +58,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_camera PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/camera) diff --git a/modules/effects/CMakeLists.txt b/modules/effects/CMakeLists.txt index ea350fd4..94bb819d 100644 --- a/modules/effects/CMakeLists.txt +++ b/modules/effects/CMakeLists.txt @@ -16,6 +16,8 @@ set(vkcv_effects_sources ${vkcv_effects_source}/vkcv/effects/BloomAndFlaresEffect.cpp ) +filter_headers(vkcv_effects_sources ${vkcv_effects_include} vkcv_effects_headers) + set(vkcv_effects_shaders ${PROJECT_SOURCE_DIR}/shaders) include_shader(${vkcv_effects_shaders}/bloomDownsample.comp ${vkcv_effects_include} ${vkcv_effects_source}) @@ -35,6 +37,7 @@ list(APPEND vkcv_effects_sources ${vkcv_effects_include}/lensFlares.comp.hxx) # adding source files to the project add_library(vkcv_effects ${vkcv_build_attribute} ${vkcv_effects_sources}) +set_target_properties(vkcv_effects PROPERTIES PUBLIC_HEADER "${vkcv_effects_headers}") # link the required libraries to the module target_link_libraries(vkcv_effects ${vkcv_effects_libraries} vkcv vkcv_shader_compiler vkcv_camera vkcv_asset_loader) @@ -52,3 +55,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_effects PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/effects) diff --git a/modules/geometry/CMakeLists.txt b/modules/geometry/CMakeLists.txt index ffadd9c6..13613cde 100644 --- a/modules/geometry/CMakeLists.txt +++ b/modules/geometry/CMakeLists.txt @@ -11,22 +11,31 @@ set(vkcv_geometry_include ${PROJECT_SOURCE_DIR}/include) set(vkcv_geometry_sources ${vkcv_geometry_include}/vkcv/geometry/Geometry.hpp ${vkcv_geometry_source}/vkcv/geometry/Geometry.cpp + ${vkcv_geometry_include}/vkcv/geometry/Volume.hpp ${vkcv_geometry_source}/vkcv/geometry/Volume.cpp + ${vkcv_geometry_include}/vkcv/geometry/Circular.hpp ${vkcv_geometry_source}/vkcv/geometry/Circular.cpp + ${vkcv_geometry_include}/vkcv/geometry/Sphere.hpp ${vkcv_geometry_source}/vkcv/geometry/Sphere.cpp + ${vkcv_geometry_include}/vkcv/geometry/Cuboid.hpp ${vkcv_geometry_source}/vkcv/geometry/Cuboid.cpp + ${vkcv_geometry_include}/vkcv/geometry/Cylinder.hpp ${vkcv_geometry_source}/vkcv/geometry/Cylinder.cpp + ${vkcv_geometry_include}/vkcv/geometry/Teapot.hpp ${vkcv_geometry_source}/vkcv/geometry/Teapot.cpp ) +filter_headers(vkcv_geometry_sources ${vkcv_geometry_include} vkcv_geometry_headers) + # adding source files to the project add_library(vkcv_geometry ${vkcv_build_attribute} ${vkcv_geometry_sources}) +set_target_properties(vkcv_geometry PROPERTIES PUBLIC_HEADER "${vkcv_geometry_headers}") # Setup some path variables to load libraries set(vkcv_geometry_lib lib) @@ -56,3 +65,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_geometry PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/geometry) diff --git a/modules/gui/CMakeLists.txt b/modules/gui/CMakeLists.txt index 34d80c93..c442efed 100644 --- a/modules/gui/CMakeLists.txt +++ b/modules/gui/CMakeLists.txt @@ -12,7 +12,9 @@ set(vkcv_gui_include ${PROJECT_SOURCE_DIR}/include) set(vkcv_gui_sources ${vkcv_gui_include}/vkcv/gui/GUI.hpp ${vkcv_gui_source}/vkcv/gui/GUI.cpp - ) +) + +filter_headers(vkcv_gui_sources ${vkcv_gui_include} vkcv_gui_headers) # Setup some path variables to load libraries set(vkcv_gui_lib lib) @@ -23,6 +25,7 @@ include(config/ImGui.cmake) # adding source files to the module add_library(vkcv_gui ${vkcv_build_attribute} ${vkcv_gui_sources} ${vkcv_imgui_sources}) +set_target_properties(vkcv_gui PROPERTIES PUBLIC_HEADER "${vkcv_gui_headers}") # link the required libraries to the module target_link_libraries(vkcv_gui ${vkcv_gui_libraries} vkcv ${vkcv_libraries}) @@ -42,3 +45,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_gui PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/gui) diff --git a/modules/material/CMakeLists.txt b/modules/material/CMakeLists.txt index ee3b36e8..eed59f3f 100644 --- a/modules/material/CMakeLists.txt +++ b/modules/material/CMakeLists.txt @@ -14,8 +14,11 @@ set(vkcv_material_sources ${vkcv_material_source}/vkcv/material/Material.cpp ) +filter_headers(vkcv_material_sources ${vkcv_material_include} vkcv_material_headers) + # adding source files to the module add_library(vkcv_material ${vkcv_build_attribute} ${vkcv_material_sources}) +set_target_properties(vkcv_material PROPERTIES PUBLIC_HEADER "${vkcv_material_headers}") # link the required libraries to the module target_link_libraries(vkcv_material vkcv ${vkcv_libraries}) @@ -33,3 +36,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_material PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/material) diff --git a/modules/meshlet/CMakeLists.txt b/modules/meshlet/CMakeLists.txt index a3b232e5..2dcec4f1 100644 --- a/modules/meshlet/CMakeLists.txt +++ b/modules/meshlet/CMakeLists.txt @@ -17,11 +17,14 @@ set(vkcv_meshlet_sources ${vkcv_meshlet_source}/vkcv/meshlet/Tipsify.cpp ${vkcv_meshlet_include}/vkcv/meshlet/Forsyth.hpp - ${vkcv_meshlet_source}/vkcv/meshlet/Forsyth.cpp) + ${vkcv_meshlet_source}/vkcv/meshlet/Forsyth.cpp +) + +filter_headers(vkcv_meshlet_sources ${vkcv_meshlet_include} vkcv_meshlet_headers) # adding source files to the module add_library(vkcv_meshlet ${vkcv_build_attribute} ${vkcv_meshlet_sources}) - +set_target_properties(vkcv_meshlet PROPERTIES PUBLIC_HEADER "${vkcv_meshlet_headers}") # link the required libraries to the module target_link_libraries(vkcv_meshlet vkcv ${vkcv_libraries}) @@ -42,3 +45,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_meshlet PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/meshlet) diff --git a/modules/scene/CMakeLists.txt b/modules/scene/CMakeLists.txt index 39effd0f..8e1f50e0 100644 --- a/modules/scene/CMakeLists.txt +++ b/modules/scene/CMakeLists.txt @@ -29,8 +29,11 @@ set(vkcv_scene_sources ${vkcv_scene_source}/vkcv/scene/Scene.cpp ) +filter_headers(vkcv_scene_sources ${vkcv_scene_include} vkcv_scene_headers) + # adding source files to the module add_library(vkcv_scene ${vkcv_build_attribute} ${vkcv_scene_sources}) +set_target_properties(vkcv_scene PROPERTIES PUBLIC_HEADER "${vkcv_scene_headers}") # link the required libraries to the module target_link_libraries(vkcv_scene vkcv) @@ -62,3 +65,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_scene PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/scene) diff --git a/modules/shader_compiler/CMakeLists.txt b/modules/shader_compiler/CMakeLists.txt index 63182aaf..1389e1a9 100644 --- a/modules/shader_compiler/CMakeLists.txt +++ b/modules/shader_compiler/CMakeLists.txt @@ -17,8 +17,11 @@ set(vkcv_shader_compiler_sources ${vkcv_shader_compiler_source}/vkcv/shader/GLSLCompiler.cpp ) +filter_headers(vkcv_shader_compiler_sources ${vkcv_shader_compiler_include} vkcv_shader_compiler_headers) + # adding source files to the module add_library(vkcv_shader_compiler ${vkcv_build_attribute} ${vkcv_shader_compiler_sources}) +set_target_properties(vkcv_shader_compiler PROPERTIES PUBLIC_HEADER "${vkcv_shader_compiler_headers}") # Setup some path variables to load libraries set(vkcv_shader_compiler_lib lib) @@ -43,3 +46,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_shader_compiler PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/shader) diff --git a/modules/testing/CMakeLists.txt b/modules/testing/CMakeLists.txt deleted file mode 100644 index 60f5a827..00000000 --- a/modules/testing/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -project(vkcv_testing) - -# setting c++ standard for the project -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -set(vkcv_testing_source ${PROJECT_SOURCE_DIR}/src) -set(vkcv_testing_include ${PROJECT_SOURCE_DIR}/include) - -set(vkcv_testing_sources - ${vkcv_testing_include}/vkcv/testing/Test.hpp - ${vkcv_testing_source}/vkcv/testing/Test.cpp -) - -# adding source files to the project -add_library(vkcv_testing ${vkcv_build_attribute} ${vkcv_testing_sources}) - -# add the own include directory for public headers -target_include_directories(vkcv_testing BEFORE PUBLIC ${vkcv_testing_include}) - -if (vkcv_parent_scope) - list(APPEND vkcv_modules_includes ${vkcv_testing_include}) - list(APPEND vkcv_modules_libraries vkcv_testing) - - set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) - set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) -endif() diff --git a/modules/testing/include/vkcv/testing/Test.hpp b/modules/testing/include/vkcv/testing/Test.hpp deleted file mode 100644 index 7f020ce4..00000000 --- a/modules/testing/include/vkcv/testing/Test.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -namespace vkcv::testing { - - class Test { - private: - public: - void test(int test_value); - - }; - -} diff --git a/modules/testing/src/vkcv/testing/Test.cpp b/modules/testing/src/vkcv/testing/Test.cpp deleted file mode 100644 index 302fe986..00000000 --- a/modules/testing/src/vkcv/testing/Test.cpp +++ /dev/null @@ -1,10 +0,0 @@ - -#include "vkcv/testing/Test.hpp" - -namespace vkcv::testing { - - void Test::test(int test_value) { - // TODO: this is an example - } - -} diff --git a/modules/upscaling/CMakeLists.txt b/modules/upscaling/CMakeLists.txt index 0a5ee06d..825234af 100644 --- a/modules/upscaling/CMakeLists.txt +++ b/modules/upscaling/CMakeLists.txt @@ -25,6 +25,8 @@ set(vkcv_upscaling_sources ${vkcv_upscaling_source}/vkcv/upscaling/FSR2Upscaling.cpp ) +filter_headers(vkcv_upscaling_sources ${vkcv_upscaling_include} vkcv_upscaling_headers) + # Setup some path variables to load libraries set(vkcv_upscaling_lib lib) set(vkcv_upscaling_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_upscaling_lib}) @@ -43,6 +45,7 @@ add_compile_definitions(${vkcv_upscaling_definitions}) # adding source files to the project add_library(vkcv_upscaling ${vkcv_build_attribute} ${vkcv_upscaling_sources}) +set_target_properties(vkcv_upscaling PROPERTIES PUBLIC_HEADER "${vkcv_upscaling_headers}") # link the required libraries to the module target_link_libraries(vkcv_upscaling ${vkcv_upscaling_libraries} vkcv vkcv_shader_compiler) @@ -60,3 +63,6 @@ if (vkcv_parent_scope) set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE) set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE) endif() + +install(TARGETS vkcv_upscaling PUBLIC_HEADER DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/vkcv/upscaling) diff --git a/projects/first_triangle/CMakeLists.txt b/projects/first_triangle/CMakeLists.txt index 66097909..cd6c6529 100644 --- a/projects/first_triangle/CMakeLists.txt +++ b/projects/first_triangle/CMakeLists.txt @@ -9,7 +9,16 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) add_project(first_triangle src/main.cpp) # including headers of dependencies and the VkCV framework -target_include_directories(first_triangle SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_testing_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include} ${vkcv_gui_include}) +target_include_directories(first_triangle SYSTEM BEFORE PRIVATE + ${vkcv_include} + ${vkcv_includes} + ${vkcv_camera_include} + ${vkcv_shader_compiler_include} + ${vkcv_gui_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(first_triangle vkcv vkcv_testing vkcv_camera vkcv_shader_compiler vkcv_gui) +target_link_libraries(first_triangle + vkcv + vkcv_camera + vkcv_shader_compiler + vkcv_gui) diff --git a/projects/indirect_dispatch/CMakeLists.txt b/projects/indirect_dispatch/CMakeLists.txt index ad59d5b2..e9d2689d 100644 --- a/projects/indirect_dispatch/CMakeLists.txt +++ b/projects/indirect_dispatch/CMakeLists.txt @@ -28,7 +28,6 @@ target_sources(indirect_dispatch PRIVATE target_include_directories(indirect_dispatch SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} - ${vkcv_testing_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include} ${vkcv_gui_include} @@ -41,7 +40,6 @@ target_link_libraries(indirect_dispatch ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} - vkcv_testing vkcv_camera vkcv_shader_compiler vkcv_gui diff --git a/projects/mesh_shader/CMakeLists.txt b/projects/mesh_shader/CMakeLists.txt index 04b632ef..6d26631c 100644 --- a/projects/mesh_shader/CMakeLists.txt +++ b/projects/mesh_shader/CMakeLists.txt @@ -9,7 +9,21 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) add_project(mesh_shader src/main.cpp) # including headers of dependencies and the VkCV framework -target_include_directories(mesh_shader SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_testing_include} ${vkcv_camera_include} ${vkcv_meshlet_include} ${vkcv_shader_compiler_include} ${vkcv_gui_include}) +target_include_directories(mesh_shader SYSTEM BEFORE PRIVATE + ${vkcv_include} + ${vkcv_includes} + ${vkcv_camera_include} + ${vkcv_meshlet_include} + ${vkcv_shader_compiler_include} + ${vkcv_gui_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(mesh_shader vkcv ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_testing vkcv_camera vkcv_meshlet vkcv_shader_compiler vkcv_gui) \ No newline at end of file +target_link_libraries(mesh_shader + vkcv + ${vkcv_libraries} + vkcv_asset_loader + ${vkcv_asset_loader_libraries} + vkcv_camera + vkcv_meshlet + vkcv_shader_compiler + vkcv_gui) \ No newline at end of file diff --git a/projects/particle_simulation/CMakeLists.txt b/projects/particle_simulation/CMakeLists.txt index 860bfa15..ed0874fb 100644 --- a/projects/particle_simulation/CMakeLists.txt +++ b/projects/particle_simulation/CMakeLists.txt @@ -17,7 +17,6 @@ add_project(particle_simulation target_include_directories(particle_simulation SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} - ${vkcv_testing_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include} ${vkcv_effects_include}) @@ -25,7 +24,6 @@ target_include_directories(particle_simulation SYSTEM BEFORE PRIVATE # linking with libraries from all dependencies and the VkCV framework target_link_libraries(particle_simulation vkcv - vkcv_testing vkcv_camera vkcv_shader_compiler vkcv_effects) diff --git a/projects/path_tracer/CMakeLists.txt b/projects/path_tracer/CMakeLists.txt index 56f14090..03e5eec5 100644 --- a/projects/path_tracer/CMakeLists.txt +++ b/projects/path_tracer/CMakeLists.txt @@ -9,7 +9,19 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) add_project(path_tracer src/main.cpp) # including headers of dependencies and the VkCV framework -target_include_directories(path_tracer SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_testing_include} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include} ${vkcv_gui_include}) +target_include_directories(path_tracer SYSTEM BEFORE PRIVATE + ${vkcv_include} + ${vkcv_includes} + ${vkcv_asset_loader_include} + ${vkcv_camera_include} + ${vkcv_shader_compiler_include} + ${vkcv_gui_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(path_tracer vkcv vkcv_testing vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_shader_compiler vkcv_gui) +target_link_libraries(path_tracer + vkcv + vkcv_asset_loader + ${vkcv_asset_loader_libraries} + vkcv_camera + vkcv_shader_compiler + vkcv_gui) diff --git a/projects/ray_tracer/CMakeLists.txt b/projects/ray_tracer/CMakeLists.txt index 8c8d80b4..351fae3d 100644 --- a/projects/ray_tracer/CMakeLists.txt +++ b/projects/ray_tracer/CMakeLists.txt @@ -9,7 +9,17 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) add_project(ray_tracer src/main.cpp "src/scene.hpp") # including headers of dependencies and the VkCV framework -target_include_directories(ray_tracer SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_testing_include} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include}) +target_include_directories(ray_tracer SYSTEM BEFORE PRIVATE + ${vkcv_include} + ${vkcv_includes} + ${vkcv_asset_loader_include} + ${vkcv_camera_include} + ${vkcv_shader_compiler_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(ray_tracer vkcv vkcv_testing vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_shader_compiler) +target_link_libraries(ray_tracer + vkcv + vkcv_asset_loader + ${vkcv_asset_loader_libraries} + vkcv_camera + vkcv_shader_compiler) diff --git a/projects/sph/CMakeLists.txt b/projects/sph/CMakeLists.txt index 685004f7..01a6e083 100644 --- a/projects/sph/CMakeLists.txt +++ b/projects/sph/CMakeLists.txt @@ -17,7 +17,6 @@ add_project(sph target_include_directories(sph SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} - ${vkcv_testing_include} ${vkcv_camera_include} ${vkcv_shader_compiler_include} ${vkcv_effects_include}) @@ -25,7 +24,6 @@ target_include_directories(sph SYSTEM BEFORE PRIVATE # linking with libraries from all dependencies and the VkCV framework target_link_libraries(sph vkcv - vkcv_testing vkcv_camera vkcv_shader_compiler vkcv_effects) -- GitLab