CMake 3.16 ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ ಬಿಡುಗಡೆ

ಪರಿಚಯಿಸಿದರು ಕ್ರಾಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಓಪನ್ ಬಿಲ್ಡ್ ಸ್ಕ್ರಿಪ್ಟ್ ಜನರೇಟರ್ ಬಿಡುಗಡೆ ಸಿಎಮ್ಕೆ 3.16, ಇದು Autotools ಗೆ ಪರ್ಯಾಯವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ಮತ್ತು ಬ್ಲೆಂಡರ್‌ನಂತಹ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. CMake ಕೋಡ್ ಅನ್ನು C++ ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು BSD ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

CMake ಸರಳವಾದ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆ, ಮಾಡ್ಯೂಲ್‌ಗಳ ಮೂಲಕ ಕಾರ್ಯವನ್ನು ವಿಸ್ತರಿಸುವ ಸಾಧನ, ಕನಿಷ್ಠ ಸಂಖ್ಯೆಯ ಅವಲಂಬನೆಗಳು (M4, ಪರ್ಲ್ ಅಥವಾ ಪೈಥಾನ್‌ಗೆ ಯಾವುದೇ ಬೈಂಡಿಂಗ್ ಇಲ್ಲ), ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಬೆಂಬಲ, ಅಡ್ಡ-ಸಂಕಲನಕ್ಕಾಗಿ ಉಪಕರಣಗಳ ಉಪಸ್ಥಿತಿ, ನಿರ್ಮಾಣವನ್ನು ಉತ್ಪಾದಿಸುವ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುವಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿದೆ. ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್‌ಗಳು ಮತ್ತು ಕಂಪೈಲರ್‌ಗಳಿಗಾಗಿ ಫೈಲ್‌ಗಳು, ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಬಿಲ್ಡಿಂಗ್ ಪ್ಯಾಕೇಜುಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಉಪಸ್ಥಿತಿ ctest ಮತ್ತು cpack ಉಪಯುಕ್ತತೆಗಳು, ಸಂವಾದಾತ್ಮಕವಾಗಿ ಬಿಲ್ಡ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು cmake-gui ಯುಟಿಲಿಟಿ.

