CMake - feature_summary

#CMake

feature_summary 는 CMake 에 정의된 옵션이나 종속성을 확인할 때 유용한 기능이다.

e.g

# include 필요
include(FeatureSummary)

find_package(Boost REQUIRED)

# summary 출력 원하는 옵션은 add_feature_info 로 추가
option(BUILD_TEST "Build test executable" OFF)
add_feature_info("BUILD_TEST" BUILD_TEST "Build test executable")
option(ENABLE_SOMETHING "Enable something" ON)
add_feature_info("ENABLE_SOMETHING" ENABLE_SOMETHING "Enable something")

# 출력
feature_summary(WHAT ALL)

Configure 하면 아래와 같이 종속 패키지 목록이나, 옵션 on/off 여부에 대한 summary 가 출력된다.

...
-- The following features have been enabled:

 * ENABLE_SOMETHING, Enable something

-- The following REQUIRED packages have been found:

 * boost_headers (required version == 1.76.0)
 * Boost

-- The following features have been disabled:

 * BUILD_TEST, Build test executable

-- Configuring done
-- Generating done

프로젝트가 커질수록 dependency 나 custom option 사용이 많아져서 복잡해질 수 있는데, Configure 시 description 과 함께 출력되니 문서 대용으로 쓰일 수도 있고 한 눈에 적용 옵션들을 파악할 수도 있어서 유용해보인다.

연결된 글

CMake - feature_sum…CMake 에서 상대경로를 …

점을 끌어 볼 수 있어요.