Skip to content

Commit

Permalink
CMake: generate a summary of the configuration
Browse files Browse the repository at this point in the history
Fixes #212
  • Loading branch information
robUx4 committed Jan 19, 2025
1 parent 9b29c20 commit edb3374
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,33 @@ project(matroska VERSION 2.0.0)

include(CMakeDependentOption)

include( FeatureSummary )
function(feature_info_on_off)
set(option_name ${ARGV0})
if(${option_name})
add_feature_info(${option_name} ${option_name} ${ARGV1})
else()
add_feature_info(${option_name} $<NOT:${option_name}> ${ARGV2})
endif()
endfunction(feature_info_on_off)

cmake_dependent_option(BUILD_SHARED_LIBS "Build libmatroska as a shared library (except Windows)" OFF "NOT WIN32" OFF)
feature_info_on_off(BUILD_SHARED_LIBS "will build as a dynamic library" "will build as a static library")

option(DISABLE_PKGCONFIG "Disable PkgConfig module generation" OFF)
feature_info_on_off(DISABLE_PKGCONFIG "won't generate pkgconfig config file" "will generate pkgconfig config file")

option(DISABLE_CMAKE_CONFIG "Disable CMake package config module generation" OFF)
feature_info_on_off(DISABLE_CMAKE_CONFIG "won't generate CMake config file" "will generate CMake config file")

option(BUILD_TESTING "Build tests" OFF)
feature_info_on_off(BUILD_TESTING "will build test code" "will build without test code")

option(DEV_MODE "Developer mode with extra compilation checks" OFF)
feature_info_on_off(DEV_MODE "added developer mode extra compilation checks" "default build mode")

find_package(EBML 2.0.0 REQUIRED)
find_package(EBML 2.0.0)
set_package_properties(EBML PROPERTIES DESCRIPTION "libebml")

include(GNUInstallDirs)

Expand Down Expand Up @@ -160,3 +180,7 @@ if(NOT DISABLE_CMAKE_CONFIG)
${CMAKE_CURRENT_BINARY_DIR}/MatroskaConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_PACKAGEDIR})
endif()

feature_summary(DESCRIPTION "libmatroska options:" WHAT ENABLED_FEATURES)
feature_summary(DESCRIPTION "libmatroska disabled options:" WHAT DISABLED_FEATURES)
feature_summary(DESCRIPTION "libmatroska packages used:" WHAT PACKAGES_FOUND)

0 comments on commit edb3374

Please sign in to comment.