Подтвердить что ты не робот

CMake: как использовать команду bash в CMakeLists.txt

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

export variable=`getconf _NPROCESSORS_ONLN`

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

SET (NB_PROCESSOR variable)

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

4b9b3361

Ответ 1

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

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)

Ответ 2

Используйте команду 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