Wie überprüfe ich korrekt, ob ein Makro in CMake definiert ist?Wie überprüft man, ob ein Makro in CMake existiert
macro(foo)
message("foo")
endmacro()
if(<what goes here?>)
foo()
endif()
Wie überprüfe ich korrekt, ob ein Makro in CMake definiert ist?Wie überprüft man, ob ein Makro in CMake existiert
macro(foo)
message("foo")
endmacro()
if(<what goes here?>)
foo()
endif()
Die if command unterstützt eine COMMAND
Klausel zu diesem Zweck:
if(COMMAND foo)
foo()
endif()
Verwenden MACROS Eigenschaft for a given directory.
get_directory_property(DEFINED_MACROS DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} MACROS)
list(FIND DEFINED_MACROS "foo" MACRO_INDEX)
if(MACRO_INDEX EQUAL -1)
# macro foo does not exist
else(MACRO_INDEX EQUAL -1)
# macro foo exists
endif(MACRO_INDEX EQUAL -1)