尽量避免编译单一库文件(或可执行文件)包含过多文件,应使其模块化。
例如,将原先的一个.a文件拆分为5个甚至更多个.a文件,这样会使cmake的扫描速度加快。从而加快编译速度。
方式一:
set(src_all
${src_1}
${src_2}
${src_3}
${src_4}
${src_5}
)
ADD_LIBRARY(mylibrary STATIC ${src_all})
TARGET_LINK_LIBRARIES(myexe mylibrary)
方式二:
ADD_LIBRARY(mylibrary1 STATIC ${src_1})
ADD_LIBRARY(mylibrary2 STATIC ${src_2})
ADD_LIBRARY(mylibrary3 STATIC ${src_3})
ADD_LIBRARY(mylibrary4 STATIC ${src_4})
ADD_LIBRARY(mylibrary5 STATIC ${src_5})
TARGET_LINK_LIBRARIES(myexe mylibrary1 mylibrary2 mylibrary3 mylibrary4 mylibrary5)
方式二会优于方式一。