การเปิดตัวระบบสร้าง CMake 4.0.0

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

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

การเปลี่ยนแปลงที่สำคัญ:

  • ความเข้ากันได้กับ CMake เวอร์ชันก่อน 3.5 ถูกทำลายแล้ว เมื่อลิงก์ไปยังเวอร์ชันที่ไม่รองรับ cmake_minimum_required() และ cmake_policy() จะแสดงข้อผิดพลาด
  • เพิ่มตัวแปรสภาพแวดล้อม "CMAKE_POLICY_VERSION_MINIMUM" เพื่อแทนที่เวอร์ชัน CMake ขั้นต่ำที่มีฟังก์ชันการทำงานที่จำเป็นในการสร้างโครงการ ตัวแปรที่เพิ่มเข้ามาช่วยให้คุณทำได้โดยไม่ต้องเปลี่ยนแปลงการเรียก cmake_minimum_required(VERSION) และ cmake_policy(VERSION) ในโปรเจ็กต์เอง เช่น การกำหนดค่านโยบายเวอร์ชันในโปรเจ็กต์ที่ไม่มีฟีเจอร์ดังกล่าว
  • ในนิพจน์ตัวสร้าง "$ "ได้เพิ่มการดำเนินการ "NATIVE_PATH" เพื่อแปลงเส้นทางไฟล์จากรูปแบบ CMake (ซึ่งใช้ "/" ในการแยกไดเร็กทอรีเสมอ) ไปเป็นเส้นทางระบบ (ระบบที่คล้าย Unix ใช้ "/" และ Windows — «\»).
  • บนแท่น macOS เมื่อใช้ตัวสร้างสคริปต์การสร้างและตัวสร้าง Makefile ที่ใช้ Ninja หากมีคอมไพเลอร์อยู่ในไดเร็กทอรี /usr/bin ระบบจะปล่อยไว้เช่นนั้นโดยไม่เชื่อมโยงกับคอมไพเลอร์ใน Xcode เมื่อทำการสร้างสำหรับแพลตฟอร์ม macOS พฤติกรรมเริ่มต้นของการเลือก SDK และการส่งแฟล็ก "-isysroot" ไปยังคอมไพเลอร์ได้ถูกยกเลิกแล้ว (ขณะนี้คอมไพเลอร์จะเป็นผู้เลือก SDK เอง ไม่ใช่ CMake)
  • เพิ่มคุณสมบัติ LINK_WARNING_AS_ERROR ซึ่งจะทำให้คำเตือนของลิงก์เกอร์ได้รับการปฏิบัติเป็นข้อผิดพลาด เพื่อปิดใช้งานเอฟเฟ็กต์ของคุณสมบัตินี้ จึงได้เพิ่มตัวเลือกบรรทัดคำสั่ง "--link-no-warning-as-error" ลงไป
  • ยูทิลิตี้ cmake มีตัวเลือก "--project-file" สำหรับการระบุชื่ออื่นให้กับไฟล์ CMakeLists.txt
  • ตอนนี้เครื่องกำเนิด CPack มีความสามารถในการสร้างไฟล์ tar ที่ไม่มีการบีบอัดแล้ว
  • คำสั่ง target_link_libraries() และตัวแปร CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* ได้รับการอัปเดตเพื่อรองรับคำนำหน้า "LINKER:"
  • เพิ่มตัวแปรใหม่:
    • CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL เกิดข้อผิดพลาด
    • ซีเอ็มเค_ โหมด_ลิงค์,
    • ซีเอ็มเค_ โหมด_DEVICE_LINK_
    • CMAKE_LINK_WARNING_AS_ERROR มีข้อผิดพลาด
    • CMAKE_MSVC_RUNTIME_CHECKS ตรวจสอบ
    • CMAKE_DEBUGGER_ไดเร็กทอรีการทำงาน
    • CMAKE_XCODE_SCHEME_LLDB_INIT_FILE ไฟล์
    • การกำหนดค่าการทดสอบ CMAKE_XCODE_SCHEME
  • เพิ่มคุณสมบัติใหม่: DEBUGGER_WORKING_DIRECTORY และ VS_SOLUTION_ITEMS (สำหรับการแนบไฟล์ไปที่ .sln สำหรับ Visual Studio)
  • จัดเตรียมการสร้างแอสเซมบลี CMake สำเร็จรูปสำหรับ SunOS สำหรับสถาปัตยกรรม sparc64 และ x86_64

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster