I use this:

SET (ZLIB_DIR "${CMAKE_CURRENT_LIST_DIR}/bin/${TARGET_ARCH}")
SET (ZLIB "${ZLIB_DIR}/libz.so")

IF (NOT EXISTS "${ZLIB}" OR ALWAYS_BUILD_EXTERNAL)
    ADD_LIBRARY (z SHARED
            ${CMAKE_CURRENT_LIST_DIR}/src/adler32.c
            ${CMAKE_CURRENT_LIST_DIR}/src/compress.c
            ${CMAKE_CURRENT_LIST_DIR}/src/crc32.c
            ${CMAKE_CURRENT_LIST_DIR}/src/crc32.h
            ${CMAKE_CURRENT_LIST_DIR}/src/deflate.c
            ${CMAKE_CURRENT_LIST_DIR}/src/deflate.h
            ${CMAKE_CURRENT_LIST_DIR}/src/gzclose.c
            ${CMAKE_CURRENT_LIST_DIR}/src/gzguts.h
            ${CMAKE_CURRENT_LIST_DIR}/src/gzlib.c
            ${CMAKE_CURRENT_LIST_DIR}/src/gzread.c
            ${CMAKE_CURRENT_LIST_DIR}/src/gzwrite.c
            ${CMAKE_CURRENT_LIST_DIR}/src/infback.c
            ${CMAKE_CURRENT_LIST_DIR}/src/inffast.c
            ${CMAKE_CURRENT_LIST_DIR}/src/inffast.h
            ${CMAKE_CURRENT_LIST_DIR}/src/inffixed.h
            ${CMAKE_CURRENT_LIST_DIR}/src/inflate.c
            ${CMAKE_CURRENT_LIST_DIR}/src/inflate.h
            ${CMAKE_CURRENT_LIST_DIR}/src/inftrees.c
            ${CMAKE_CURRENT_LIST_DIR}/src/inftrees.h
            ${CMAKE_CURRENT_LIST_DIR}/src/trees.c
            ${CMAKE_CURRENT_LIST_DIR}/src/trees.h
            ${CMAKE_CURRENT_LIST_DIR}/src/uncompr.c
            ${CMAKE_CURRENT_LIST_DIR}/src/zconf.h
            ${CMAKE_CURRENT_LIST_DIR}/src/zlib.h
            ${CMAKE_CURRENT_LIST_DIR}/src/zutil.c
            ${CMAKE_CURRENT_LIST_DIR}/src/zutil.h
        )

    ADD_CUSTOM_COMMAND (TARGET z POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy_if_different
        "libz.so" "${ZLIB}"
        )

    MESSAGE (STATUS "Will build `${LIBZLIB}' from source")
ELSE()
    ADD_LIBRARY (z SHARED IMPORTED GLOBAL)
    SET_PROPERTY (TARGET z PROPERTY IMPORTED_LOCATION "${ZLIB}")
ENDIF()


# *** Important part: ***
SET_PROPERTY (TARGET z PROPERTY INCLUDE_PATH "${CMAKE_CURRENT_LIST_DIR}/src")
SET_PROPERTY (TARGET z PROPERTY LIBRARY_PATH "${ZLIB_DIR}")

I use those properties (INCLUDE_PATH and LIBRARY_PATH) to construct
LDFLAGS and CPPFLAGS for other targets and external projects
--

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:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to