Autotools์ ๋์์ผ๋ก ์๋ํ๊ณ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ๋ฐ Blender์ ๊ฐ์ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐฉํ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ๊ธฐ CMake 3.21์ ๋ฆด๋ฆฌ์ค๊ฐ ๋ฐํ๋์์ต๋๋ค. CMake ์ฝ๋๋ C++๋ก ์์ฑ๋์์ผ๋ฉฐ BSD ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
CMake๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํ ์ธ์ด, ๋ชจ๋์ ํตํด ๊ธฐ๋ฅ์ ํ์ฅํ๋ ์๋จ, ์ต์ํ์ ์ข ์์ฑ(M4, Perl ๋๋ Python์ ๋ํ ๋ฐ์ธ๋ฉ ์์), ์บ์ฑ ์ง์, ๊ต์ฐจ ์ปดํ์ผ์ ์ํ ๋๊ตฌ ์กด์ฌ, ๋น๋ ์์ฑ ์ง์์ ์ ๊ณตํ๋ ๊ฒ์ผ๋ก ์ ๋ช ํฉ๋๋ค. ๊ด๋ฒ์ํ ๋น๋ ์์คํ ๋ฐ ์ปดํ์ผ๋ฌ์ฉ ํ์ผ, ํ ์คํธ ์คํฌ๋ฆฝํธ ์ ์ ๋ฐ ํจํค์ง ๋น๋๋ฅผ ์ํ ctest ๋ฐ cpack ์ ํธ๋ฆฌํฐ, ๋น๋ ๋งค๊ฐ๋ณ์๋ฅผ ๋ํํ์ผ๋ก ์ค์ ํ๊ธฐ ์ํ cmake-gui ์ ํธ๋ฆฌํฐ.
์ฃผ์ ๊ฐ์ ์ฌํญ:
- CUDA ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ ๊ฐ๋ฅํ C++ ์ฝ๋๋ก ๋ ์ฝ๊ฒ ๋ณํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ C++ ์ธ์ด์ ๋ฐฉ์ธ์ธ HIP(์ด์ข ์ปดํจํ ์ธํฐํ์ด์ค ์ด์์ฑ) ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ํ ์ ์ฒด ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Visual Studio 17 Preview 2022์ ๊ธฐ๋ฐ์ผ๋ก Visual Studio 2022 1.1์ฉ ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ๊ธฐ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- Makefile ๋ฐ Ninja ๋น๋ ์คํฌ๋ฆฝํธ ์์ฑ๊ธฐ์๋ ์ ์ ๋ถ์๊ธฐ์ ๊ฐ์ด ๋ง์ปค๋ฅผ ์์ํ๋ ๋ณด์กฐ ์ ํธ๋ฆฌํฐ๋ฅผ ์์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ C_LINKER_LAUNCHER ๋ฐ CXX_LINKER_LAUNCHER ์์ฑ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์์ฑ๊ธฐ๋ ์ง์ ๋ ์ ํธ๋ฆฌํฐ๋ฅผ ์คํํ์ฌ ๋ง์ปค ์ด๋ฆ๊ณผ ํด๋น ์ธ์๋ฅผ ์ ๋ฌํฉ๋๋ค.
- "C_STANDARD" ๋ฐ "OBJC_STANDARD" ์์ฑ๊ณผ ์ปดํ์ผ๋ฌ ๋งค๊ฐ๋ณ์ ์ค์ ๋๊ตฌ(์ปดํ์ผ ๊ธฐ๋ฅ)์ C17 ๋ฐ C23 ์ฌ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- cmake ์ ํธ๋ฆฌํฐ์ โโtoolchainโ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. > ํดํท์ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ํฐ๋ฏธ๋์ ํ์๋๋ ๋ฉ์์ง ์ ํ์ด ๊ฐ์กฐ ํ์๋ฉ๋๋ค.
- Fujitsu ์ปดํ์ผ๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- "foreach()" ๋ช ๋ น์ ๋ฃจํ ๋ณ์๊ฐ ๋ฃจํ ๋ด์์ ๊ฒฉ๋ฆฌ๋๋๋ก ํฉ๋๋ค.
๋ํ X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ๋ฐ GTK์ ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ Meson 0.59 ๋น๋ ์์คํ ์ ์ถ์์ ์ฃผ๋ชฉํ ์ ์์ต๋๋ค. Meson์ ์ฝ๋๋ Python์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. GCC, Clang, Visual Studio ๋ฐ ๊ธฐํ ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ๋ฐ Windows์์ ํฌ๋ก์ค ์ปดํ์ผ ๋ฐ ๋น๋๋ฅผ ์ง์ํฉ๋๋ค. C, C++, Fortran, Java ๋ฐ Rust๋ฅผ ํฌํจํ ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. make ์ ํธ๋ฆฌํฐ ๋์ Ninja ํดํท์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๋ ์ ์ฌ์ฉ๋์ง๋ง xcode ๋ฐ VisualStudio์ ๊ฐ์ ๋ค๋ฅธ ๋ฐฑ์๋๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์คํ ์๋ Meson์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์ฉ ํจํค์ง๋ฅผ ๋น๋ํ ์ ์๋ ๋ค์ค ํ๋ซํผ ์ข ์์ฑ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋ด์ฅ๋์ด ์์ต๋๋ค. ์ด์ ๋ธ๋ฆฌ ๊ท์น์ ๋จ์ํ๋ ๋๋ฉ์ธ๋ณ ์ธ์ด๋ก ์ง์ ๋๋ฉฐ ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ์ฝ๊ณ ์ดํดํ ์ ์์ต๋๋ค(์ ์๊ฐ ์๋ํ ๋๋ก ๊ฐ๋ฐ์๋ ๊ท์น์ ์์ฑํ๋ ๋ฐ ์ต์ํ์ ์๊ฐ์ ์๋นํด์ผ ํฉ๋๋ค). ๋ง์ง๋ง ๋น๋ ์ดํ ๋ณ๊ฒฝ๋ ์ฌํญ๊ณผ ์ง์ ๊ด๋ จ๋ ๊ตฌ์ฑ ์์๋ง ๋ค์ ๋น๋ํ๋ ์ฆ๋ถ ๋น๋ ๋ชจ๋๊ฐ ์ง์๋ฉ๋๋ค. Meson์ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋น๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ฆ, ์๋ก ๋ค๋ฅธ ํ๊ฒฝ์์ ๋น๋๋ฅผ ์คํํ๋ฉด ์์ ํ ๋์ผํ ์คํ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
Meson 0.59์ ์ฃผ์ ํ์ :
- Cython ์ธ์ด(C ์ฝ๋์์ ํตํฉ์ ๋จ์ํํ๊ธฐ ์ํ Python์ ๊ณ ๊ธ ๋ฒ์ )์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- "\" ๋ฌธ์๋ก ๊ณต๋ฐฑ์ ์ด์ค์ผ์ดํํ์ง ์๊ณ pkgconfig์์ ๋ณ์๋ฅผ ์ ์ํ๊ธฐ ์ํด ํค์๋ "unescaped_variables" ๋ฐ "unescaped_uninstalled_variables"๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- wrc(์์ธ ๋ฆฌ์์ค ์ปดํ์ผ๋ฌ)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Visual Studio 2012 ๋ฐ Visual Studio 2013์ฉ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ด์ ๋ชจ๋ ํ์ ํ๋ก์ ํธ ๊ด๋ จ ๋ช ๋ น์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ํ์ ํ๋ก์ ํธ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํฉ๋๋ค. ๋ณ๋ ฌ ํ๋ก์ธ์ค ์๋ "--num-processes" ๋งค๊ฐ๋ณ์์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru