leezu commented on a change in pull request #17018: Replace mxnet_option macro
with standard CMAKE_DEPENDENT_OPTION
URL: https://github.com/apache/incubator-mxnet/pull/17018#discussion_r355887064
##########
File path: CMakeLists.txt
##########
@@ -18,39 +18,41 @@ endif()
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Utils.cmake)
+include(CMakeDependentOption)
#Some things have order. This must be put in front alone
-mxnet_option(USE_CUDA "Build with CUDA support" ON)
-mxnet_option(USE_OLDCMAKECUDA "Build with old cmake cuda" OFF)
-mxnet_option(USE_NCCL "Use NVidia NCCL with CUDA" OFF)
-mxnet_option(USE_OPENCV "Build with OpenCV support" ON)
-mxnet_option(USE_OPENMP "Build with Openmp support" ON)
-mxnet_option(USE_CUDNN "Build with cudnn support" ON) # one could
set CUDNN_ROOT for search path
-mxnet_option(USE_SSE "Build with x86 SSE instruction support" ON
IF NOT ARM)
-mxnet_option(USE_F16C "Build with x86 F16C instruction support"
ON) # autodetects support if ON
-mxnet_option(USE_LAPACK "Build with lapack support" ON)
-mxnet_option(USE_MKL_IF_AVAILABLE "Use MKL if found" ON)
-mxnet_option(USE_MKLDNN "Build with MKL-DNN support" ON IF
USE_MKL_IF_AVAILABLE AND (NOT APPLE) AND (NOT MSVC) AND
(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") AND (NOT CMAKE_CROSSCOMPILING))
-mxnet_option(USE_OPERATOR_TUNING "Enable auto-tuning of operators" ON IF NOT
MSVC)
-mxnet_option(USE_GPERFTOOLS "Build with GPerfTools support" OFF)
-mxnet_option(USE_JEMALLOC "Build with Jemalloc support" ON)
-mxnet_option(USE_DIST_KVSTORE "Build with DIST_KVSTORE support" OFF)
-mxnet_option(USE_PLUGINS_WARPCTC "Use WARPCTC Plugins" OFF)
-mxnet_option(USE_PLUGIN_CAFFE "Use Caffe Plugin" OFF)
-mxnet_option(USE_CPP_PACKAGE "Build C++ Package" OFF)
-mxnet_option(USE_MXNET_LIB_NAMING "Use MXNet library naming conventions." ON)
-mxnet_option(USE_GPROF "Compile with gprof (profiling) flag" OFF)
-mxnet_option(USE_CXX14_IF_AVAILABLE "Build with C++14 if the compiler supports
it" OFF)
-mxnet_option(USE_VTUNE "Enable use of Intel Amplifier XE (VTune)"
OFF) # one could set VTUNE_ROOT for search path
-mxnet_option(USE_TVM_OP "Enable use of TVM operator build system."
OFF)
-mxnet_option(ENABLE_CUDA_RTC "Build with CUDA runtime compilation
support" ON)
-mxnet_option(BUILD_CPP_EXAMPLES "Build cpp examples" ON)
-mxnet_option(INSTALL_EXAMPLES "Install the example source files." OFF)
-mxnet_option(USE_SIGNAL_HANDLER "Print stack traces on segfaults." ON)
-mxnet_option(USE_TENSORRT "Enable inference optimization with
TensorRT." OFF)
-mxnet_option(USE_ASAN "Enable Clang/GCC ASAN sanitizers." OFF)
-mxnet_option(ENABLE_TESTCOVERAGE "Enable compilation with test coverage
metric output" OFF)
-mxnet_option(USE_INT64_TENSOR_SIZE "Use int64_t to represent the total number
of elements in a tensor" OFF)
-mxnet_option(BUILD_CYTHON_MODULES "Build cython modules." OFF)
+option(USE_CUDA "Build with CUDA support" ON)
+option(USE_OLDCMAKECUDA "Build with old cmake cuda" OFF)
+option(USE_NCCL "Use NVidia NCCL with CUDA" OFF)
+option(USE_OPENCV "Build with OpenCV support" ON)
+option(USE_OPENMP "Build with Openmp support" ON)
+cmake_dependent_option(USE_CUDNN "Build with cudnn support" ON "USE_CUDA" OFF)
# one could set CUDNN_ROOT for search path
+cmake_dependent_option(USE_SSE "Build with x86 SSE instruction support" ON
"NOT ARM" OFF)
+option(USE_F16C "Build with x86 F16C instruction support" ON) # autodetects
support if ON
+option(USE_LAPACK "Build with lapack support" ON)
+option(USE_MKL_IF_AVAILABLE "Use MKL if found" ON)
+cmake_dependent_option(USE_MKLDNN "Build with MKL-DNN support" ON
+ "USE_MKL_IF_AVAILABLE;NOT APPLE;NOT MSVC;CMAKE_HOST_SYSTEM_PROCESSOR
STREQUAL \"x86_64\";NOT CMAKE_CROSSCOMPILING" OFF)
Review comment:
If it is supported, why does it have a different default value? Let's use
the same default value (`ON`) then on all supported platforms? If it is not
supported, then hiding is correct.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services