CMake: كيفية استخدام القيادة باش في CMakeLists.txt

StackOverflow https://stackoverflow.com/questions/657850

  •  19-08-2019
  •  | 
  •  

سؤال

وأنا أتساءل كيف يمكن استخدام الأوامر باش في CMakeLists.txt. ما أريده هو أن تحصل على عدد من المعالجات التي تم استردادها باستخدام:

export variable=`getconf _NPROCESSORS_ONLN`

وووضع NB_PROCESSOR إلى متغير باستخدام شيء مثل:

SET (NB_PROCESSOR variable)

وهكذا سؤالي هو كيف يمكنني استخدام الأمر getconf في CMakeLists.txt وكيف يمكنني استخدام نتيجة (المخزنة في المتغير) في قيادة SET CMake؟

هل كانت مفيدة؟

المحلول

وهذا يبدو أن تفعل خدعة، وتقي "مجموعة" أيضا.

execute_process(COMMAND getconf  _NPROCESSORS_ONLN
                OUTPUT_VARIABLE NB_PROCESSOR)

نصائح أخرى

استخدم الأمر 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-يناير / 006051.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top