如何检查是否在CMake的存在宏(How to check if a macro exists in

2019-08-03 11:54发布

如何正确检查,如果宏在CMake的定义?

macro(foo)
    message("foo")
endmacro()

if(<what goes here?>)
    foo()
endif()

Answer 1:

所述如果命令支持COMMAND用于该目的子句:

if(COMMAND foo)
    foo()
endif()


Answer 2:

使用宏物业对于一个给定的目录 。

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)


文章来源: How to check if a macro exists in CMake
标签: cmake