83

如何在命令行中列出 cmake 默认构建选项?
我需要从源代码构建 OpenCV 库。在此之前,我想知道默认的构建设置是什么。

4

3 回答 3

87

cmake -LA

要列出所有option(set( CACHE(缓存的)变量,请执行以下操作:

mkdir build
cd build
cmake ..
cmake -LA | awk '{if(f)print} /-- Cache values/{f=1}'

示例标准输出:

AUTOGEMM_ARCHITECTURE:STRING=Hawaii
BLAS_DEBUG_TOOLS:BOOL=OFF
BLAS_DUMP_CLBLAS_KERNELS:BOOL=OFF
BLAS_KEEP_KERNEL_SOURCES:BOOL=ON
BLAS_PRINT_BUILD_ERRORS:BOOL=O

-A开关还显示标记为高级的选项,因此您可能希望在随意浏览最有用的选项时忽略它。

您可能还有兴趣添加-H以显示有关每个选项的更多帮助信息,如前所述:https ://stackoverflow.com/a/53075317/895245

cmake -LAH

ccmake诅咒

sudo apt-get install cmake-curses-gui
ccmake ..

显示:

在 Ubuntu 16.10、cmake 3.5.2 中测试。

于 2017-03-22T07:33:22.377 回答
30

你也可以cmake -LAH。该H标志将为您提供每个选项的帮助。

于 2018-10-31T02:11:45.563 回答
2

我不知道直接的方法。

解决此问题的一种方法是编辑主 CMakeLists.txt 并在文件末尾打印您感兴趣的设置。此处列出了存储最重要的 cmake 设置的变量:

我总是在 CMakeLists.txt 的末尾打印这些变量以查看设置。

MESSAGE(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
MESSAGE(STATUS "Library Type: " ${LIB_TYPE})
MESSAGE(STATUS "Compiler flags:" ${CMAKE_CXX_COMPILE_FLAGS})
MESSAGE(STATUS "Compiler cxx debug flags:" ${CMAKE_CXX_FLAGS_DEBUG})
MESSAGE(STATUS "Compiler cxx release flags:" ${CMAKE_CXX_FLAGS_RELEASE})
MESSAGE(STATUS "Compiler cxx min size flags:" ${CMAKE_CXX_FLAGS_MINSIZEREL})
MESSAGE(STATUS "Compiler cxx flags:" ${CMAKE_CXX_FLAGS})
于 2013-05-31T08:55:39.907 回答