插件系统

配置规则

HEngine\Engine\Config\Plugins.json

cmake会读这个json,然后link到对应为true的目标上。这个json没有的插件就不会被link,也不会被 add_subdirectory。

HEngine\Engine\Source\Plugins\CMakeLists.txt

HEngine\Engine\Source\CMakeLists.txt

自动检测文件夹名

https://stackoverflow.com/questions/7787823/cmake-how-to-get-the-name-of-all-subdirectories-of-a-directory


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()

SUBDIRLIST(SUBDIRS ${CMAKE_CURRENT_SOURCE_DIR})

FOREACH(subdir ${SUBDIRS})
    message(${subdir})
    # ADD_SUBDIRECTORY(${subdir})
ENDFOREACH()

Last updated