我正在尝试编写一个通过给定库列表的宏。然而,宏中的消息调用仅打印列表的第一项。我在这里做错了什么?
代码:
macro( FindLibs LIBRARY_NAMES_LIST )
message( "inside ${LIBRARY_NAMES_LIST}" )
endmacro()
set( LIBRARY_NAMES_LIST lib1 lib2 lib3)
message( "outside ${LIBRARY_NAMES_LIST}" )
FindLibs(${LIBRARY_NAMES_LIST})
输出:
message( "outside lib1 lib2 lib3" )
message( "inside lib1" )
最佳答案
在将变量传递给宏时引用变量:
FindLibs("${LIBRARY_NAMES_LIST}")
关于cmake - 将列表传递给 CMake 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248749/