diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index a255ac719..7bcd05904 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.1) # for CMAKE_CXX_STANDARD set(CMAKE_CXX_STANDARD 11) - +macro(ncnn_install_tool toolname) + install(TARGETS ${toolname} RUNTIME DESTINATION bin) +endmacro() if(MSVC) # warning C4018: '<': signed/unsigned mismatch # warning C4244: 'argument': conversion from 'uint64_t' to 'const unsigned int', possible loss of data @@ -36,3 +38,6 @@ add_executable(ncnnmerge ncnnmerge.cpp) set_property(TARGET ncnn2mem PROPERTY FOLDER "tools") set_property(TARGET ncnnoptimize PROPERTY FOLDER "tools") set_property(TARGET ncnnmerge PROPERTY FOLDER "tools") +ncnn_install_tool(ncnn2mem) +ncnn_install_tool(ncnnmerge) +ncnn_install_tool(ncnnoptimize) diff --git a/tools/caffe/CMakeLists.txt b/tools/caffe/CMakeLists.txt index 42c5e4c2e..733ec1a62 100644 --- a/tools/caffe/CMakeLists.txt +++ b/tools/caffe/CMakeLists.txt @@ -12,6 +12,7 @@ if(PROTOBUF_FOUND) # add all caffe2ncnn tool to a virtual project group set_property(TARGET caffe2ncnn PROPERTY FOLDER "tools/converter") + ncnn_install_tool(caffe2ncnn) else() message(WARNING "Protobuf not found, caffe model convert tool won't be built") endif() diff --git a/tools/darknet/CMakeLists.txt b/tools/darknet/CMakeLists.txt index f2269f79d..7475a3726 100644 --- a/tools/darknet/CMakeLists.txt +++ b/tools/darknet/CMakeLists.txt @@ -1,2 +1,3 @@ add_executable(darknet2ncnn darknet2ncnn.cpp) set_property(TARGET darknet2ncnn PROPERTY FOLDER "tools/converter") +ncnn_install_tool(darknet2ncnn) diff --git a/tools/mlir/CMakeLists.txt b/tools/mlir/CMakeLists.txt index cf4e490f0..42a011553 100644 --- a/tools/mlir/CMakeLists.txt +++ b/tools/mlir/CMakeLists.txt @@ -58,3 +58,4 @@ target_link_libraries(mlir2ncnn MLIRStandard MLIRTransforms ) +ncnn_install_tool(mlir2ncnn) diff --git a/tools/mxnet/CMakeLists.txt b/tools/mxnet/CMakeLists.txt index 5f29de31b..20a5de39f 100644 --- a/tools/mxnet/CMakeLists.txt +++ b/tools/mxnet/CMakeLists.txt @@ -3,3 +3,4 @@ add_executable(mxnet2ncnn mxnet2ncnn.cpp) # add all mxnet2ncnn tool to a virtual project group set_property(TARGET mxnet2ncnn PROPERTY FOLDER "tools/converter") +ncnn_install_tool(mxnet2ncnn) diff --git a/tools/onnx/CMakeLists.txt b/tools/onnx/CMakeLists.txt index 780902916..f78c3f8ee 100644 --- a/tools/onnx/CMakeLists.txt +++ b/tools/onnx/CMakeLists.txt @@ -12,6 +12,7 @@ if(PROTOBUF_FOUND) # add all onnx2ncnn tool to a virtual project group set_property(TARGET onnx2ncnn PROPERTY FOLDER "tools/converter") + ncnn_install_tool(onnx2ncnn) else() message(WARNING "Protobuf not found, onnx model convert tool won't be built") endif() diff --git a/tools/quantize/CMakeLists.txt b/tools/quantize/CMakeLists.txt index 596bff061..1aa34bb5a 100644 --- a/tools/quantize/CMakeLists.txt +++ b/tools/quantize/CMakeLists.txt @@ -37,3 +37,5 @@ target_link_libraries(ncnn2int8 PRIVATE ncnn) # add ncnn2int8 tool to a virtual project group set_property(TARGET ncnn2int8 PROPERTY FOLDER "tools/optimization") +ncnn_install_tool(ncnn2table) +ncnn_install_tool(ncnn2int8)