CMake:如何在CMakeLists.txt中使用bash命令

时间:2009-03-18 11:24:21

标签: bash cmake

我想知道如何在CMakeLists.txt中使用bash命令。我想要的是使用以下方法获取处理器的数量:

export variable=`getconf _NPROCESSORS_ONLN`

并使用以下内容将NB_PROCESSOR设置为变量:

SET (NB_PROCESSOR variable)

所以我的问题是如何在CMakeLists.txt中使用getconf命令以及如何在CMake SET命令中使用结果(存储在变量中)?

2 个答案:

答案 0 :(得分:19)

这似乎可以解决问题,也可以保存“设置”。

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)

答案 1 :(得分:8)

使用EXEC_PROGRAM命令,然后使用SET的CACHE选项 命令将输出保存为变量,如GTK_PKG_FLAGS。然后用 SET命令添加值。像这样:

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

链接:http://www.cmake.org/pipermail/cmake/2005-January/006051.html