From 62af384112fc36b1d035931f9231e9c1f5a6f448 Mon Sep 17 00:00:00 2001 From: Leonie Franken <lfranken@uni-koblenz.de> Date: Mon, 30 Aug 2021 12:13:47 +0200 Subject: [PATCH] [#91] added NNEF-Tools Library in Submodule --- modules/CMakeLists.txt | 1 + modules/compute/CMakeLists.txt | 33 +++++++++++++++++++++++++ modules/compute/config/NNEF-Tools.cmake | 10 ++++++++ modules/compute/src/compute.cpp | 3 +++ projects/neural_network/CMakeLists.txt | 4 +-- 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 modules/compute/CMakeLists.txt create mode 100644 modules/compute/config/NNEF-Tools.cmake create mode 100644 modules/compute/src/compute.cpp diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 4b576e71..5c131025 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 00000000..41693447 --- /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 00000000..2525c943 --- /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 00000000..9a5849b0 --- /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 cd0a140a..a0ddf6b9 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}) -- GitLab