More Modern CMake - Finding Packages
Finding Packages
Overview
질문
How do I search for packages?
목표
Understand FindPackage.cmake
Understand PackageConfig.cmake
You can search for packages in CMake in two ways; both of them, however, use the same interface. Here’s what it would look like:
find_package(MyPackage 1.2)
This will lo...
More Modern CMake - Debugging
Debugging
Overview
질문
모든 것을 어떻게 디버깅할까?
목표
CMake에서 문제를 찾는 방법을 알아보기
디버깅을 위해 빌드를 설정하는 방법을 알아보기
CMake를 사용하면 디버깅이 쉽다. 우리는 CMake 코드 디버깅과 C++ 코드 디버깅: 두 가지 형태의 디버깅을 다룰 것이다.
CMake 디버깅
먼저 CMakeLists 또는 기타 CMake 파일을 디버깅하는 방법을 살펴보자.
변수 출력하기
Cmake에서 print 문의 시간에 따른 방법은 다음과 같다:
message(STATUS "MY_VARIA...
More Modern CMake - Common Problems and Solutions
일반적인 문제 및 해결 방법
Overview
질문
무엇이 잘못될 수 있나?
목표
몇 가지 일반적인 실수 식별하기
일반적인 실수 피하기
이제 CMake 코드 및 빌드와 관련된 몇 가지 일반적인 문제를 살펴보자.
1: 낮은 최소 CMake 버전
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
어떤 경우에는 이 숫자를 올리는 것만으로도 문제가 해결된다. 예를 들어 3.0 이하에서는 맥OS에서 링크할 때 잘못된 동작하는 경향이 있다.
해결책: 최소 버전을 높게 설정하거나 버전 범위 ...
More Modern CMake - Project Structure
프로젝트 구조
Overview
질문
내 프로젝트는 어떤 모습이어야 할까?
목표
프로젝트 구조에 대한 몇 가지 모범 사례를 알아보자.
이 섹션에서는 code/03-structure의 프로젝트를 살펴보자.
code/03-structure/
├── CMakeLists.txt
├── README.md
├── apps
│ ├── CMakeLists.txt
│ └── app.cpp
├── cmake
│ └── FindSomeLib.cmake
├── docs
│ ├── CMakeLists.txt
│ └── mainpage.m...
More Modern CMake - Variables explained
변수 설명
Overview
질문
변수는 어떻게 작동하는가?
목표
지역 변수에 대해 알아보자.
캐시된 변수가 실행 전반에 걸쳐 지속된다는 점을 이해하라.
글로브(glob)할 줄 알아야 하고, 왜 하면안되는지 알아야 한다.
변수
이 연습에서는 CMakeLists.txt를 실행하는 대신 CMake 스크립트를 직접 실행한다. 이를 수행하는 명령은 다음과 같다:
# example.cmake라는 파일이 있다고 가정한다:
cmake -P example.cmake
이렇게 하면, 주변에 작은 빌드들이 많이 생기지 않는다....
More Modern CMake - Working with Targets
Working with Targets
Overview
질문
타겟(target)은 어떻게 동작하는가?
목표
타겟(target) 설정 방법을 알아두자
linking 및 INTERFACE 속성 이해하자
INTERFACE 타겟(target) 만들기
타겟(Targets)
이제 CMake의 세 라인을 사용하여 단일 파일을 컴파일하는 방법을 알게 되었다. 하지만 종속성이 있는 파일이 두 개 이상 있으면 어떻게 될까? 프로젝트 구조에 대해 CMake에 알릴 수 있어야 하며 이는 프로젝트를 빌드하는 데 도움이 된다. 그러기 ...
More Modern CMake - Your first CMakeLists.txt file
Your first CMakeLists.txt file
Overview
질문
내 CMakeLists에서 얼마나 최소화할 수 있는가?
목표
cmake_minimum_version의 깊은 의미를 이해하자.
project 설정 방법을 알아두자.
적어도 하나의 타겟을 만드는 방법을 알아두자.
CMakeLists 파일 작성
다음 파일은 그 다음 예에 적합하다 :
/* simple.c or simple.cpp */
#include <stdio.h>
int main() {
printf("Hello, W...
More Modern CMake - Building with CMake
Building With CMake
Overview
질문
프로젝트를 어떻게 빌드하는가?
목표
CMake 설치에 대한 참고.
기존 프로젝트를 빌드하는 방법을 알아보자.
빌드를 사용자 정의한다.
몇 가지 기본적인 디버깅을 수행하는 방법을 알아보자.
CMake 설치
거의 모든 곳에 최신 버전의 CMake를 설치하는 데 일반적으로 한 줄 또는 두 줄에 불과하다. CMake 설명을 참조.
CMake 로 빌드하기
CMake를 작성하기 전에 CMake를 실행하여 만드는 방법을 알고 있는지 확인하겠다. 이는 ...
26 post articles, 4 pages.