рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдУрдкрди рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рд╡рд┐рдореЛрдЪрди , рдЬреЛ рдСрдЯреЛрдЯреВрд▓реНрд╕ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS рдФрд░ Blender рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред CMake рдХреЛрдб C++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ BSD рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реАрдПрдордХреЗ рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛, рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдПрдХ рд╕рд╛рдзрди, рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ (рдПрдо 4, рдкрд░реНрд▓ рдпрд╛ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдмрдВрдзрди рдирд╣реАрдВ), рдХреИрд╢рд┐рдВрдЧ рд╕рдорд░реНрдерди, рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдирд┐рд░реНрдорд╛рдг рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИред рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЗрдВ, рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкреИрдХреЗрдЬ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕реНрдерд┐рддрд┐ ctest рдФрд░ cpack рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ, рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmake-gui рдЙрдкрдпреЛрдЧрд┐рддрд╛ред
рдореБрдЦреНрдп :
- рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рд╕реА ("рдУрдмреАрдЬреЗрд╕реА") рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
рд╕реА++ ("рдУрдмреАрдЬреЗрд╕реАрдПрдХреНрд╕рдПрдХреНрд╕"), рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ() рдФрд░ рдЗрдиреЗрдмрд▓_рд▓реИрдВрдЧреНрд╡реЗрдЬ() рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж ".m" ".mm" рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЛрдб рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рд╕реА рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡ рд╕реА++ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдЧрд╛, рди рдХрд┐ рд╕реА++, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдерд╛; - рд╕реЛрд▓рд╛рд░рд┐рд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХреНрд▓реИрдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛;
- рдирдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗ рдЧрдП: "cmake -E true|false" рд░рд┐рдЯрд░реНрди рдХреЛрдб 0 рдФрд░ 1 рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП; "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_FIND_USE_PACKAGE_ROOT_PATH", "CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH" рдФрд░ "CMAKE_FIND_USE_PACKAGE_RE G" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдзрд╛рд░ рдЦреЛрдЬ рдкрде ISTRY рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ"; - "file()" рдХрдорд╛рдВрдб рдХреЛ "file(GET_RUNTIME_DEPENDENCIES)" рдореЛрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рд╕реВрдЪреА рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдореЛрдб GetPrerequisites() рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- "рд╕реАрдЯреЗрд╕реНрдЯ(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_LINKER_FLAGS" рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓рд┐рдВрдХрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╝реНрд▓реИрдЧ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ "-Wl, -G" рд╡рд┐рдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрд░реЛрдд: opennet.ru
