我有一个 c++ 项目,其目录结构如下:
server/
code/
BASE/
Thread/
Log/
Memory/
Net/
cmake/
CMakeList.txt
BASE/
CMakeList.txt
Net/
CMakeList.txt
这是/cmake/CMakeList.txt 的一部分:
MACRO(SUBDIRLIST result curdir)
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
SET(dirlist "")
FOREACH(child ${children})
IF(IS_DIRECTORY ${curdir}/${child})
SET(dirlist ${dirlist} ${child})
ENDIF()
ENDFOREACH()
SET(${result} ${dirlist})
ENDMACRO()
add_subdirectory(Base)
然后在 /cmake/Base/CMakeList.txt 中使用宏:
SET(SUBDIR, "")
SUBDIRLIST(SUBDIRS, ${BASE_SRC_DIR})
message("SUBDIRS : " ${SUBDIRS})
输出:子目录:
我通过在宏中输出它的值来检查 ${dirlist},我得到预期的目录列表,但是当 SET(${result} ${dirlist})之后的消息(“result” ${result})时,我无法获得预期的输出,我的 CMakeLists.txt 有什么问题?