CMake: comment utiliser la commande bash dans CMakeLists.txt
Question
Je me demande comment utiliser la commande bash dans CMakeLists.txt. Ce que je veux, c'est obtenir le nombre de processeurs récupérés en utilisant:
export variable=`getconf _NPROCESSORS_ONLN`
et définissez NB_PROCESSOR sur variable à l'aide de quelque chose comme:
SET (NB_PROCESSOR variable)
Ma question est donc la suivante: comment utiliser la commande getconf dans CMakeLists.txt et comment utiliser le résultat (stocké dans une variable) dans la commande CMake SET?
La solution
Cela semble faire l'affaire et enregistre le "jeu" aussi.
execute_process(COMMAND getconf _NPROCESSORS_ONLN
OUTPUT_VARIABLE NB_PROCESSOR)
Autres conseils
Utilisez la commande EXEC_PROGRAM, puis utilisez l’option CACHE du SET. commande pour enregistrer la sortie dans une variable telle que GTK_PKG_FLAGS. Puis utiliser la commande SET pour ajouter la valeur. Quelque chose comme ça:
IF(NOT GTK_PKG_FLAGS)
EXEC_PROGRAM(pkg-config ARGS --cflags --libs gtkmm
OUTPUT_VARIABLE GTK_PKG_FLAGS)
SET(GTK_PKG_FLAGS "${GTK_PKG_FLAGS}" CACHE STRING "GTK Flags")
ENDIF(NOT GTK_PKG_FLAGS)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTK_PKG_FLAGS}")
Liens: http://www.cmake.org/pipermail/ cmake / 2005-janvier / 006051.html