CMake 3.23 ๋นŒ๋“œ ์‹œ์Šคํ…œ ์ถœ์‹œ

Autotools์˜ ๋Œ€์•ˆ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ๋ฐ Blender์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐฉํ˜• ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ๊ธฐ CMake 3.23์˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CMake ์ฝ”๋“œ๋Š” C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

CMake๋Š” ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด, ๋ชจ๋“ˆ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ, ์บ์‹ฑ ์ง€์›, ํฌ๋กœ์Šค ์ปดํŒŒ์ผ์„ ์œ„ํ•œ ๋„๊ตฌ, ๋‹ค์–‘ํ•œ ๋นŒ๋“œ ์‹œ์Šคํ…œ ๋ฐ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์œ„ํ•œ ๋นŒ๋“œ ํŒŒ์ผ ์ƒ์„ฑ ์ง€์›, ctest ๋ฐ cpack์˜ ์กด์žฌ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ  ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๋นŒ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋Œ€ํ™”ํ˜• ๊ตฌ์„ฑ์„ ์œ„ํ•œ cmake ์œ ํ‹ธ๋ฆฌํ‹ฐ -gui์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ:

  • ์„ ํƒ์ ์ธ "include" ํ•„๋“œ๊ฐ€ "cmake-presets" ํŒŒ์ผ์— ์ถ”๊ฐ€๋˜์–ด ๋‹ค๋ฅธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Visual Studio 2019 ๋ฐ ์ตœ์‹  ๋ฒ„์ „์šฉ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ๊ธฐ๋Š” ์ด์ œ C# ํ”„๋กœ์ ํŠธ์šฉ .NET SDK csproj ํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • LLVM์„ ๊ธฐ๋ฐ˜์œผ๋กœ IBM Open XL C/C++ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” IBMClang ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • MCST LCC ์ปดํŒŒ์ผ๋Ÿฌ(Elbrus ๋ฐ SPARC(MCST-R) ํ”„๋กœ์„ธ์„œ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋จ)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” LCC ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒํ•œ ๋Œ€์ƒ ํ”Œ๋žซํผ๊ณผ ๊ด€๋ จ๋œ ํ—ค๋” ํŒŒ์ผ ์„ธํŠธ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” "install(TARGETS)" ๋ช…๋ น์ธ "FILE_SET"์— ์ƒˆ ์ธ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • "FILE_SET" ๋ชจ๋“œ๊ฐ€ "target_sources()" ๋ช…๋ น์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ—ค๋” ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ํŠน์ • ์œ ํ˜•์˜ ํŒŒ์ผ ์„ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CUDA ํˆดํ‚ท 7.0+์— ๋Œ€ํ•œ "all" ๋ฐ "all-major" ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์„ "CMAKE_CUDA_ARCHITECTURES" ๋ณ€์ˆ˜ ๋ฐ ๋Œ€์ƒ ํ”Œ๋žซํผ ์†์„ฑ "CUDA_ARCHITECTURES"์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€