diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 4b576e7119ebe769eafd1b6abb033b4fb02a3ec1..5c131025b0c61eb15d462bfe2e57c4f2ad34ebe8 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -9,3 +9,4 @@ add_subdirectory(scene) add_subdirectory(shader_compiler) add_subdirectory(testing) add_subdirectory(upscaling) +add_subdirectory(compute) diff --git a/modules/compute/CMakeLists.txt b/modules/compute/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..41693447ef6d09fa6cb1d35231a03a14d22a7a48 --- /dev/null +++ b/modules/compute/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.16) +project(vkcv_compute) + +# setting c++ standard for the module +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(vkcv_compute_source ${PROJECT_SOURCE_DIR}/src) +set(vkcv_compute_include ${PROJECT_SOURCE_DIR}/include) + +# Add source and header files to the module +set(vkcv_compute_sources + src/compute.cpp +) + +# adding source files to the module +add_library(vkcv_compute STATIC ${vkcv_compute_sources}) + +# Setup some path variables to load libraries +set(vkcv_compute_lib lib) +set(vkcv_compute_lib_path ${PROJECT_SOURCE_DIR}/${vkcv_compute_lib}) + +# Check and load GLSLANG +include(config/NNEF-Tools.cmake) + +# link the required libraries to the module +target_link_libraries(vkcv_compute ${vkcv_compute_libraries} vkcv) + +# including headers of dependencies and the VkCV framework +target_include_directories(vkcv_compute SYSTEM BEFORE PRIVATE ${vkcv_compute_includes} ${vkcv_include}) + +# add the own include directory for public headers +target_include_directories(vkcv_compute BEFORE PUBLIC ${vkcv_compute_include}) diff --git a/modules/compute/config/NNEF-Tools.cmake b/modules/compute/config/NNEF-Tools.cmake new file mode 100644 index 0000000000000000000000000000000000000000..2525c943f62bfd12143d28afbbb54068b0a4fcc4 --- /dev/null +++ b/modules/compute/config/NNEF-Tools.cmake @@ -0,0 +1,10 @@ + +if (EXISTS "${vkcv_compute_lib_path}/NNEF-Tools") + + add_subdirectory(${vkcv_compute_lib}/NNEF-Tools/parser/cpp) + + list(APPEND vkcv_compute_libraries nnef) + list(APPEND vkcv_compute_includes ${vkcv_compute_lib}/NNEF-Tools/parser/cpp/include) +else() + message(WARNING "NNEF-Tools is required..! Update the submodules!") +endif () diff --git a/modules/compute/src/compute.cpp b/modules/compute/src/compute.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9a5849b09928bca9a739ab275bbc2ebdfbfc2ef5 --- /dev/null +++ b/modules/compute/src/compute.cpp @@ -0,0 +1,3 @@ +// +// Created by Charlotte on 30.08.2021. +// \ No newline at end of file diff --git a/projects/neural_network/CMakeLists.txt b/projects/neural_network/CMakeLists.txt index cd0a140aafd59d9eaa23a8060fca784938a57681..a0ddf6b9ca2ab5e56639ed7ebed7896b8391e4b0 100644 --- a/projects/neural_network/CMakeLists.txt +++ b/projects/neural_network/CMakeLists.txt @@ -22,7 +22,7 @@ if(MSVC) endif() # including headers of dependencies and the VkCV framework -target_include_directories(neural_network SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_scene_include} ${vkcv_shader_compiler_include}) +target_include_directories(neural_network SYSTEM BEFORE PRIVATE ${vkcv_include} ${vkcv_includes} ${vkcv_asset_loader_include} ${vkcv_camera_include} ${vkcv_scene_include} ${vkcv_shader_compiler_include} ${vkcv_compute_include}) # linking with libraries from all dependencies and the VkCV framework -target_link_libraries(neural_network vkcv ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_scene vkcv_shader_compiler) +target_link_libraries(neural_network vkcv ${vkcv_libraries} vkcv_asset_loader ${vkcv_asset_loader_libraries} vkcv_camera vkcv_scene vkcv_shader_compiler vkcv_compute ${vkcv_compute_libraries})