我正在尝试创建一个既包含ZLIB又包含LIBPNG(以及其他库)的项目.LibPNG的CMakeLists.txt文件中包含它: find_package(ZLIB REQUIRED)它随附的股票代码,我不想改变它.
我正在构建Windows(Visual Studio).这是一个跨平台的应用程序(Windows,Mac,Linux和移动设备)我不能依赖任何库的/ usr/lib版本.所以我一起用我的项目构建它们.
除非我这样做,否则我无法建立LibPNG.在上层CMakeLists.txt文件中,我把它放在那里:
ADD_SUBDIRECTORY(contrib/${CUSTOM_ZLIB_LOCATION})
SET(ZLIB_FOUND ON CACHE BOOL "Yes")
SET(ZLIB_INCLUDE_DIR ${CMAKE_BINARY_DIR}/contrib/${CUSTOM_ZLIB_LOCATION} {CMAKE_SOURCE_DIR}/contrib/${CUSTOM_ZLIB_LOCATION})
SET(ZLIB_LIBRARY zlib CACHE STRING "zlib library name")
Run Code Online (Sandbox Code Playgroud)
这满足find_package(ZLIB REQUIRED) 但我认为这是一个黑客.是否有一些直接的方法来构建zlib的本地副本而没有所有3条额外的行?
我只在开头(至少在之前find_package(ZLIB REQUIRED))添加了这一行,它对我有用.
set(ZLIB_ROOT <zlib folder here>)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4083 次 |
| 最近记录: |