การเปิดตัวระบบบิลด์ CMake 3.15

ไปยังสถานที่ การเปิดตัวตัวสร้างสคริปต์ open build ข้ามแพลตฟอร์ม ซีเมค 3.15ซึ่งทำหน้าที่เป็นทางเลือกแทน Autotools และใช้ในโครงการต่างๆ เช่น KDE, LLVM/Clang, MySQL, MariaDB, ReactOS และ Blender รหัส CMake เขียนด้วยภาษา C++ และเผยแพร่ภายใต้ลิขสิทธิ์ BSD

CMake มีความโดดเด่นในด้านการให้บริการภาษาสคริปต์อย่างง่าย วิธีการขยายฟังก์ชันการทำงานผ่านโมดูล จำนวนการพึ่งพาขั้นต่ำ (ไม่มีการผูกกับ M4, Perl หรือ Python) การสนับสนุนแคช การมีอยู่ของเครื่องมือสำหรับการคอมไพล์ข้าม การสนับสนุนสำหรับการสร้างบิลด์ ไฟล์สำหรับระบบบิลด์และคอมไพเลอร์ที่หลากหลาย, ยูทิลิตี้การแสดงตน ctest และ cpack สำหรับการกำหนดสคริปต์ทดสอบและแพ็คเกจการสร้าง, ยูทิลิตี้ cmake-gui สำหรับการตั้งค่าพารามิเตอร์บิลด์แบบโต้ตอบ

หลัก การปรับปรุง:

  • เพิ่มการรองรับภาษาเริ่มต้นในตัวสร้างสคริปต์ที่ใช้นินจา รวดเร็วพัฒนาโดย Apple;
  • เพิ่มการรองรับตัวแปรของคอมไพเลอร์ Clang สำหรับ Windows ที่สร้างด้วย MSVC ABI แต่ใช้ตัวเลือกบรรทัดคำสั่งสไตล์ GNU
  • เพิ่มตัวแปร CMAKE_MSVC_RUNTIME_LIBRARY และ MSVC_RUNTIME_LIBRARY เพื่อเลือกไลบรารีรันไทม์ที่ใช้โดยคอมไพเลอร์โดยยึดตาม MSVC ABI (MS Visual Studio)
  • สำหรับคอมไพเลอร์เช่น MSVC โดยค่าเริ่มต้น CMAKE__FLAGS จะหยุดแสดงรายการแฟล็กควบคุมคำเตือน เช่น "/W3";
  • เพิ่มนิพจน์ตัวสร้าง "COMPILE_LANG_AND_ID:" เพื่อกำหนดตัวเลือกคอมไพเลอร์สำหรับไฟล์เป้าหมาย โดยใช้ตัวแปร CMAKE__COMPILER_ID และ LANGUAGE สำหรับแต่ละไฟล์โค้ด
  • ในนิพจน์ตัวสร้าง C_COMPILER_ID, CXX_COMPILER_ID
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID และ PLATFORM_ID เพิ่มการสนับสนุนสำหรับการจับคู่ค่าเดียวกับรายการที่มีองค์ประกอบคั่นด้วยเครื่องหมายจุลภาค

  • เพิ่มตัวแปร CMAKE_FIND_PACKAGE_PREFER_CONFIG เพื่อให้การเรียก find_package() จะค้นหาไฟล์การกำหนดค่าของแพ็คเกจก่อน แม้ว่าตัวค้นหาจะพร้อมใช้งานก็ตาม
  • สำหรับไลบรารีอินเทอร์เฟซ มีการเพิ่มการสนับสนุนสำหรับการตั้งค่าคุณสมบัติ PUBLIC_HEADER และ PRIVATE_HEADER ซึ่งสามารถตั้งค่าส่วนหัวได้โดยใช้คำสั่ง install(TARGETS) โดยส่งผ่านอาร์กิวเมนต์ PUBLIC_HEADER และ PRIVATE_HEADER
  • เพิ่มตัวแปร CMAKE_VS_JUST_MY_CODE_DEBUGGING และคุณสมบัติเป้าหมาย VS_JUST_MY_CODE_DEBUGGING เพื่อเปิดใช้งานโหมด "Just My Code" ในดีบักเกอร์ Visual Studio เมื่อคอมไพล์โดยใช้ MSVC cl 19.05 และเวอร์ชันที่ใหม่กว่า
  • โมดูล FindBoost ได้รับการออกแบบใหม่ ซึ่งขณะนี้ทำงานได้แบบองค์รวมมากขึ้นในโหมด Config และโมดูล เมื่อมีโมดูลการค้นหาอื่นๆ
  • คำสั่ง message() รองรับประเภท NOTICE, VERBOSE,
    ดีบักและติดตาม;

  • ขณะนี้คำสั่ง "ส่งออก (PACKAGE)" ไม่ทำอะไรเลยเว้นแต่จะเปิดใช้งานอย่างชัดเจนผ่านตัวแปร CMAKE_EXPORT_PACKAGE_REGISTRY

ที่มา: opennet.ru

เพิ่มความคิดเห็น