diff options
Diffstat (limited to 'tests/poppler/cmake/modules')
19 files changed, 2541 insertions, 0 deletions
diff --git a/tests/poppler/cmake/modules/COPYING-CMAKE-SCRIPTS b/tests/poppler/cmake/modules/COPYING-CMAKE-SCRIPTS new file mode 100644 index 00000000..4b417765 --- /dev/null +++ b/tests/poppler/cmake/modules/COPYING-CMAKE-SCRIPTS @@ -0,0 +1,22 @@ +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tests/poppler/cmake/modules/FindCairo.cmake b/tests/poppler/cmake/modules/FindCairo.cmake new file mode 100644 index 00000000..d536c051 --- /dev/null +++ b/tests/poppler/cmake/modules/FindCairo.cmake @@ -0,0 +1,62 @@ +# - try to find Cairo +# Once done this will define +# +# CAIRO_FOUND - system has Cairo +# CAIRO_CFLAGS - the Cairo CFlags +# CAIRO_INCLUDE_DIRS - the Cairo include directories +# CAIRO_LIBRARIES - Link these to use Cairo +# +# Copyright (C) 2007, 2010, Pino Toscano, <pino@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if(CAIRO_INCLUDE_DIRS AND CAIRO_LIBRARIES) + + # in cache already + set(CAIRO_FOUND TRUE) + +else(CAIRO_INCLUDE_DIRS AND CAIRO_LIBRARIES) + +if(NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig REQUIRED) + if(Cairo_FIND_VERSION_COUNT GREATER 0) + set(_cairo_version_cmp ">=${Cairo_FIND_VERSION}") + endif(Cairo_FIND_VERSION_COUNT GREATER 0) + pkg_check_modules(_pc_cairo cairo${_cairo_version_cmp}) + if(_pc_cairo_FOUND) + set(CAIRO_FOUND TRUE) + endif(_pc_cairo_FOUND) +else(NOT WIN32) + # assume so, for now + set(CAIRO_FOUND TRUE) +endif(NOT WIN32) + +if(CAIRO_FOUND) + # set it back as false + set(CAIRO_FOUND FALSE) + + find_library(CAIRO_LIBRARY cairo + HINTS ${_pc_cairo_LIBRARY_DIRS} + ) + set(CAIRO_LIBRARIES "${CAIRO_LIBRARY}") + + find_path(CAIRO_INCLUDE_DIR cairo.h + HINTS ${_pc_cairo_INCLUDE_DIRS} + PATH_SUFFIXES cairo + ) + set(CAIRO_INCLUDE_DIRS "${CAIRO_INCLUDE_DIR}") + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(Cairo DEFAULT_MSG CAIRO_LIBRARIES CAIRO_INCLUDE_DIRS) +endif(CAIRO_FOUND) + +endif(CAIRO_INCLUDE_DIRS AND CAIRO_LIBRARIES) + +mark_as_advanced( + CAIRO_CFLAGS + CAIRO_INCLUDE_DIRS + CAIRO_LIBRARIES +) diff --git a/tests/poppler/cmake/modules/FindFontconfig.cmake b/tests/poppler/cmake/modules/FindFontconfig.cmake new file mode 100644 index 00000000..268a61ae --- /dev/null +++ b/tests/poppler/cmake/modules/FindFontconfig.cmake @@ -0,0 +1,50 @@ +# - Try to find the Fontconfig +# Once done this will define +# +# FONTCONFIG_FOUND - system has Fontconfig +# FONTCONFIG_INCLUDE_DIR - The include directory to use for the fontconfig headers +# FONTCONFIG_LIBRARIES - Link these to use FONTCONFIG +# FONTCONFIG_DEFINITIONS - Compiler switches required for using FONTCONFIG + +# Copyright (c) 2006,2007 Laurent Montel, <montel@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +if (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR) + + # in cache already + set(FONTCONFIG_FOUND TRUE) + +else (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR) + + if (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + pkg_check_modules(PC_FONTCONFIG fontconfig) + + set(FONTCONFIG_DEFINITIONS ${PC_FONTCONFIG_CFLAGS_OTHER}) + endif (NOT WIN32) + + find_path(FONTCONFIG_INCLUDE_DIR fontconfig/fontconfig.h + PATHS + ${PC_FONTCONFIG_INCLUDEDIR} + ${PC_FONTCONFIG_INCLUDE_DIRS} + /usr/X11/include + ) + + find_library(FONTCONFIG_LIBRARIES NAMES fontconfig + PATHS + ${PC_FONTCONFIG_LIBDIR} + ${PC_FONTCONFIG_LIBRARY_DIRS} + ) + + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fontconfig DEFAULT_MSG FONTCONFIG_LIBRARIES FONTCONFIG_INCLUDE_DIR ) + + mark_as_advanced(FONTCONFIG_LIBRARIES FONTCONFIG_INCLUDE_DIR) + +endif (FONTCONFIG_LIBRARIES AND FONTCONFIG_INCLUDE_DIR) + diff --git a/tests/poppler/cmake/modules/FindGDK.cmake b/tests/poppler/cmake/modules/FindGDK.cmake new file mode 100644 index 00000000..cd642cf2 --- /dev/null +++ b/tests/poppler/cmake/modules/FindGDK.cmake @@ -0,0 +1,22 @@ +# - try to find GDK libraries +# Once done this will define +# +# GDK_FOUND - system has GDK +# GDK2_CFLAGS - the GDK CFlags +# GDK2_LIBRARIES - Link these to use GDK +# +# Copyright 2008-2010 Pino Toscano, <pino@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(FindPackageHandleStandardArgs) + +if (NOT WIN32) + find_package(PkgConfig REQUIRED) + + pkg_check_modules(GDK2 "gdk-2.0") + + find_package_handle_standard_args(GDK DEFAULT_MSG GDK2_LIBRARIES GDK2_CFLAGS) + +endif(NOT WIN32) diff --git a/tests/poppler/cmake/modules/FindGLIB.cmake b/tests/poppler/cmake/modules/FindGLIB.cmake new file mode 100644 index 00000000..15fb0c75 --- /dev/null +++ b/tests/poppler/cmake/modules/FindGLIB.cmake @@ -0,0 +1,22 @@ +# - try to find the GLIB libraries +# Once done this will define +# +# GLIB_FOUND - system has GLib +# GLIB2_CFLAGS - the GLib CFlags +# GLIB2_LIBRARIES - Link these to use GLib +# +# Copyright 2008-2010 Pino Toscano, <pino@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(FindPackageHandleStandardArgs) + +if (NOT WIN32) + find_package(PkgConfig REQUIRED) + + pkg_check_modules(GLIB2 "glib-2.0>=${GLIB_REQUIRED}" "gobject-2.0>=${GLIB_REQUIRED}") + + find_package_handle_standard_args(GLib DEFAULT_MSG GLIB2_LIBRARIES GLIB2_CFLAGS) + +endif(NOT WIN32) diff --git a/tests/poppler/cmake/modules/FindGObjectIntrospection.cmake b/tests/poppler/cmake/modules/FindGObjectIntrospection.cmake new file mode 100644 index 00000000..2073c3cb --- /dev/null +++ b/tests/poppler/cmake/modules/FindGObjectIntrospection.cmake @@ -0,0 +1,61 @@ +# - try to find gobject-introspection +# +# Once done this will define +# +# INTROSPECTION_FOUND - system has gobject-introspection +# INTROSPECTION_SCANNER - the gobject-introspection scanner, g-ir-scanner +# INTROSPECTION_COMPILER - the gobject-introspection compiler, g-ir-compiler +# INTROSPECTION_GENERATE - the gobject-introspection generate, g-ir-generate +# INTROSPECTION_GIRDIR +# INTROSPECTION_TYPELIBDIR +# INTROSPECTION_CFLAGS +# INTROSPECTION_LIBS +# +# Copyright (C) 2010, Pino Toscano, <pino@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname) + execute_process( + COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_varname} gobject-introspection-1.0 + OUTPUT_VARIABLE _result + RESULT_VARIABLE _null + ) + + if (_null) + else() + string(REGEX REPLACE "[\r\n]" " " _result "${_result}") + string(REGEX REPLACE " +$" "" _result "${_result}") + separate_arguments(_result) + set(${_outvar} ${_result} CACHE INTERNAL "") + endif() +endmacro(_GIR_GET_PKGCONFIG_VAR) + +find_package(PkgConfig) +if(PKG_CONFIG_FOUND) + if(PACKAGE_FIND_VERSION_COUNT GREATER 0) + set(_gir_version_cmp ">=${PACKAGE_FIND_VERSION}") + endif() + pkg_check_modules(_pc_gir gobject-introspection-1.0${_gir_version_cmp}) + if(_pc_gir_FOUND) + set(INTROSPECTION_FOUND TRUE) + _gir_get_pkgconfig_var(INTROSPECTION_SCANNER "g_ir_scanner") + _gir_get_pkgconfig_var(INTROSPECTION_COMPILER "g_ir_compiler") + _gir_get_pkgconfig_var(INTROSPECTION_GENERATE "g_ir_generate") + _gir_get_pkgconfig_var(INTROSPECTION_GIRDIR "girdir") + _gir_get_pkgconfig_var(INTROSPECTION_TYPELIBDIR "typelibdir") + set(INTROSPECTION_CFLAGS "${_pc_gir_CFLAGS}") + set(INTROSPECTION_LIBS "${_pc_gir_LIBS}") + endif() +endif() + +mark_as_advanced( + INTROSPECTION_SCANNER + INTROSPECTION_COMPILER + INTROSPECTION_GENERATE + INTROSPECTION_GIRDIR + INTROSPECTION_TYPELIBDIR + INTROSPECTION_CFLAGS + INTROSPECTION_LIBS +) diff --git a/tests/poppler/cmake/modules/FindGTK.cmake b/tests/poppler/cmake/modules/FindGTK.cmake new file mode 100644 index 00000000..4d66bd3a --- /dev/null +++ b/tests/poppler/cmake/modules/FindGTK.cmake @@ -0,0 +1,22 @@ +# - try to find GTK libraries +# Once done this will define +# +# GTK_FOUND - system has GTK +# GTK2_CFLAGS - the GTK CFlags +# GTK2_LIBRARIES - Link these to use GTK +# +# Copyright 2008-2010 Pino Toscano, <pino@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +include(FindPackageHandleStandardArgs) + +if (NOT WIN32) + find_package(PkgConfig REQUIRED) + + pkg_check_modules(GTK2 "gtk+-2.0>=2.14" "gdk-pixbuf-2.0" "gthread-2.0" "gio-2.0") + + find_package_handle_standard_args(GTK DEFAULT_MSG GTK2_LIBRARIES GTK2_CFLAGS) + +endif(NOT WIN32) diff --git a/tests/poppler/cmake/modules/FindIconv.cmake b/tests/poppler/cmake/modules/FindIconv.cmake new file mode 100644 index 00000000..338d17d0 --- /dev/null +++ b/tests/poppler/cmake/modules/FindIconv.cmake @@ -0,0 +1,60 @@ +# - Try to find Iconv +# Once done this will define +# +# ICONV_FOUND - system has Iconv +# ICONV_INCLUDE_DIR - the Iconv include directory +# ICONV_LIBRARIES - Link these to use Iconv +# ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const +# +include(CheckCXXSourceCompiles) + +IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + # Already in cache, be silent + SET(ICONV_FIND_QUIETLY TRUE) +ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +FIND_PATH(ICONV_INCLUDE_DIR iconv.h) + +FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) + +IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + SET(ICONV_FOUND TRUE) +ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +IF(ICONV_FOUND) + check_cxx_source_compiles(" + #include <iconv.h> + int main(){ + iconv_t conv = 0; + const char* in = 0; + size_t ilen = 0; + char* out = 0; + size_t olen = 0; + iconv(conv, &in, &ilen, &out, &olen); + return 0; + } +" ICONV_SECOND_ARGUMENT_IS_CONST ) + IF(ICONV_SECOND_ARGUMENT_IS_CONST) + SET(ICONV_CONST "const") + ENDIF(ICONV_SECOND_ARGUMENT_IS_CONST) +ENDIF(ICONV_FOUND) +set(CMAKE_REQUIRED_INCLUDES) +set(CMAKE_REQUIRED_LIBRARIES) + +IF(ICONV_FOUND) + IF(NOT ICONV_FIND_QUIETLY) + MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") + ENDIF(NOT ICONV_FIND_QUIETLY) +ELSE(ICONV_FOUND) + IF(Iconv_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Iconv") + ENDIF(Iconv_FIND_REQUIRED) +ENDIF(ICONV_FOUND) + +MARK_AS_ADVANCED( + ICONV_INCLUDE_DIR + ICONV_LIBRARIES + ICONV_SECOND_ARGUMENT_IS_CONST +) diff --git a/tests/poppler/cmake/modules/FindLCMS.cmake b/tests/poppler/cmake/modules/FindLCMS.cmake new file mode 100644 index 00000000..9d162d2c --- /dev/null +++ b/tests/poppler/cmake/modules/FindLCMS.cmake @@ -0,0 +1,84 @@ +# - Find LCMS +# Find the LCMS includes and library +# This module defines +# LCMS_INCLUDE_DIR, where to find lcms.h +# LCMS_LIBRARIES, the libraries needed to use LCMS. +# LCMS_VERSION, The value of LCMS_VERSION defined in lcms.h +# LCMS_FOUND, If false, do not try to use LCMS. + + +# Copyright (c) 2008, Adrian Page, <adrian@pagenet.plus.com> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +if(NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(PC_LCMS lcms) + set(LCMS_DEFINITIONS ${PC_LCMS_CFLAGS_OTHER}) +endif(NOT WIN32) + +find_path(LCMS_INCLUDE_DIR lcms.h + PATHS + ${PC_LCMS_INCLUDEDIR} + ${PC_LCMS_INCLUDE_DIRS} + PATH_SUFFIXES lcms liblcms1 +) + +find_library(LCMS_LIBRARIES NAMES lcms liblcms lcms-1 liblcms-1 + PATHS + ${PC_LCMS_LIBDIR} + ${PC_LCMS_LIBRARY_DIRS} + PATH_SUFFIXES lcms +) + +if(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES) + set(LCMS_FOUND TRUE) +else(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES) + set(LCMS_FOUND FALSE) +endif(LCMS_INCLUDE_DIR AND LCMS_LIBRARIES) + +if(LCMS_FOUND) + set(FIND_LCMS_VERSION_SOURCE + "#include <lcms.h>\n int main()\n {\n return LCMS_VERSION;\n }\n") + set(FIND_LCMS_VERSION_SOURCE_FILE ${CMAKE_BINARY_DIR}/CMakeTmp/FindLCMS.cxx) + file(WRITE "${FIND_LCMS_VERSION_SOURCE_FILE}" "${FIND_LCMS_VERSION_SOURCE}") + + set(FIND_LCMS_VERSION_ADD_INCLUDES + "-DINCLUDE_DIRECTORIES:STRING=${LCMS_INCLUDE_DIR}") + + try_run(LCMS_VERSION LCMS_COMPILE_RESULT + ${CMAKE_BINARY_DIR} + ${FIND_LCMS_VERSION_SOURCE_FILE} + CMAKE_FLAGS "${FIND_LCMS_VERSION_ADD_INCLUDES}" + OUTPUT_VARIABLE OUTPUT) + + if(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN) + if(NOT LCMS_FIND_QUIETLY) + string(SUBSTRING ${LCMS_VERSION} 0 1 LCMS_MAJOR_VERSION) + string(SUBSTRING ${LCMS_VERSION} 1 2 LCMS_MINOR_VERSION) + message(STATUS "Found lcms version ${LCMS_MAJOR_VERSION}.${LCMS_MINOR_VERSION}, ${LCMS_LIBRARIES}") + endif(NOT LCMS_FIND_QUIETLY) + else(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN) + if(NOT LCMS_FIND_QUIETLY) + message(STATUS "Found lcms but failed to find version ${LCMS_LIBRARIES}") + file(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log + "Find lcms version failed with the following output:\n${OUTPUT}\nFindLCMS.cxx:\n${FIND_LCMS_VERSION_SOURCE}\n\n") + endif(NOT LCMS_FIND_QUIETLY) + set(LCMS_VERSION NOTFOUND) + endif(LCMS_COMPILE_RESULT AND NOT LCMS_VERSION STREQUAL FAILED_TO_RUN) +else(LCMS_FOUND) + if(NOT LCMS_FIND_QUIETLY) + if(LCMS_FIND_REQUIRED) + message(FATAL_ERROR "Required package lcms NOT found") + else(LCMS_FIND_REQUIRED) + message(STATUS "lcms NOT found") + endif(LCMS_FIND_REQUIRED) + endif(NOT LCMS_FIND_QUIETLY) +endif(LCMS_FOUND) + +mark_as_advanced(LCMS_INCLUDE_DIR LCMS_LIBRARIES LCMS_VERSION) + diff --git a/tests/poppler/cmake/modules/FindLIBOPENJPEG.cmake b/tests/poppler/cmake/modules/FindLIBOPENJPEG.cmake new file mode 100644 index 00000000..978ee7d9 --- /dev/null +++ b/tests/poppler/cmake/modules/FindLIBOPENJPEG.cmake @@ -0,0 +1,37 @@ +# - Try to find the libopenjpeg library +# Once done this will define +# +# LIBOPENJPEG_FOUND - system has libopenjpeg +# LIBOPENJPEG_INCLUDE_DIRS - the libopenjpeg include directories +# LIBOPENJPEG_LIBRARIES - Link these to use libopenjpeg +# LIBOPENJPEG_INCLUDE_DIR is internal and deprecated for use + +# Copyright (c) 2008, Albert Astals Cid, <aacid@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +if (LIBOPENJPEG_LIBRARIES AND LIBOPENJPEG_INCLUDE_DIR) + + # in cache already + set(LIBOPENJPEG_FOUND TRUE) + +else (LIBOPENJPEG_LIBRARIES AND LIBOPENJPEG_INCLUDE_DIR) + + #reset vars + set(LIBOPENJPEG_LIBRARIES) + set(LIBOPENJPEG_INCLUDE_DIR) + + find_path (LIBOPENJPEG_INCLUDE_DIR openjpeg.h PATH_SUFFIXES openjpeg) + find_library(LIBOPENJPEG_LIBRARIES openjpeg) + if(LIBOPENJPEG_INCLUDE_DIR AND LIBOPENJPEG_LIBRARIES) + set(LIBOPENJPEG_FOUND TRUE) + endif(LIBOPENJPEG_INCLUDE_DIR AND LIBOPENJPEG_LIBRARIES) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LibOpenJPEG DEFAULT_MSG LIBOPENJPEG_LIBRARIES LIBOPENJPEG_INCLUDE_DIR) + +endif (LIBOPENJPEG_LIBRARIES AND LIBOPENJPEG_INCLUDE_DIR) + +set(LIBOPENJPEG_INCLUDE_DIRS ${LIBOPENJPEG_INCLUDE_DIR}) diff --git a/tests/poppler/cmake/modules/FindQt3.cmake b/tests/poppler/cmake/modules/FindQt3.cmake new file mode 100644 index 00000000..06ff9401 --- /dev/null +++ b/tests/poppler/cmake/modules/FindQt3.cmake @@ -0,0 +1,319 @@ +# - Locate Qt include paths and libraries +# This module defines: +# QT3_INCLUDE_DIR - where to find qt.h, etc. +# QT3_LIBRARIES - the libraries to link against to use Qt. +# QT3_DEFINITIONS - definitions to use when +# compiling code that uses Qt. +# QT3_FOUND - If false, don't try to use Qt. +# +# If you need the multithreaded version of Qt, set QT_MT_REQUIRED to TRUE +# +# Also defined, but not for general use are: +# QT3_MOC_EXECUTABLE, where to find the moc tool. +# QT3_UIC_EXECUTABLE, where to find the uic tool. +# QT3_QT_LIBRARY, where to find the Qt library. +# QT3_QTMAIN_LIBRARY, where to find the qtmain +# library. This is only required by Qt3 on Windows. + +# These are around for backwards compatibility +# they will be set +# QT_WRAP_CPP, set true if QT3_MOC_EXECUTABLE is found +# QT_WRAP_UI set true if QT3_UIC_EXECUTABLE is found + +FILE(GLOB GLOB_PATHS_BIN /usr/lib/qt-3*/bin/) +FIND_PATH(QT3_INCLUDE_DIR qt.h + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt" + $ENV{QTDIR}/include + ${GLOB_PATHS_BIN} + /usr/local/qt/include + /usr/lib/qt/include + /usr/lib/qt3/include + /usr/include/qt + /usr/share/qt3/include + C:/Progra~1/qt/include + /usr/include/qt3 + /usr/X11R6/include + ) + +# if qglobal.h is not in the qt_include_dir then set +# QT3_INCLUDE_DIR to NOTFOUND +IF(NOT EXISTS ${QT3_INCLUDE_DIR}/qglobal.h) + SET(QT3_INCLUDE_DIR QT3_INCLUDE_DIR-NOTFOUND CACHE PATH "path to qt3 include directory" FORCE) +ENDIF(NOT EXISTS ${QT3_INCLUDE_DIR}/qglobal.h) + +IF(QT3_INCLUDE_DIR) + #extract the version string from qglobal.h + FILE(READ ${QT3_INCLUDE_DIR}/qglobal.h QGLOBAL_H) + STRING(REGEX MATCH "#define[\t ]+QT_VERSION_STR[\t ]+\"([0-9]+.[0-9]+.[0-9]+)\"" QGLOBAL_H "${QGLOBAL_H}") + STRING(REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+)\".*" "\\1" qt_version_str "${QGLOBAL_H}") + + # Under windows the qt library (MSVC) has the format qt-mtXYZ where XYZ is the + # version X.Y.Z, so we need to remove the dots from version + STRING(REGEX REPLACE "\\." "" qt_version_str_lib "${qt_version_str}") +ELSE(QT3_INCLUDE_DIR) +ENDIF(QT3_INCLUDE_DIR) + +FILE(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/) +IF (QT_MT_REQUIRED) + FIND_LIBRARY(QT3_QT_LIBRARY + NAMES + qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib} + qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3 + PATHS + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib" + $ENV{QTDIR}/lib + ${GLOB_PATHS_LIB} + /usr/local/qt/lib + /usr/lib/qt/lib + /usr/lib/qt3/lib + /usr/lib/qt3/lib64 + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +ELSE (QT_MT_REQUIRED) + FIND_LIBRARY(QT3_QT_LIBRARY + NAMES + qt qt-${qt_version_str_lib} qt-edu${qt_version_str_lib} + qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib} + qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3 + PATHS + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib" + $ENV{QTDIR}/lib + ${GLOB_PATHS_LIB} + /usr/local/qt/lib + /usr/lib/qt/lib + /usr/lib/qt3/lib + /usr/lib/qt3/lib64 + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) +ENDIF (QT_MT_REQUIRED) + +IF(QT3_QT_LIBRARY) +ELSE(QT3_QT_LIBRARY) +ENDIF(QT3_QT_LIBRARY) + + +FIND_LIBRARY(QT_QASSISTANTCLIENT_LIBRARY + NAMES qassistantclient + PATHS + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib" + $ENV{QTDIR}/lib + ${GLOB_PATHS_LIB} + /usr/local/qt/lib + /usr/lib/qt3/lib + /usr/lib/qt3/lib64 + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT3_MOC_EXECUTABLE + NAMES moc moc-qt3 + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) + +FIND_PROGRAM(QT3_MOC_EXECUTABLE + NAMES moc moc-qt3 + PATHS + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt" + $ENV{QTDIR}/bin + ${GLOB_PATHS_BIN} + /usr/local/qt/bin + /usr/lib/qt/bin + /usr/lib/qt3/bin + /usr/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + ) + +IF(QT3_MOC_EXECUTABLE) + SET ( QT_WRAP_CPP "YES") +ELSE(QT3_MOC_EXECUTABLE) +ENDIF(QT3_MOC_EXECUTABLE) + +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT3_UIC_EXECUTABLE uic + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) +FIND_PROGRAM(QT3_UIC_EXECUTABLE uic + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt" + $ENV{QTDIR}/bin + ${GLOB_PATHS_BIN} + /usr/local/qt/bin + /usr/lib/qt/bin + /usr/lib/qt3/bin + /usr/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + ) + +IF(QT3_UIC_EXECUTABLE) + SET ( QT_WRAP_UI "YES") +ELSE(QT3_UIC_EXECUTABLE) +ENDIF(QT3_UIC_EXECUTABLE) + +IF (WIN32) + FIND_LIBRARY(QT3_QTMAIN_LIBRARY qtmain + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib" + "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib" + "$ENV{ProgramFiles}/qt/lib" + $ENV{QTDIR}/lib "C:/Program Files/qt/lib" + DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise." + ) +ENDIF (WIN32) + + +IF (QT3_MIN_VERSION) + + STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" qt_major_vers "${qt_version_str}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" qt_minor_vers "${qt_version_str}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" qt_patch_vers "${qt_version_str}") + + #now parse the parts of the user given version string into variables + STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+$" req_qt_major_vers "${QT3_MIN_VERSION}") + IF (NOT req_qt_major_vers) + MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT3_MIN_VERSION}\", expected e.g. \"3.1.5\"") + ENDIF (NOT req_qt_major_vers) + + STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_qt_major_vers "${QT3_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers "${QT3_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT3_MIN_VERSION}") + + # req = "6.5.4", qt = "3.2.1" + + IF (req_qt_major_vers GREATER qt_major_vers) # (6 > 3) ? + MESSAGE( FATAL_ERROR "Qt major version not matched (required: ${QT3_MIN_VERSION}, found: ${qt_version_str})") # yes + ELSE (req_qt_major_vers GREATER qt_major_vers) # no + IF (req_qt_major_vers LESS qt_major_vers) # (6 < 3) ? + SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes + ELSE (req_qt_major_vers LESS qt_major_vers) # ( 6==3) ? + IF (req_qt_minor_vers GREATER qt_minor_vers) # (5>2) ? + MESSAGE( FATAL_ERROR "Qt minor version not matched (required: ${QT3_MIN_VERSION}, found: ${qt_version_str})") # yes + ELSE (req_qt_minor_vers GREATER qt_minor_vers) # no + IF (req_qt_minor_vers LESS qt_minor_vers) # (5<2) ? + SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes + ELSE (req_qt_minor_vers LESS qt_minor_vers) # (5==2) + IF (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ? + MESSAGE( FATAL_ERROR "Qt patch level not matched (required: ${QT3_MIN_VERSION}, found: ${qt_version_str})") # yes + ELSE (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ? + SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes + ENDIF (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ? + ENDIF (req_qt_minor_vers LESS qt_minor_vers) + ENDIF (req_qt_minor_vers GREATER qt_minor_vers) + ENDIF (req_qt_major_vers LESS qt_major_vers) + ENDIF (req_qt_major_vers GREATER qt_major_vers) +ENDIF (QT3_MIN_VERSION) + +# if the include a library are found then we have it +IF(QT3_INCLUDE_DIR) + IF(QT3_QT_LIBRARY) + SET( QT3_FOUND "YES" ) + ENDIF(QT3_QT_LIBRARY) +ENDIF(QT3_INCLUDE_DIR) + +IF(QT3_FOUND) + SET( QT3_LIBRARIES ${QT3_LIBRARIES} ${QT3_QT_LIBRARY} ) + SET( QT3_DEFINITIONS "") + + IF (WIN32 AND NOT CYGWIN) + IF (QT3_QTMAIN_LIBRARY) + # for version 3 + SET (QT3_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG) + SET (QT3_LIBRARIES imm32.lib ${QT3_QT_LIBRARY} ${QT3_QTMAIN_LIBRARY} ) + SET (QT3_LIBRARIES ${QT3_LIBRARIES} winmm wsock32) + ELSE (QT3_QTMAIN_LIBRARY) + # for version 2 + SET (QT3_LIBRARIES imm32.lib ws2_32.lib ${QT3_QT_LIBRARY} ) + ENDIF (QT3_QTMAIN_LIBRARY) + ELSE (WIN32 AND NOT CYGWIN) + SET (QT3_LIBRARIES ${QT3_QT_LIBRARY} ) + + SET (QT3_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG) + IF(QT3_QT_LIBRARY MATCHES "qt-mt") + SET (QT3_DEFINITIONS ${QT3_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT) + ENDIF(QT3_QT_LIBRARY MATCHES "qt-mt") + + ENDIF (WIN32 AND NOT CYGWIN) + + IF (QT_QASSISTANTCLIENT_LIBRARY) + SET (QT3_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT3_LIBRARIES}) + ENDIF (QT_QASSISTANTCLIENT_LIBRARY) + + # Backwards compatibility for CMake1.4 and 1.2 + SET (QT_MOC_EXE ${QT3_MOC_EXECUTABLE} ) + SET (QT_UIC_EXE ${QT3_UIC_EXECUTABLE} ) + # for unix add X11 stuff + IF(UNIX) + FIND_PACKAGE(X11) + IF (X11_FOUND) + SET (QT3_LIBRARIES ${QT3_LIBRARIES} ${X11_LIBRARIES}) + ENDIF (X11_FOUND) + IF (CMAKE_DL_LIBS) + SET (QT3_LIBRARIES ${QT3_LIBRARIES} ${CMAKE_DL_LIBS}) + ENDIF (CMAKE_DL_LIBS) + ENDIF(UNIX) + IF(QT3_QT_LIBRARY MATCHES "qt-mt") + FIND_PACKAGE(Threads) + SET(QT3_LIBRARIES ${QT3_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + ENDIF(QT3_QT_LIBRARY MATCHES "qt-mt") +ENDIF(QT3_FOUND) + +EXEC_PROGRAM(${QT3_MOC_EXECUTABLE} ARGS "-v" OUTPUT_VARIABLE QTVERSION_MOC) +EXEC_PROGRAM(${QT3_UIC_EXECUTABLE} ARGS "-version" OUTPUT_VARIABLE QTVERSION_UI) + +SET(_QT_UIC_VERSION_3 FALSE) +IF("${QTVERSION_UIC}" MATCHES ".* 3..*") + SET(_QT_UIC_VERSION_3 TRUE) +ENDIF("${QTVERSION_UIC}" MATCHES ".* 3..*") + +SET(_QT_MOC_VERSION_3 FALSE) +IF("${QTVERSION_MOC}" MATCHES ".* 3..*") + SET(_QT_MOC_VERSION_3 TRUE) +ENDIF("${QTVERSION_MOC}" MATCHES ".* 3..*") + +SET(QT_WRAP_CPP FALSE) +IF (QT3_MOC_EXECUTABLE) + IF(_QT_MOC_VERSION_3) + SET ( QT_WRAP_CPP TRUE) + ENDIF(_QT_MOC_VERSION_3) +ENDIF (QT3_MOC_EXECUTABLE) + +SET(QT_WRAP_UI FALSE) +IF (QT3_UIC_EXECUTABLE) + IF(_QT_UIC_VERSION_3) + SET ( QT_WRAP_UI TRUE) + ENDIF(_QT_UIC_VERSION_3) +ENDIF (QT3_UIC_EXECUTABLE) + +MARK_AS_ADVANCED( + QT3_INCLUDE_DIR + QT3_QT_LIBRARY + QT3_QTMAIN_LIBRARY + QT_QASSISTANTCLIENT_LIBRARY + QT3_UIC_EXECUTABLE + QT3_MOC_EXECUTABLE + QT_WRAP_CPP + QT_WRAP_UI + ) diff --git a/tests/poppler/cmake/modules/FindQt4.cmake b/tests/poppler/cmake/modules/FindQt4.cmake new file mode 100644 index 00000000..9122bb33 --- /dev/null +++ b/tests/poppler/cmake/modules/FindQt4.cmake @@ -0,0 +1,1295 @@ +# - Find QT 4 +# This module can be used to find Qt4. +# The most important issue is that the Qt4 qmake is available via the system path. +# This qmake is then used to detect basically everything else. +# This module defines a number of key variables and macros. First is +# QT_USE_FILE which is the path to a CMake file that can be included to compile +# Qt 4 applications and libraries. By default, the QtCore and QtGui +# libraries are loaded. This behavior can be changed by setting one or more +# of the following variables to true: +# QT_DONT_USE_QTCORE +# QT_DONT_USE_QTGUI +# QT_USE_QT3SUPPORT +# QT_USE_QTASSISTANT +# QT_USE_QTDESIGNER +# QT_USE_QTMOTIF +# QT_USE_QTMAIN +# QT_USE_QTNETWORK +# QT_USE_QTNSPLUGIN +# QT_USE_QTOPENGL +# QT_USE_QTSQL +# QT_USE_QTXML +# QT_USE_QTSVG +# QT_USE_QTTEST +# QT_USE_QTUITOOLS +# QT_USE_QTDBUS +# QT_USE_QTSCRIPT +# +# All the libraries required are stored in a variable called QT_LIBRARIES. +# Add this variable to your TARGET_LINK_LIBRARIES. +# +# macro QT4_WRAP_CPP(outfiles inputfile ... OPTIONS ...) +# create moc code from a list of files containing Qt class with +# the Q_OBJECT declaration. Options may be given to moc, such as those found +# when executing "moc -help" +# +# macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...) +# |