CMakePrintHelpers¶
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)
Commands¶
This module provides the following commands:
- cmake_print_properties¶
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.
- cmake_print_variables¶
Prints each variable name followed by its value:
cmake_print_variables([<vars>...])
Examples¶
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=""