Browse Source

add cmake folder property (#1483)

* add folder property for a better looking in visual studio or other property supported IDEs

* fix condition for not found protobuf

* 1. capitalize to lowercase
2. rename visual folder 'test' to 'tests'
tags/20200226
kalcohol nihui 6 years ago
parent
commit
e3d029a7d6
10 changed files with 46 additions and 0 deletions
  1. +4
    -0
      CMakeLists.txt
  2. +3
    -0
      benchmark/CMakeLists.txt
  3. +15
    -0
      examples/CMakeLists.txt
  4. +5
    -0
      src/CMakeLists.txt
  5. +3
    -0
      tests/CMakeLists.txt
  6. +4
    -0
      tools/CMakeLists.txt
  7. +3
    -0
      tools/caffe/CMakeLists.txt
  8. +3
    -0
      tools/mxnet/CMakeLists.txt
  9. +3
    -0
      tools/onnx/CMakeLists.txt
  10. +3
    -0
      tools/quantize/CMakeLists.txt

+ 4
- 0
CMakeLists.txt View File

@@ -50,6 +50,10 @@ endif()

##############################################

# set cmake default folder name
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "cmake")

# add_subdirectory(examples)
add_subdirectory(benchmark)
add_subdirectory(src)


+ 3
- 0
benchmark/CMakeLists.txt View File

@@ -1,2 +1,5 @@
add_executable(benchncnn benchncnn.cpp)
target_link_libraries(benchncnn PRIVATE ncnn)

# add benchncnn to a virtual project group
set_property(TARGET benchncnn PROPERTY FOLDER "benchmark")

+ 15
- 0
examples/CMakeLists.txt View File

@@ -47,3 +47,18 @@ target_link_libraries(simplepose ${NCNN_EXAMPLE_LINK_LIBRARIES})

add_executable(retinaface retinaface.cpp)
target_link_libraries(retinaface ${NCNN_EXAMPLE_LINK_LIBRARIES})


# add all examples to a virtual project group
set_property(TARGET squeezenet PROPERTY FOLDER "examples")
set_property(TARGET fasterrcnn PROPERTY FOLDER "examples")
set_property(TARGET rfcn PROPERTY FOLDER "examples")
set_property(TARGET yolov2 PROPERTY FOLDER "examples")
set_property(TARGET yolov3 PROPERTY FOLDER "examples")
set_property(TARGET mobilenetv2ssdlite PROPERTY FOLDER "examples")
set_property(TARGET mobilenetssd PROPERTY FOLDER "examples")
set_property(TARGET squeezenetssd PROPERTY FOLDER "examples")
set_property(TARGET shufflenetv2 PROPERTY FOLDER "examples")
set_property(TARGET peleenetssd_seg PROPERTY FOLDER "examples")
set_property(TARGET simplepose PROPERTY FOLDER "examples")
set_property(TARGET retinaface PROPERTY FOLDER "examples")

+ 5
- 0
src/CMakeLists.txt View File

@@ -362,3 +362,8 @@ if(NCNN_INSTALL_SDK)
${CMAKE_CURRENT_BINARY_DIR}/ncnnConfig.cmake
DESTINATION lib/cmake/ncnn)
endif()

# add ncnn and generate-spirv to a virtual project group
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(TARGET ncnn PROPERTY FOLDER "libncnn")
set_property(TARGET generate-spirv PROPERTY FOLDER "libncnn")

+ 3
- 0
tests/CMakeLists.txt View File

@@ -7,6 +7,9 @@ macro(ncnn_add_layer_test class)
add_executable(test_${name} test_${name}.cpp)
target_link_libraries(test_${name} PRIVATE ncnn)
add_test(test_${name} test_${name})

# add test to a virtual project group
set_property(TARGET test_${name} PROPERTY FOLDER "tests")
endif()
endmacro()



+ 4
- 0
tools/CMakeLists.txt View File

@@ -19,3 +19,7 @@ target_link_libraries(ncnnoptimize PRIVATE ncnn)
if(NCNN_VULKAN)
target_link_libraries(ncnnoptimize PRIVATE ${Vulkan_LIBRARY})
endif()
# add all tools to a virtual project group
set_property(TARGET ncnn2mem PROPERTY FOLDER "tools")
set_property(TARGET ncnnoptimize PROPERTY FOLDER "tools")

+ 3
- 0
tools/caffe/CMakeLists.txt View File

@@ -10,6 +10,9 @@ if(PROTOBUF_FOUND)
${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(caffe2ncnn PRIVATE -std=c++11)
target_link_libraries(caffe2ncnn PRIVATE ${PROTOBUF_LIBRARIES})

# add all caffe2ncnn tool to a virtual project group
set_property(TARGET caffe2ncnn PROPERTY FOLDER "tools/converter")
else()
message(WARNING "Protobuf not found, caffe model convert tool won't be built")
endif()

+ 3
- 0
tools/mxnet/CMakeLists.txt View File

@@ -1,2 +1,5 @@

add_executable(mxnet2ncnn mxnet2ncnn.cpp)

# add all mxnet2ncnn tool to a virtual project group
set_property(TARGET mxnet2ncnn PROPERTY FOLDER "tools/converter")

+ 3
- 0
tools/onnx/CMakeLists.txt View File

@@ -10,6 +10,9 @@ if(PROTOBUF_FOUND)
${CMAKE_CURRENT_BINARY_DIR})
target_compile_options(onnx2ncnn PRIVATE -std=c++11)
target_link_libraries(onnx2ncnn PRIVATE ${PROTOBUF_LIBRARIES})

# add all onnx2ncnn tool to a virtual project group
set_property(TARGET onnx2ncnn PROPERTY FOLDER "tools/converter")
else()
message(WARNING "Protobuf not found, onnx model convert tool won't be built")
endif()

+ 3
- 0
tools/quantize/CMakeLists.txt View File

@@ -10,3 +10,6 @@ target_compile_definitions(ncnn2table PRIVATE -DOpenCV_VERSION_MAJOR=${OpenCV_VE
add_executable(ncnn2int8 ncnn2int8.cpp)
target_link_libraries(ncnn2int8 PRIVATE ncnn)

# add all ncnn2table and ncnn2int8 tool to a virtual project group
set_property(TARGET ncnn2table PROPERTY FOLDER "tools/optimization")
set_property(TARGET ncnn2int8 PROPERTY FOLDER "tools/optimization")

Loading…
Cancel
Save