본문 바로가기

CMake17

[CMake] Looping - foreach, while References Professional CMake : A Practical Guide Contents foreach() while() Interrupting Loops 2021.10.30 - [CMake] - [CMake] Flow Control - if [CMake] Flow Control - if References Professional CMake : A Practical Guide Contents if foreach while CMake를 사용할 때, 특정 컴파일러를 사용하거나 특정 플랫폼용으로 빌드할 때만 특정 컴파일러 플래그를 사용하기를 원할 수 있습.. junstar92.tistory.com if() 명령에 이어서 이번에는 리스트 요소들 또는 어떤 값 범위에 대해서 반복적인 작업을 수행하.. 2021. 10. 31.
[CMake] Flow Control - if References Professional CMake : A Practical Guide Contents if foreach while CMake를 사용할 때, 특정 컴파일러를 사용하거나 특정 플랫폼용으로 빌드할 때만 특정 컴파일러 플래그를 사용하기를 원할 수 있습니다. 또는, 특정 조건이 충족될 때까지 어떠한 단계를 반복해서 진행해야 할 수도 있습니다. 이러한 흐름 제어(flow control)은 다른 프로그래밍 언어처럼 CMake에서도 if / foreach / while 등으로 지원하고 있습니다. CMake에서 이 3가지 명령은 일반적으로 대부분의 프로그래밍 언어에서의 동작과 동일한 기능을 제공합니다. if() command if() 명령의 사용법은 다음과 같습니다. 다른 언어와 마찬가지로 여러 절.. 2021. 10. 30.
[CMake] Lists References Professional CMake : A Practical Guide Contents LENGTH, GET APPEND, INSERT FIND REMOVE_ITEM, REMOVE_AT, REMOVE_DUPLICATES REVERSE, SORT CMake에서 LIST(리스트)는 정말 많이 사용됩니다. 궁극적으로 list는 세미콜론(;)으로 구분된 item들이 있는 단일 문자열이므로 개별 list item들을 조작하는 것이 불편할 수 있습니다. 이러한 list item들을 편리하게 조작하기 위해서 CMake에서는 list() 명령을 제공합니다. string()과 마찬가지로 list()도 첫 번째 argument로 sub command를 사용합니다. 이 sub command에는 APPEND.. 2021. 10. 29.
[CMake] String Handling (string 명령어) References Professional CMake : A Practical Guide Contents string() Search and Replace (FIND, REPLACE, REGEX MATCH, REGEX MATCHALL, REGEX REPLACE) Manipulation (SUBSTRING, LENGTH, TOLOWER, TOUPPER, STRIP) string() CMake에서는 string() 명령어를 통해 광범위하고 유용한 문자열 처리 기능을 제공합니다. 이 명령을 사용하면 문자열 찾기, 바꾸기, 정규식, 대소문자 변환, 공백 제거 등 다양한 작업들을 수행할 수 있습니다. 이번에는 이 string 명령어를 통해서 처리할 수 있는 유용한 기능들에 대해서 알아보겠습니다. string 명령.. 2021. 10. 29.
[CMake] Variable (변수) References Professional CMake : A Practical Guide Contents Variables Basics Environment Variables Cache Variables (by using set, option, and Command Line) Debugging Varables and Diagnositics 이번 글에서 CMake의 기초적인 부분 중 하나인 변수 사용에 대해서 알아보겠습니다. Variable Basics CMake에서 변수를 정의하는 가장 기본적인 방법은 set() 명령어를 사용하는 것입니다. 변수는 다음과 같이 CMakeLists.txt 파일에 정의할 수 있습니다. varName은 변수의 이름입니다. 이 이름은 영문자나 숫자, '_'(underscore).. 2021. 10. 29.
[CMake] Tutorial (2) - Library 추가 References https://cmake.org/cmake/help/latest/guide/tutorial/Adding%20a%20Library.html https://modoocode.com/332 Professional CMake : A Practical Guild Contents add_library() option() add_subdirectory() target_link_libraries() 이번 글에서는 프로젝트에 라이브러리를 추가하여 사용하는 것에 대해서 살펴보겠습니다. 라이브러리는 특정 코드를 모아놓은 것이라고 보면 되는데, 예를 들어 c언어의 수학 관련 함수들을 모아놓은 를 생각하면 될 것 같습니다. 물론 실행파일에 다 때려넣어도 되지만, 그렇게 되면 코드가 변경될 때마다 전체를 컴파.. 2021. 10. 28.
[CMake] Tutorial (1) - Start CMake References https://cmake.org/cmake/help/latest/guide/tutorial https://modoocode.com/311, https://modoocode.com/332 Professional CMake : A Practical Guide Contents CMake ? cmake_minimum_required() project() add_excutable() configure_file() target_include_directories() 회사에서 개발을 하거나 다른 github repository를 살펴보면 대부분 CMake로 빌드 환경을 구성하도록 되어 있습니다. 저 역시도 CMake를 자주 접하지만, 주먹구구식으로 알고 있는 것들이 많아서 한 번 정리할 필요가 있.. 2021. 10. 28.