问题描述
一个一个库编译好再add_library太痛苦了,且cmake需要分别指定debug/release再分别编译.我的设想是,建立一个程序,然后直接引用到另一个cmake库.程序debug时编译库的debug版本,程序release时编译库的release版本.一个简单的例子-和zlib联编:project(hello)SET(MODULE_PATH C:/modules)INCLUDE_DIRECTORIES($MODULE_PATH/zlib-1.2.8)add_subdirectory($MODULE_PATH/zlib-1.2.8)add_library(zlib STATIC)add_executable(hello hello.cpp)target_link_libraries(hello zlib)
zlib之前没编译,只包含下载的源文件等.希望编译hello时编译zlib.但我的写法报错说add_library没用任何源文件(但zlib下的cmakelists.txt有啊).请问应该如何写cmakelists.txt?
问题解答
回答1:你可以使用cmake ExternalProject