搜索

首页  >  问答  >  正文

c++ - cmake 如何直接联编其它cmake库?

一个一个库编译好再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?

天蓬老师天蓬老师2772 天前432

全部回复(1)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:57:57

    你可以使用cmake ExternalProject

    回复
    0
  • 取消回复