diff options
Diffstat (limited to 'compute/ncnn/CMakeLists.txt')
-rw-r--r-- | compute/ncnn/CMakeLists.txt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/compute/ncnn/CMakeLists.txt b/compute/ncnn/CMakeLists.txt new file mode 100644 index 000000000..a8f50120f --- /dev/null +++ b/compute/ncnn/CMakeLists.txt @@ -0,0 +1,34 @@ +if(NOT BUILD_SRCN_KERNEL) + message(STATUS "SRCN kernel library build: disabled") + return() +else(NOT BUILD_SRCN_KERNEL) + message(STATUS "SRCN kernel library build: OK") +endif() + +# Find and use pre-installed OpenMP +find_package(OpenMP QUIET) +if(NOT OpenMP_FOUND) + return() +endif(NOT OpenMP_FOUND) + +file(GLOB_RECURSE SOURCES src/*.cc) +file(GLOB_RECURSE TESTS src/*_test.cc) +list(REMOVE_ITEM SOURCES ${TESTS}) + +add_library(nnfw_lib_srcn STATIC ${SOURCES}) +target_include_directories(nnfw_lib_srcn PUBLIC include) +if(NOT TARGET OpenMP::OpenMP_CXX) + find_package(Threads REQUIRED) + add_library(OpenMP::OpenMP_CXX IMPORTED INTERFACE) + set_property(TARGET OpenMP::OpenMP_CXX + PROPERTY INTERFACE_COMPILE_OPTIONS ${OpenMP_CXX_FLAGS}) + # Only works if the same flag is passed to the linker; use CMake 3.9+ otherwise (Intel, AppleClang) + set_property(TARGET OpenMP::OpenMP_CXX + PROPERTY INTERFACE_LINK_LIBRARIES ${OpenMP_CXX_FLAGS} Threads::Threads) + +endif() +target_link_libraries(nnfw_lib_srcn PRIVATE OpenMP::OpenMP_CXX) +target_link_libraries(nnfw_lib_srcn PRIVATE nnfw_common) +target_compile_definitions(nnfw_lib_srcn PRIVATE TIZEN) # ANDROID or TIZEN +#target_compile_definitions(nnfw_lib_srcn PRIVATE NCNN) # Enable if ready +set_target_properties(nnfw_lib_srcn PROPERTIES POSITION_INDEPENDENT_CODE ON) |