ಮುಖ್ಯ ಅಭಿವೃದ್ಧಿಗಳು:

  • ಆಬ್ಜೆಕ್ಟಿವ್ ಸಿ ("ಒಬಿಜೆಸಿ") ಮತ್ತು ಆಬ್ಜೆಕ್ಟಿವ್ ಭಾಷೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ
    C++ ("OBJCXX"), ಇದು ಪ್ರಾಜೆಕ್ಟ್() ಮತ್ತು enable_language() ಆಜ್ಞೆಗಳ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು, ಅದರ ನಂತರ ".m" ".mm" ಫೈಲ್‌ಗಳಲ್ಲಿನ ಕೋಡ್ ಆಬ್ಜೆಕ್ಟಿವ್ C ಮತ್ತು ಆಬ್ಜೆಕ್ಟಿವ್ C++ ಕೋಡ್‌ನಂತೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ, ಬದಲಿಗೆ C++, ಇದು ಮೊದಲಿನಂತೆಯೇ;
  • ಸೋಲಾರಿಸ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿ ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಹೊಸ ಕಮಾಂಡ್ ಲೈನ್ ಆಯ್ಕೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ: ರಿಟರ್ನ್ ಕೋಡ್ 0 ಮತ್ತು 1 ಅನ್ನು ಮುದ್ರಿಸಲು “cmake -E true|false”; "cmake --trace-redirect=" ಬದಲಿಗೆ ಟ್ರೇಸ್ ಮಾಹಿತಿಯನ್ನು ಫೈಲ್‌ಗೆ ಮರುನಿರ್ದೇಶಿಸಲು
    "stderr"; "cmake --loglevel" ಆಜ್ಞೆಯನ್ನು "--log-level" ಗೆ ಮರುಹೆಸರಿಸಲಾಗಿದೆ, ಅದನ್ನು ಇತರ ಆಜ್ಞೆಗಳ ಹೆಸರುಗಳೊಂದಿಗೆ ಸಾಲಿನಲ್ಲಿ ತರಲು;
  • ಪ್ರಿಕಂಪೈಲೇಶನ್ ಸಮಯದಲ್ಲಿ ಬಳಸಲಾದ ಹೆಡರ್ ಫೈಲ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಪಟ್ಟಿ ಮಾಡಲು "target_precompile_headers()" ಆಜ್ಞೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ನಿರ್ಮಾಣ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ);
  • "UNITY_BUILD" ಆಸ್ತಿಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಬಿಲ್ಡ್ ಅನ್ನು ವೇಗಗೊಳಿಸಲು ಜನರೇಟರ್‌ಗಳಲ್ಲಿ ಮೂಲ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಬ್ಯಾಚ್ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ;
  • “find_file()”, “find_library()”, “find_path()” ಆಜ್ಞೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ,
    "find_package()" ಮತ್ತು "find_program()" ಫೈಲ್‌ಗಳು, ಲೈಬ್ರರಿಗಳು, ಮಾರ್ಗಗಳು, ಪ್ಯಾಕೇಜುಗಳು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ವೇರಿಯೇಬಲ್‌ಗಳ ಪ್ರಕಾರ ವಿವಿಧ ವರ್ಗಗಳ ಫೈಲ್‌ಗಳಿಗಾಗಿ ಹುಡುಕಾಟ ಮಾರ್ಗಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
    ವೇರಿಯೇಬಲ್‌ಗಳು "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH", "CMAKE_FIND_USE_CMAKE_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FINDKTH_USE_ST_P" EM_ENVIRONMENT_PATH" ಮತ್ತು "CMAKE_FIND_USE_PACKAGE_REG" ಅನ್ನು ಮೂಲ ಹುಡುಕಾಟ ಮಾರ್ಗಗಳನ್ನು ISTRY ನಿಯಂತ್ರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ;
  • "ಫೈಲ್(GET_RUNTIME_DEPENDENCIES)" ಮೋಡ್ ಅನ್ನು "ಫೈಲ್()" ಆಜ್ಞೆಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅಥವಾ ಲೈಬ್ರರಿಯನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಲಿಂಕ್ ಮಾಡುವಾಗ ಬಳಸಿದ ಲೈಬ್ರರಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ಹಿಂಪಡೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಮೋಡ್ GetPrerequisites() ಆಜ್ಞೆಯನ್ನು ಬದಲಿಸಿದೆ, ಅದನ್ನು ಈಗ ಅಸಮ್ಮತಿಸಲಾಗಿದೆ;
  • "ctest(1)" ಆಜ್ಞೆಯು ಪ್ರತಿ ಪರೀಕ್ಷೆಗೆ ಅಗತ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳ ಆಧಾರದ ಮೇಲೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಧಾರಾವಾಹಿ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ;
  • "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" ವೇರಿಯೇಬಲ್ ಅನ್ನು ಅಸಮ್ಮತಿಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಅದನ್ನು "CMAKE_FIND_USE_PACKAGE_REGISTRY" ನಿಂದ ಬದಲಾಯಿಸಬೇಕು;
  • ಸುಧಾರಿತ AIX ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಬೆಂಬಲ. "ENABLE_EXPORTS" ಆಸ್ತಿಯನ್ನು ಬಳಸುವಾಗ, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗೆ ಹೆಚ್ಚುವರಿಯಾಗಿ, ಲಿಂಕರ್‌ಗಾಗಿ ಆಮದು ಫೈಲ್ ಅನ್ನು ಈಗ ರಚಿಸಲಾಗಿದೆ, ".imp" ವಿಸ್ತರಣೆಯೊಂದಿಗೆ ಉಳಿಸಲಾಗಿದೆ. "MODULE" ಆಯ್ಕೆಯೊಂದಿಗೆ "add_library()" ಕರೆ ಮಾಡುವ ಮೂಲಕ ರಚಿಸಲಾದ ಪ್ಲಗಿನ್‌ಗಳಲ್ಲಿ, "target_link_libraries()" ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಲಿಂಕ್ ಮಾಡುವಾಗ ಈ ಫೈಲ್ ಅನ್ನು ಬಳಸಬಹುದು. AIX ನಲ್ಲಿ ರನ್‌ಟೈಮ್ ಲಿಂಕ್ ಮಾಡುವುದನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ CMake ಈಗ ಲೋಡ್ ಸಮಯದಲ್ಲಿ ಲಿಂಕ್ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಸಂಕೇತ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಡೈನಾಮಿಕ್ ಲೈಬ್ರರಿಗಳು ಅಥವಾ ಲೋಡ್ ಮಾಡಬಹುದಾದ ಮಾಡ್ಯೂಲ್‌ಗಳ ರನ್‌ಟೈಮ್ ಲಿಂಕ್ ಅನ್ನು ಬಳಸಲು, "CMAKE_SHARED_LINKER_FLAGS" ಮತ್ತು "CMAKE_MODULE_LINKERFLAGS" ವೇರಿಯೇಬಲ್‌ಗಳ ಮೂಲಕ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಲಿಂಕರ್ ಸ್ಟಾರ್ಟ್‌ಅಪ್ ಫ್ಲ್ಯಾಗ್‌ಗಳ ಪಟ್ಟಿಗಳಲ್ಲಿ "-Wl, -G" ಆಯ್ಕೆಗಳನ್ನು ನೀವು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.

ಮೂಲ: opennet.ru

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster