87 votes

Comment lister toutes les options de construction de CMake et leurs valeurs par défaut ?

Comment lister les options de construction par défaut de cmake en ligne de commande ?
J'ai besoin de construire des bibliothèques OpenCV à partir des sources. Avant cela, je veux savoir quels sont les paramètres de construction par défaut.

91voto

Ciro Santilli Points 3341

cmake -LA

Pour énumérer tous les option( y set( CACHE Les variables (en cachette) le font :

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

Echantillon stdout :

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

En -A Le commutateur affiche également des options marqué comme avancé Il est donc probable que vous souhaitiez l'omettre lorsque vous parcourez les options les plus utiles.

Vous pouvez également être intéressé par l'ajout de -H pour afficher plus d'informations d'aide sur chaque option comme mentionné précédemment à : https://stackoverflow.com/a/53075317/895245

cmake -LAH

ccmake ncurses

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

montre :

Testé dans Ubuntu 16.10, cmake 3.5.2.

31voto

Amir Points 49

Vous pouvez faire cmake -LAH aussi. Le site H Le drapeau vous fournira de l'aide pour chaque option.

2voto

tune2fs Points 3253

Je ne connais pas de moyen direct de le faire.

Une façon de contourner ce problème est de modifier le fichier principal CMakeLists.txt et d'imprimer à la fin du fichier les paramètres qui vous intéressent. Les variables où sont stockés les paramètres les plus importants de CMake sont listées comme suit aquí :

J'imprime toujours ces variables à la fin de mon CMakeLists.txt pour voir les paramètres.

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})

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X