CMake 3.16.0 ์ƒˆ ๋ฒ„์ „ ์ถœ์‹œ

์ธ๊ธฐ ์žˆ๋Š” ๋นŒ๋“œ ์‹œ์Šคํ…œ์ธ CMake 3.16.0์˜ ์ƒˆ ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ CTest ๋ฐ CPack์ด ์ถœ์‹œ๋˜์–ด ๊ฐ๊ฐ ํŒจํ‚ค์ง€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ :

  • CMake๋Š” ์ด์ œ Objective-C์™€ Objective-C++๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ() ๋˜๋Š” ํ™œ์„ฑํ™”_์–ธ์–ด()์— OBJC ๋ฐ OBJCXX๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์ง€์›์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ *.m- ๋ฐ *.mm ํŒŒ์ผ์€ Objective-C ๋˜๋Š” C++๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ C++ ์†Œ์Šค ํŒŒ์ผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

  • ํŒ€์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค target_precompile_headers()๋Œ€์ƒ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ํ—ค๋” ํŒŒ์ผ ๋ชฉ๋ก์„ ์ง€์ •ํ•˜๋Š” ์ž…๋‹ˆ๋‹ค.

  • ๋Œ€์ƒ ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UNITY_BUILD๋นŒ๋“œ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ๊ธฐ์— ์†Œ์Šค ํŒŒ์ผ์„ ๋ณ‘ํ•ฉํ•˜๋„๋ก ์ง€์‹œํ•˜๋Š” A์ž…๋‹ˆ๋‹ค.

  • find_*() ๋ช…๋ น์€ ์ด์ œ ๊ฒ€์ƒ‰์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • file() ๋ช…๋ น์€ ์ด์ œ GET_RUNTIME_DEPENDENCIES ํ•˜์œ„ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ•˜์œ„ ๋ช…๋ น์€ GetPrerequisites() ๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

  • CMake์—๋Š” ์ด์ œ cmake -E๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœ๋˜๋Š” true ๋ฐ false ๋ช…๋ น์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ --loglevel ์˜ต์…˜์€ ์ด์ œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ --log-level๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

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