This module provides convenience commands, primarily intended for debugging, to print the values of properties and variables.
Load this module in CMake with:
include(CMakePrintHelpers)
This module provides the following commands:
Prints the values of properties for the specified targets, source files, directories, tests, or cache entries:
cmake_print_properties(
<TARGETS [<targets>...] |
SOURCES [<sources>...] |
DIRECTORIES [<dirs>...] |
TESTS [<tests>...] |
CACHE_ENTRIES [<entries>...] >
PROPERTIES [<properties>...]
)
Exactly one of the scope keywords must be specified. The scope keyword
and its arguments must appear before the PROPERTIES keyword in the
argument list.
Prints each variable name followed by its value:
cmake_print_variables([<vars>...])
Printing the LOCATION and INTERFACE_INCLUDE_DIRECTORIES properties for
both targets foo and bar:
include(CMakePrintHelpers)
cmake_print_properties(
TARGETS foo bar
PROPERTIES LOCATION INTERFACE_INCLUDE_DIRECTORIES
)
Gives:
--
Properties for TARGET foo:
foo.LOCATION = "/usr/lib/libfoo.so"
foo.INTERFACE_INCLUDE_DIRECTORIES = "/usr/include;/usr/include/foo"
Properties for TARGET bar:
bar.LOCATION = "/usr/lib/libbar.so"
bar.INTERFACE_INCLUDE_DIRECTORIES = "/usr/include;/usr/include/bar"
Printing given variables:
include(CMakePrintHelpers)
cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION NOT_EXISTS)
Gives:
-- CMAKE_C_COMPILER="/usr/bin/cc" ; CMAKE_MAJOR_VERSION="3" ; NOT_EXISTS=""