feature_summary 는 CMake 에 정의된 옵션이나 종속성을 확인할 때 유용한 기능이다.
e.g
1 2 3 4 5 6 7 8 9 10 11 12 13
# 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 가 출력된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
... -- 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 과 함께 출력되니 문서 대용으로 쓰일 수도 있고 한 눈에 적용 옵션들을 파악할 수도 있어서 유용해보인다.