release a cross-platform buka ngawangun Aksara generator , nu tindakan minangka alternatif pikeun Autotools sarta dipaké dina proyék kayaning KDE, LLVM / Clang, MySQL, MariaDB, ReactOS na Blender. Kode CMake ditulis dina C ++ sarta disebarkeun dina lisénsi BSD.
CMake kasohor nyadiakeun basa scripting basajan, sarana ngalegaan fungsionalitas ngaliwatan modul, sajumlah minimal kagumantungan (henteu mengikat M4, Perl atanapi Python), rojongan cache, ayana parabot pikeun cross-kompilasi, rojongan pikeun generating ngawangun. file pikeun rupa-rupa ngawangun sistem na compilers, ayana ctest na cpack Utiliti pikeun nangtukeun Aksara test jeung bungkusan wangunan, cmake-gui utiliti pikeun setting interaktif ngawangun parameter.
utama :
- Ditambahkeun dukungan pikeun Objective C ("OBJC") sareng basa Objective
C ++ ("OBJCXX"), nu bisa diaktipkeun via proyék () sarta enable_language () Paréntah, nu satutasna kode dina ".m" ".mm" file bakal disusun salaku Tujuan C jeung Tujuan C ++ kode, teu sakumaha C ++ kode, sakumaha ieu kasus saméméhna; - Ditambahkeun dukungan pikeun kompiler Clang dina platform Solaris;
- Ditambahkeun pilihan garis paréntah anyar: "Cmake -E leres | palsu" pikeun print balik kode 0 jeung 1; "cmake --trace-redirect =" pikeun alihan informasi renik kana file, tinimbang
"stderr"; Paréntah "cmake --loglevel" diganti ngaranna jadi "--log-level" pikeun saluyu jeung ngaran paréntah séjén; - Ditambahkeun "target_precompile_headers ()" paréntah pikeun daptar file lulugu anu dianggo nalika precompilation (ngurangan waktos ngawangun);
- Ditambahkeun harta "UNITY_BUILD", anu ngaktifkeun mode angkatan ngolah file sumber dina generator pikeun nyepetkeun ngawangun;
- Paréntah ditambahkeun "find_file ()", "find_library ()", "find_path ()",
"find_package ()" jeung "find_program ()" pikeun milarian file, perpustakaan, jalur, bungkusan, jeung executables nurutkeun variabel nu nangtukeun jalur pilarian pikeun kategori béda tina file.
Variabel "CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH", "CMAKE_FIND_USE_CMAKE_PATH", "CMAKE_FIND_USE_CMAKE_SYSTEM_PATH", "CMAKE_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FIND_USE_SYSTEM_HENRON", sareng "CMAKE_FIND_USE_PACKAGE_REGISTRY" dianggo pikeun ngadalikeun jalur dasar pikeun milarian; - Paréntah "file ()" geus diropéa pikeun ngawengku "file (GET_RUNTIME_DEPENDENCIES)" mode, nu ngidinan dimeunangkeun recursive tina daptar perpustakaan dipaké nalika dinamis linking hiji file laksana atawa perpustakaan. Mode ieu ngagantikeun paréntah GetPrequisites () ayeuna-deprecated.
- Paréntah "ctest (1)" implements kamampuhan pikeun serialize tés dumasar kana sumberdaya diperlukeun pikeun tiap test;
- Variabel 'CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY' parantos dileungitkeun sareng 'CMAKE_FIND_USE_PACKAGE_REGISTRY' kedah dianggo;
- Rojongan pikeun platform AIX geus ningkat. Lamun ngagunakeun sipat "ENABLE_EXPORTS", sajaba file laksana, ayeuna dihasilkeun hiji file impor pikeun linker, disimpen kalayan extension ".imp". Dina plugins dijieun ku panggero "add_library ()" kalawan pilihan "MODUL", file ieu bisa dipaké nalika linking maké paréntah "target_link_libraries ()". Runtime linking ditumpurkeun sacara standar dina AIX, saprak CMake ayeuna nyadiakeun sagala informasi simbol diperlukeun pikeun linking dina waktos beban. Pikeun ngaktifkeun runtime linking perpustakaan dinamis atawa modul loadable, eksplisit tangtukeun pilihan "-Wl, -G" dina daptar linker ngajalankeun bandéra didefinisikeun ngaliwatan variabel "CMAKE_SHARED_LINKER_FLAGS" jeung "CMAKE_MODULE_LINKER_FLAGS".
sumber: opennet.ru
