π Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ CMake Π΄Π»Ρ C++: ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ [2022] Π Π°ΡΠ°Π» Π‘Π²ΠΈΠ΄Π·ΠΈΠ½ΡΠΊΠΈ
Π ΠΊΠ½ΠΈΠ³Π΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠ°ΠΊ ΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π²Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎΡΠΈΡΠ°Π² ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CMake Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
π Modern CMake for C++: Discover a better approach to building, testing and packaging your software [2022] Rafal Swidzinski
The book instructs you on how to form the source directories, as well as build targets and packages. As you progress, you will learn how to compile and link executables and libraries, how these processes work in detail, and how to optimize all steps to achieve the best results. You'll also understand how to add external dependencies to the project: third-party libraries, testing frameworks, program analysis tools, and documentation generators. Finally, you'll explore how to export, install, and package your solution for internal and external purposes. After completing this book, you'll be able to use CMake confidently on a professional level.