我想知道如何在CMakeLists.txt中使用bash命令。我想要的是使用以下方法获取处理器的数量:
export variable=`getconf _NPROCESSORS_ONLN`
并使用以下内容将NB_PROCESSOR设置为变量:
SET (NB_PROCESSOR variable)
所以我的问题是如何在CMakeLists.txt中使用getconf命令以及如何在CMake SET命令中使用结果(存储在变量中)?
答案 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