我有两个与CMake相关的问题
1)假设我们有一个变量${MY_CURRENT_DIR}
,它包含一个包含几个子目录的目录路径:mydir1,mydir2和mydir3.我想检测这些子目录并将其名称放入${SUBDIRS}
(不是这些目录的完整路径,只是它们的名称).如何自动完成?
2)假设${SUBDIRS}
包含"mydir1 mydir2 mydir3".如何更换
ADD_SUBDIRECTORY(mydir1)
ADD_SUBDIRECTORY(mydir2)
ADD_SUBDIRECTORY(mydir3)
Run Code Online (Sandbox Code Playgroud)
循环结束${SUBDIRS}
?
非常感谢你.
ref*_*aim 89
1)使用此宏:
MACRO(SUBDIRLIST result curdir)
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
SET(dirlist "")
FOREACH(child ${children})
IF(IS_DIRECTORY ${curdir}/${child})
LIST(APPEND dirlist ${child})
ENDIF()
ENDFOREACH()
SET(${result} ${dirlist})
ENDMACRO()
Run Code Online (Sandbox Code Playgroud)
例:
SUBDIRLIST(SUBDIRS ${MY_CURRENT_DIR})
Run Code Online (Sandbox Code Playgroud)
2)使用foreach
:
FOREACH(subdir ${SUBDIRS})
ADD_SUBDIRECTORY(${subdir})
ENDFOREACH()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28890 次 |
最近记录: |