CMake: كيفية استخدام القيادة باش في CMakeLists.txt
سؤال
وأنا أتساءل كيف يمكن استخدام الأوامر باش في 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
لا تنتمي إلى StackOverflow