CMakePrintHelpers

用於列印屬性和變數的便利函數,例如對於除錯很有用。

命令

cmake_print_properties
cmake_print_properties(<TARGETS       [<target1> ...] |
                        SOURCES       [<source1> ...] |
                        DIRECTORIES   [<dir1> ...]    |
                        TESTS         [<test1> ...]   |
                        CACHE_ENTRIES [<entry1> ...]  >
                       PROPERTIES [<prop1> ...])

此函數列印給定目標、原始檔、目錄、測試或快取條目的屬性值。 必須使用範圍關鍵字之一。 範圍關鍵字及其引數必須位於引數列表中的 PROPERTIES 關鍵字之前。

cmake_print_variables
cmake_print_variables([var1 [var2 ... [varN]]])

此函數列印每個變數的名稱,後跟其值。

範例

列印目標 foobarLOCATIONINTERFACE_INCLUDE_DIRECTORIES 屬性

include(CMakePrintHelpers)

cmake_print_properties(
  TARGETS foo bar
  PROPERTIES LOCATION INTERFACE_INCLUDE_DIRECTORIES
)

輸出

--
 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"

列印給定的變數

include(CMakePrintHelpers)

cmake_print_variables(CMAKE_C_COMPILER CMAKE_MAJOR_VERSION NOT_EXISTS)

輸出

-- CMAKE_C_COMPILER="/usr/bin/cc" ; CMAKE_MAJOR_VERSION="3" ; NOT_EXISTS=""