Hi Mario, Very sorry, I should have looked more closely! CMAKE_MODULE_PATH is for libraries that install their own CMake scripts. You are correct, Zlib only installs a pkg-config script. However, FindZLIB.cmake doesn’t appear to use that at all (aka I don’t believe you need to be setting PKG_CONFIG_PATH). You should be able to get away with setting ZLIB_ROOT. So for you I think it would look like
cmake .. -DZLIB_ROOT=/data/thirdparty FindZLIB.cmake will proceed to look for ZLIB_ROOT/include/zlib.h and look in ZLIB_ROOT/lib for the library. The XXX_ROOT is typically available for any built-in CMake FindXXX.cmake modules (see hint at bottom: https://cmake.org/cmake/help/v3.0/module/FindZLIB.html <https://cmake.org/cmake/help/v3.0/module/FindZLIB.html> ). These FindXXX.cmake modules are for this exact scenario: there is a library that many users want access to that does not install cmake scripts (typically because the library uses a different build system such as autotools). - - - - - If you are still having trouble, this is what I used to test this. I didn’t actually write code that uses it, but I suspect if you remove setting of CMAKE_PREFIX_PATH (I think that’s where your conflict originates from) and just specify ZLIB_ROOT your problem will be solved (I hope!). With a very crude CMakeLists.txt: cmake_minimum_required(VERSION 3.0 FATAL_ERROR) project("find_zlib") find_package(ZLIB) if (ZLIB_FOUND) message(FATAL_ERROR "Found Zlib:\n- ZLIB_INCLUDE_DIRS: ${ZLIB_INCLUDE_DIRS}\n- ZLIB_LIBRARIES: ${ZLIB_LIBRARIES}") else() message(FATAL_ERROR "Did not find Zlib :/") endif() Without setting ZLIB_ROOT: $ cmake .. -- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.8") CMake Error at CMakeLists.txt:6 (message): Found Zlib: - ZLIB_INCLUDE_DIRS: /usr/include - ZLIB_LIBRARIES: /usr/lib/libz.dylib That’s the default Zlib that comes with OS X. However, if I specify ZLIB_ROOT: $ cmake .. -DZLIB_ROOT=/usr/local/Cellar/zlib/1.2.11/ -- Found ZLIB: /usr/local/Cellar/zlib/1.2.11/lib/libz.dylib (found version "1.2.11") CMake Error at CMakeLists.txt:6 (message): Found Zlib: - ZLIB_INCLUDE_DIRS: /usr/local/Cellar/zlib/1.2.11/include - ZLIB_LIBRARIES: /usr/local/Cellar/zlib/1.2.11/lib/libz.dylib Let us know if it works or if you still need help! -Stephen
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake