add_subdirectory
命令,可以将指定的文件夹加到build任务列表中。
如果你的目录结构如下:
main
是主工程的CMake目录,需要添加子目录模块sub1
,那么语法如下:
默认情况下是添加当前目录的子目录,用法如下:
#只需要传入相对主目录的相对路径`sub1`
add_subdirectory(sub1)
如果还需要依赖外部目录(即不是主目录的子目录),就需要指定绝对路径,如下:
#CMAKE_CURRENT_SOURCE_DIR上当CMake目录
add_subdirectory(../3rdparty ${CMAKE_CURRENT_SOURCE_DIR})
不指定绝对路径就会报如下错误:
CMake Error at CMakeLists.txt:8 (add_subdirectory):
add_subdirectory not given a binary directory but the given source
directory "G:/NDKProject/OpenGLES/src/main/cpp/3rdparty/libpng" is not a
subdirectory of "G:/NDKProject/OpenGLES/src/main/cpp/librenderer". When
specifying an out-of-tree source a binary directory must be explicitly
specified.
网友评论