作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个同时具有 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")
find_package(ZLIB REQUIRED)
但我认为这是一个黑客。有没有一些直接的方法来构建 zlib 的本地副本而没有所有 3 行额外的行?
最佳答案
我只在开头添加了这一行(至少在 find_package(ZLIB REQUIRED)
之前)并且它对我有用。
set(ZLIB_ROOT <zlib folder here>)
关于cmake - 如何将 cmake find_package() 与包的本地副本一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233559/
我是一名优秀的程序员,十分优秀!