Cmake 使用笔记

发布时间 2023-10-10 20:21:34作者: 奶牛不会产草

一、目录相关

  • 遍历文件夹(包含子目录)

    方法一:

      macro(SUBDIRLISTINCLUDE result curdir)

        FILE (GLOB_RECURSE children LIST_DIRECTORIES true RELATIVE ${curdir} "${curdir}/*")

        set(dirlist "")
        foreach(child ${children})
          if((IS_DIRECTORY ${curdir}/${child}))
            LIST (APPEND dirlist ${child})
          endif()
        endforeach()
        set(${result} ${dirlist})
      endmacro()

      调用:
      SUBDIRLISTINCLUDE(SRC_LIST ${CMAKE_SOURCE_DIR}/src)