22

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

export variable=`getconf _NPROCESSORS_ONLN`

并使用以下方法将 NB_PROCESSOR 设置为变量:

SET (NB_PROCESSOR variable)

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

4

2 回答 2

19

这似乎可以解决问题,并且也可以保存“集合”。

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)
于 2009-03-18T11:52:28.043 回答
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

于 2009-03-30T08:14:59.427 回答