盡量避免編譯單一庫文件(或可執行文件)包含過多文件,應使其模塊化。
例如,將原先的一個.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)
方式二會優於方式一。
