cmake_minimum_required(VERSION 2.6) project(QuaZip) # CMP0042: Explicitly acknowledge MACOSX_RPATH # (introduced in CMake 2.8.12, enabled by default in CMake 3.0, # and producing a warning when unset since 3.7.1) cmake_policy(SET CMP0042 NEW) option(BUILD_WITH_QT4 "Build QuaZip with Qt4 no matter if Qt5 was found" OFF) if(NOT BUILD_WITH_QT4) # try Qt5 first, and prefer that if found find_package(Qt5Core QUIET) endif() if(Qt5Core_FOUND) set(CMAKE_CXX_STANDARD 11) set(QTCORE_LIBRARIES ${Qt5Core_LIBRARIES}) set(QUAZIP_LIB_VERSION_SUFFIX 5) # if there is no QT_ROOT, try to deduce it from Qt QtCore include if("${QT_ROOT}" STREQUAL "") set(QT_ROOT ${QT_QTCORE_INCLUDE_DIR}/../..) endif() include_directories(${Qt5Core_INCLUDE_DIRS}) macro(qt_wrap_cpp) qt5_wrap_cpp(${ARGN}) endmacro() else() set(qt_min_version "4.5.0") find_package(Qt4 REQUIRED) set(QT_USE_QTGUI false) include(${QT_USE_FILE}) include_directories(${QT_INCLUDES}) set(QTCORE_LIBRARIES ${QT_QTCORE_LIBRARY}) macro(qt_wrap_cpp) qt4_wrap_cpp(${ARGN}) endmacro() endif() # Use system zlib on unix and Qt ZLIB on Windows if(UNIX OR MINGW) find_package(ZLIB REQUIRED) else() set(ZLIB_INCLUDE_DIRS "${QT_ROOT}/src/3rdparty/zlib" CACHE STRING "Path to ZLIB headers of Qt") set(ZLIB_LIBRARIES "") if(NOT EXISTS "${ZLIB_INCLUDE_DIRS}/zlib.h") message("Please specify a valid zlib include dir") endif() endif() # All build libraries are moved to this directory set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)") set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name" FORCE) set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig" CACHE STRING "Installation directory for pkgconfig (.pc) files" FORCE) set(QUAZIP_LIB_TARGET_NAME quazip${QUAZIP_LIB_VERSION_SUFFIX} CACHE INTERNAL "Target name of libquazip" FORCE) add_subdirectory(quazip) install(FILES QuaZipConfig.cmake DESTINATION ${LIB_DESTINATION}/cmake/QuaZip${QUAZIP_LIB_VERSION_SUFFIX} RENAME QuaZip${QUAZIP_LIB_VERSION_SUFFIX}Config.cmake)