if 명령 조건 활용 방식
전체 코드 구조
cmake_minimum_required(VERSION 3.19)
set(CMAKE_CXX_STANDARD 17)
project(if_command_test)
set(SDK_ROOT "")
if (NOT DEFINED SDK_ROOT)
message("SDK ROOT 없음")
else()
message("SDK ROOT 존재함")
endif()
add_executable(${PROJECT_NAME} main.cpp)
1. 변수 존재 확인 방법
if 안의 DEFINED 키워드는 주어진 <NAME>을 가진 변수, 캐시 변수, 환경 변수가 정의되어있으면 참을 반환한다. 변수의 실제 값은 중요하지 않다.
set(SDK_ROOT "")
if (NOT DEFINED SDK_ROOT)
message("SDK ROOT 없음")
else()
message("SDK ROOT 존재함")
endif()
출력
[cmake] SDK ROOT 존재함
`if(DEFINED CACHE{someName})` 이렇게 조건식을 주면 오직 캐시 변수에 대해서만 해당 변수가 존재하는지 확인할 수 있다.
참고 자료
https://blog.naver.com/lifeisforu/222676597839
https://cmake.org/cmake/help/latest/command/if.html
https://stackoverflow.com/questions/31808634/checking-for-cmake-variables
'패키지 설치 및 빌드 시스템 > CMake' 카테고리의 다른 글
| [CMake Study] 2. First Step, CMake Stages (CGold) (0) | 2026.01.24 |
|---|---|
| [CMake Study] 1. Overview - What CMake can do (0) | 2026.01.21 |
| [CMake] install (0) | 2025.09.05 |
| [CMake] ExternalProject_Add() 사용 연습 (0) | 2025.04.24 |
| [CMake] .cmake 파일의 사용 (0) | 2025.04.23 |