Skip to content
Snippets Groups Projects
Commit 9a637f09 authored by Tobias Frisch's avatar Tobias Frisch
Browse files

Merge branch '19-weitere-informationen-hinzufugen-zu-readme-md' into 'develop'

Resolve "Weitere Informationen hinzufügen zu Readme.md"

Closes #19

See merge request !102
parents 0668a210 9effd752
No related branches found
No related tags found
1 merge request!102Resolve "Weitere Informationen hinzufügen zu Readme.md"
Pipeline #28051 canceled
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(vkcv) project(vkcv)
# cmake options
option(BUILD_MODULES "Enables building VkCV as shared libraries" ON)
option(BUILD_PROJECTS "Enables building the VkCV projects" ON)
option(BUILD_DOXYGEN_DOCS "Enables building the VkCV doxygen documentation" OFF)
option(BUILD_SHARED "Enables building VkCV as shared libraries" OFF)
if (BUILD_PROJECTS)
set(BUILD_MODULES ${BUILD_PROJECTS})
endif()
message(STATUS "Options:")
message(" - BUILD_MODULES: ${BUILD_MODULES}")
message(" - BUILD_PROJECTS: ${BUILD_PROJECTS}")
message(" - BUILD_DOXYGEN_DOCS: ${BUILD_DOXYGEN_DOCS}")
message(" - BUILD_SHARED: ${BUILD_SHARED}")
if (BUILD_SHARED)
set(vkcv_build_attribute SHARED)
else()
set(vkcv_build_attribute STATIC)
endif()
# settings c++ standard for the framework # settings c++ standard for the framework
set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
...@@ -11,8 +33,8 @@ if (CMAKE_BUILD_TYPE) ...@@ -11,8 +33,8 @@ if (CMAKE_BUILD_TYPE)
set(vkcv_build_${_vkcv_build_type} 1) set(vkcv_build_${_vkcv_build_type} 1)
endif() endif()
message("-- Language: [ C++ " ${CMAKE_CXX_STANDARD} " ]") message(STATUS "Language: [ C++ " ${CMAKE_CXX_STANDARD} " ]")
message("-- Compiler: [ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION} " ]") message(STATUS "Compiler: [ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER_VERSION} " ]")
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0")) if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0.0"))
message(FATAL_ERROR "Upgrade your compiler! GCC 9.0+ is required!") message(FATAL_ERROR "Upgrade your compiler! GCC 9.0+ is required!")
...@@ -55,20 +77,30 @@ list(APPEND vkcv_definitions VULKAN_DEBUG_LABELS) ...@@ -55,20 +77,30 @@ list(APPEND vkcv_definitions VULKAN_DEBUG_LABELS)
# set the compile definitions aka preprocessor variables # set the compile definitions aka preprocessor variables
add_compile_definitions(${vkcv_definitions}) add_compile_definitions(${vkcv_definitions})
# add modules as targets # check if the framework is used from a parent scope
add_subdirectory(modules) get_directory_property(vkcv_parent_scope PARENT_DIRECTORY)
if (BUILD_MODULES)
message(STATUS "Modules: ON")
# add modules as targets
add_subdirectory(modules)
else()
message(STATUS "Modules: OFF")
endif()
# add source files for compilation # add source files for compilation
include(${vkcv_config}/Sources.cmake) include(${vkcv_config}/Sources.cmake)
message("-- Libraries: [ ${vkcv_libraries} ]") message(STATUS "Framework:")
message("-- Flags: [ ${vkcv_flags} ]") message(" - Libraries: [ ${vkcv_libraries} ]")
message(" - Flags: [ ${vkcv_flags} ]")
# set the compiler flags for the framework # set the compiler flags for the framework
set(CMAKE_CXX_FLAGS ${vkcv_flags}) set(CMAKE_CXX_FLAGS ${vkcv_flags})
# create VkCV framework as static library using all source files # create VkCV framework as library using all source files
add_library(vkcv STATIC ${vkcv_sources}) add_library(vkcv ${vkcv_build_attribute} ${vkcv_sources})
if(MSVC) if(MSVC)
#enable multicore compilation on visual studio #enable multicore compilation on visual studio
...@@ -80,20 +112,40 @@ endif() ...@@ -80,20 +112,40 @@ endif()
# add include directories from dependencies as system includes # add include directories from dependencies as system includes
target_include_directories(vkcv SYSTEM BEFORE PRIVATE ${vkcv_includes}) target_include_directories(vkcv SYSTEM BEFORE PRIVATE ${vkcv_includes})
message(STATUS ${vkcv_includes})
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv BEFORE PUBLIC ${vkcv_include}) target_include_directories(vkcv BEFORE PUBLIC ${vkcv_include})
message(STATUS ${vkcv_include})
# link the framework using all required libraries # link the framework using all required libraries
target_link_libraries(vkcv ${vkcv_libraries}) target_link_libraries(vkcv ${vkcv_libraries})
message(STATUS ${vkcv_libraries})
# add sub-projects/examples as targets if (BUILD_PROJECTS)
add_subdirectory(projects) message(STATUS "Projects: ON")
# add sub-projects/examples as targets
add_subdirectory(projects)
else()
message(STATUS "Projects: OFF")
endif()
if (NOT WIN32) if (BUILD_DOXYGEN_DOCS)
message(STATUS "Doxygen: ON")
# add doxygen as target if installed # add doxygen as target if installed
include(${vkcv_config}/ext/Doxygen.cmake) include(${vkcv_config}/ext/Doxygen.cmake)
else()
message(STATUS "Doxygen: OFF")
endif()
if (vkcv_parent_scope)
list(APPEND vkcv_includes ${vkcv_include})
list(APPEND vkcv_libraries vkcv)
if (BUILD_MODULES)
list(APPEND vkcv_includes ${vkcv_modules_includes})
list(APPEND vkcv_libraries ${vkcv_modules_libraries})
endif()
set(vkcv_includes ${vkcv_includes} PARENT_SCOPE)
set(vkcv_libraries ${vkcv_libraries} PARENT_SCOPE)
endif() endif()
\ No newline at end of file
...@@ -16,6 +16,11 @@ More information about Git LFS [here](https://git-lfs.github.com/). ...@@ -16,6 +16,11 @@ More information about Git LFS [here](https://git-lfs.github.com/).
Git submodules are used for libraries. Git submodules are used for libraries.
To download the submodules either clone using `git clone --recurse-submodules` or after `git clone` use `git submodule init` and `git submodule update`. To download the submodules either clone using `git clone --recurse-submodules` or after `git clone` use `git submodule init` and `git submodule update`.
Detailed build process:
- [How to build on Windows](doc/BUILD_WINDOWS.md)
- [How to build on macOS](doc/BUILD_MACOS.md)
- [How to build on Linux](doc/BUILD_LINUX.md)
### Dependencies (required): ### Dependencies (required):
Most dependencies will be used via submodules but for example Vulkan needs to be installed correctly depending on your platform. So please setup your environment properly. Most dependencies will be used via submodules but for example Vulkan needs to be installed correctly depending on your platform. So please setup your environment properly.
......
# check if Doxygen is installed # check if Doxygen is installed
find_package(Doxygen) find_package(Doxygen QUIET)
if (DOXYGEN_FOUND) if (DOXYGEN_FOUND)
# note the option ALL which allows to build the docs together with the application # note the option ALL which allows to build the docs together with the application
......
# How to build on Linux
## How to build with GCC on Archlinux by the way
1. Install required and useful tools to develop:
```
sudo pacman -S cmake gcc vulkan-icd-loader vulkan-headers vulkan-validation-layers vulkan-tools
```
2. Install the matching Vulkan drivers for your system:
```
# For discrete Nvidia GPUs:
sudo pacman -S nvidia
# For integrated or discrete Radeon GPUs:
sudo pacman -S vulkan-radeon
# For integrated or discrete Intel GPUs:
sudo pacman -S vulkan-intel
```
3. Clone the repository and run the following commands:
```
mkdir debug
cd debug
cmake -DCMAKE_C_COMPILER="/usr/bin/gcc" -DCMAKE_CXX_COMPILER="/usr/bin/g++" -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
```
## How to build with Clang on Archlinux by the way
Just follow the steps of "How to build with GCC on Archlinux by the way" but replace `gcc` with `clang` and `g++` with `clang++`.
# How to build on macOS
## How to build with Clang on macOS
1. Install Homebrew
2. Install required tools to compile:
```
brew install cmake llvm libomp
```
3. Download and install latest [vulkansdk-macos-*.dmg](https://vulkan.lunarg.com/doc/sdk/1.2.189.0/mac/getting_started.html) to ~/VulkanSDK
4. Clone the repository and run the following commands:
```
mkdir debug
cd debug
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
cmake -DCMAKE_C_COMPILER="/usr/local/opt/llvm/bin/clang" -DCMAKE_CXX_COMPILER="/usr/local/opt/llvm/bin/clang++" -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
```
\ No newline at end of file
# How to build on Windows
## How to build with MSVC on Windows
1. Download and install [VulkanSDK](https://vulkan.lunarg.com/sdk/home#windows)
2. Download and install [VisualStudio](https://visualstudio.microsoft.com/vs/features/cplusplus/) for MSVC
3. (optional) Download and install [CLion](https://www.jetbrains.com/clion/) as IDE to develop
4. Create and configure a project with the framework and build it
## How to build with GCC on Windows
1. Install [MSYS2](https://www.msys2.org/)
2. Run "MSYS2 MSYS" from Start menu
3. Enter the following commands into MSYS2 console:
```
pacman -Syu
pacman -Su
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
pacman -S cmake
```
4. Add to Path:
```
C:\msys64\usr\bin
C:\msys64\usr\local\bin
C:\msys64\mingw64\bin
C:\msys64\mingw32\bin
```
5. Clone the repository and run the following commands:
```
mkdir debug
cd debug
cmake --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=C:\msys64\mingw64\bin\x86_64-w64-mingw32-gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=C:\msys64\mingw64\bin\x86_64-w64-mingw32-g++.exe .. -G "Unix Makefiles"
cmake --build .
```
\ No newline at end of file
set(vkcv_modules_includes)
set(vkcv_modules_libraries)
# Add new modules here: # Add new modules here:
add_subdirectory(asset_loader) add_subdirectory(asset_loader)
add_subdirectory(camera) add_subdirectory(camera)
...@@ -9,3 +12,12 @@ add_subdirectory(scene) ...@@ -9,3 +12,12 @@ add_subdirectory(scene)
add_subdirectory(shader_compiler) add_subdirectory(shader_compiler)
add_subdirectory(testing) add_subdirectory(testing)
add_subdirectory(upscaling) add_subdirectory(upscaling)
message(STATUS "Modules:")
message(" - Includes: [ ${vkcv_modules_includes} ]")
message(" - Libraries: [ ${vkcv_modules_libraries} ]")
if (vkcv_parent_scope)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -15,7 +15,7 @@ set(vkcv_asset_loader_sources ...@@ -15,7 +15,7 @@ set(vkcv_asset_loader_sources
) )
# adding source files to the module # adding source files to the module
add_library(vkcv_asset_loader STATIC ${vkcv_asset_loader_sources}) add_library(vkcv_asset_loader ${vkcv_build_attribute} ${vkcv_asset_loader_sources})
# Setup some path variables to load libraries # Setup some path variables to load libraries
set(vkcv_asset_loader_lib lib) set(vkcv_asset_loader_lib lib)
...@@ -40,3 +40,11 @@ target_include_directories(vkcv_asset_loader SYSTEM BEFORE PRIVATE ${vkcv_asset_ ...@@ -40,3 +40,11 @@ target_include_directories(vkcv_asset_loader SYSTEM BEFORE PRIVATE ${vkcv_asset_
target_include_directories(vkcv_asset_loader BEFORE PUBLIC ${vkcv_asset_loader_include}) target_include_directories(vkcv_asset_loader BEFORE PUBLIC ${vkcv_asset_loader_include})
target_compile_definitions(vkcv_asset_loader PUBLIC ${vkcv_asset_loader_definitions}) target_compile_definitions(vkcv_asset_loader PUBLIC ${vkcv_asset_loader_definitions})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_asset_loader_include})
list(APPEND vkcv_modules_libraries vkcv_asset_loader)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -21,7 +21,7 @@ set(vkcv_camera_sources ...@@ -21,7 +21,7 @@ set(vkcv_camera_sources
) )
# adding source files to the project # adding source files to the project
add_library(vkcv_camera STATIC ${vkcv_camera_sources}) add_library(vkcv_camera ${vkcv_build_attribute} ${vkcv_camera_sources})
# Setup some path variables to load libraries # Setup some path variables to load libraries
set(vkcv_camera_lib lib) set(vkcv_camera_lib lib)
...@@ -37,3 +37,11 @@ target_include_directories(vkcv_camera SYSTEM BEFORE PRIVATE ${vkcv_camera_inclu ...@@ -37,3 +37,11 @@ target_include_directories(vkcv_camera SYSTEM BEFORE PRIVATE ${vkcv_camera_inclu
target_include_directories(vkcv_camera BEFORE PUBLIC ${vkcv_camera_include} ${vkcv_camera_includes}) target_include_directories(vkcv_camera BEFORE PUBLIC ${vkcv_camera_include} ${vkcv_camera_includes})
target_compile_definitions(vkcv_camera PUBLIC ${vkcv_camera_definitions}) target_compile_definitions(vkcv_camera PUBLIC ${vkcv_camera_definitions})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_camera_include})
list(APPEND vkcv_modules_libraries vkcv_camera)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -22,7 +22,7 @@ set(vkcv_gui_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_gui_lib}) ...@@ -22,7 +22,7 @@ set(vkcv_gui_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_gui_lib})
include(config/ImGui.cmake) include(config/ImGui.cmake)
# adding source files to the module # adding source files to the module
add_library(vkcv_gui STATIC ${vkcv_gui_sources} ${vkcv_imgui_sources}) add_library(vkcv_gui ${vkcv_build_attribute} ${vkcv_gui_sources} ${vkcv_imgui_sources})
# link the required libraries to the module # link the required libraries to the module
target_link_libraries(vkcv_gui ${vkcv_gui_libraries} vkcv ${vkcv_libraries}) target_link_libraries(vkcv_gui ${vkcv_gui_libraries} vkcv ${vkcv_libraries})
...@@ -34,3 +34,11 @@ target_include_directories(vkcv_gui SYSTEM BEFORE PRIVATE ${vkcv_gui_includes} $ ...@@ -34,3 +34,11 @@ target_include_directories(vkcv_gui SYSTEM BEFORE PRIVATE ${vkcv_gui_includes} $
target_include_directories(vkcv_gui BEFORE PUBLIC ${vkcv_gui_include} ${vkcv_imgui_includes}) target_include_directories(vkcv_gui BEFORE PUBLIC ${vkcv_gui_include} ${vkcv_imgui_includes})
target_compile_definitions(vkcv_gui PUBLIC ${vkcv_gui_defines}) target_compile_definitions(vkcv_gui PUBLIC ${vkcv_gui_defines})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_gui_include})
list(APPEND vkcv_modules_libraries vkcv_gui)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -15,7 +15,7 @@ set(vkcv_material_sources ...@@ -15,7 +15,7 @@ set(vkcv_material_sources
) )
# adding source files to the module # adding source files to the module
add_library(vkcv_material STATIC ${vkcv_material_sources}) add_library(vkcv_material ${vkcv_build_attribute} ${vkcv_material_sources})
# link the required libraries to the module # link the required libraries to the module
target_link_libraries(vkcv_material vkcv ${vkcv_libraries}) target_link_libraries(vkcv_material vkcv ${vkcv_libraries})
...@@ -25,3 +25,11 @@ target_include_directories(vkcv_material SYSTEM BEFORE PRIVATE ${vkcv_include} $ ...@@ -25,3 +25,11 @@ target_include_directories(vkcv_material SYSTEM BEFORE PRIVATE ${vkcv_include} $
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv_material BEFORE PUBLIC ${vkcv_material_include}) target_include_directories(vkcv_material BEFORE PUBLIC ${vkcv_material_include})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_material_include})
list(APPEND vkcv_modules_libraries vkcv_material)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -20,7 +20,7 @@ set(vkcv_meshlet_sources ...@@ -20,7 +20,7 @@ set(vkcv_meshlet_sources
${vkcv_meshlet_source}/vkcv/meshlet/Forsyth.cpp) ${vkcv_meshlet_source}/vkcv/meshlet/Forsyth.cpp)
# adding source files to the module # adding source files to the module
add_library(vkcv_meshlet STATIC ${vkcv_meshlet_sources}) add_library(vkcv_meshlet ${vkcv_build_attribute} ${vkcv_meshlet_sources})
# link the required libraries to the module # link the required libraries to the module
...@@ -34,3 +34,11 @@ target_include_directories(vkcv_meshlet BEFORE PUBLIC ${vkcv_meshlet_include}) ...@@ -34,3 +34,11 @@ target_include_directories(vkcv_meshlet BEFORE PUBLIC ${vkcv_meshlet_include})
# linking with libraries from all dependencies and the VkCV framework # linking with libraries from all dependencies and the VkCV framework
target_link_libraries(vkcv_meshlet vkcv vkcv_asset_loader vkcv_camera) target_link_libraries(vkcv_meshlet vkcv vkcv_asset_loader vkcv_camera)
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_meshlet_include})
list(APPEND vkcv_modules_libraries vkcv_meshlet)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -30,7 +30,7 @@ set(vkcv_scene_sources ...@@ -30,7 +30,7 @@ set(vkcv_scene_sources
) )
# adding source files to the module # adding source files to the module
add_library(vkcv_scene STATIC ${vkcv_scene_sources}) add_library(vkcv_scene ${vkcv_build_attribute} ${vkcv_scene_sources})
# link the required libraries to the module # link the required libraries to the module
target_link_libraries(vkcv_scene vkcv) target_link_libraries(vkcv_scene vkcv)
...@@ -43,3 +43,11 @@ target_include_directories(vkcv_scene BEFORE PUBLIC ${vkcv_scene_include}) ...@@ -43,3 +43,11 @@ target_include_directories(vkcv_scene BEFORE PUBLIC ${vkcv_scene_include})
# linking with libraries from all dependencies and the VkCV framework # linking with libraries from all dependencies and the VkCV framework
target_link_libraries(vkcv_scene vkcv vkcv_asset_loader vkcv_material vkcv_camera) target_link_libraries(vkcv_scene vkcv vkcv_asset_loader vkcv_material vkcv_camera)
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_scene_include})
list(APPEND vkcv_modules_libraries vkcv_scene)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -18,7 +18,7 @@ set(vkcv_shader_compiler_sources ...@@ -18,7 +18,7 @@ set(vkcv_shader_compiler_sources
) )
# adding source files to the module # adding source files to the module
add_library(vkcv_shader_compiler STATIC ${vkcv_shader_compiler_sources}) add_library(vkcv_shader_compiler ${vkcv_build_attribute} ${vkcv_shader_compiler_sources})
# Setup some path variables to load libraries # Setup some path variables to load libraries
set(vkcv_shader_compiler_lib lib) set(vkcv_shader_compiler_lib lib)
...@@ -35,3 +35,11 @@ target_include_directories(vkcv_shader_compiler SYSTEM BEFORE PRIVATE ${vkcv_sha ...@@ -35,3 +35,11 @@ target_include_directories(vkcv_shader_compiler SYSTEM BEFORE PRIVATE ${vkcv_sha
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv_shader_compiler BEFORE PUBLIC ${vkcv_shader_compiler_include}) target_include_directories(vkcv_shader_compiler BEFORE PUBLIC ${vkcv_shader_compiler_include})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_shader_compiler_include})
list(APPEND vkcv_modules_libraries vkcv_shader_compiler)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
...@@ -14,8 +14,15 @@ set(vkcv_testing_sources ...@@ -14,8 +14,15 @@ set(vkcv_testing_sources
) )
# adding source files to the project # adding source files to the project
add_library(vkcv_testing STATIC ${vkcv_testing_sources}) add_library(vkcv_testing ${vkcv_build_attribute} ${vkcv_testing_sources})
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv_testing BEFORE PUBLIC ${vkcv_testing_include}) 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()
...@@ -27,7 +27,7 @@ set(vkcv_upscaling_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_upscaling_lib}) ...@@ -27,7 +27,7 @@ set(vkcv_upscaling_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_upscaling_lib})
include(config/FidelityFX_FSR.cmake) include(config/FidelityFX_FSR.cmake)
# adding source files to the project # adding source files to the project
add_library(vkcv_upscaling STATIC ${vkcv_upscaling_sources}) add_library(vkcv_upscaling ${vkcv_build_attribute} ${vkcv_upscaling_sources})
# link the required libraries to the module # link the required libraries to the module
target_link_libraries(vkcv_upscaling ${vkcv_upscaling_libraries} vkcv vkcv_shader_compiler) target_link_libraries(vkcv_upscaling ${vkcv_upscaling_libraries} vkcv vkcv_shader_compiler)
...@@ -37,3 +37,11 @@ target_include_directories(vkcv_upscaling SYSTEM BEFORE PRIVATE ${vkcv_upscaling ...@@ -37,3 +37,11 @@ target_include_directories(vkcv_upscaling SYSTEM BEFORE PRIVATE ${vkcv_upscaling
# add the own include directory for public headers # add the own include directory for public headers
target_include_directories(vkcv_upscaling BEFORE PUBLIC ${vkcv_upscaling_include}) target_include_directories(vkcv_upscaling BEFORE PUBLIC ${vkcv_upscaling_include})
if (vkcv_parent_scope)
list(APPEND vkcv_modules_includes ${vkcv_upscaling_include})
list(APPEND vkcv_modules_libraries vkcv_upscaling)
set(vkcv_modules_includes ${vkcv_modules_includes} PARENT_SCOPE)
set(vkcv_modules_libraries ${vkcv_modules_libraries} PARENT_SCOPE)
endif()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment