CMake: как использовать команду bash в CMakeLists.txt - PullRequest
22 голосов
/ 18 марта 2009

Мне интересно, как я могу использовать команду bash в CMakeLists.txt. То, что я хочу, чтобы получить номер процессора, полученного с помощью:

export variable=`getconf _NPROCESSORS_ONLN`

и установите переменную NB_PROCESSOR, используя что-то вроде:

SET (NB_PROCESSOR variable)

Итак, мой вопрос: как я могу использовать команду getconf в CMakeLists.txt и как я могу использовать результат (сохраненный в переменной) в команде CMake SET?

Ответы [ 2 ]

19 голосов
/ 18 марта 2009

Это, кажется, делает трюк, и сохраняет "набор" тоже.

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)
8 голосов
/ 30 марта 2009

Используйте команду EXEC_PROGRAM, а затем используйте опцию CACHE в SET команда для сохранения вывода в переменную, такую ​​как 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...