diff options
author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
---|---|---|
committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /cmake | |
download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/CAIROConfig.cmake | 74 | ||||
-rw-r--r-- | cmake/modules/CupsConfig.cmake | 31 | ||||
-rw-r--r-- | cmake/modules/FONTCONFIGConfig.cmake | 71 | ||||
-rw-r--r-- | cmake/modules/FREETYPEConfig.cmake | 81 | ||||
-rw-r--r-- | cmake/modules/FindHYPHEN.cmake | 29 | ||||
-rw-r--r-- | cmake/modules/FindJPEG.cmake | 35 | ||||
-rw-r--r-- | cmake/modules/FindLCMS.cmake | 61 | ||||
-rw-r--r-- | cmake/modules/FindLCMS2.cmake | 73 | ||||
-rw-r--r-- | cmake/modules/FindLIBPODOFO.cmake | 57 | ||||
-rw-r--r-- | cmake/modules/FindPNG.cmake | 75 | ||||
-rw-r--r-- | cmake/modules/FindQt3.cmake | 302 | ||||
-rw-r--r-- | cmake/modules/FindTIFF.cmake | 28 | ||||
-rw-r--r-- | cmake/modules/FindZLIB.cmake | 55 | ||||
-rw-r--r-- | cmake/modules/LIBART_LGPLConfig.cmake | 49 | ||||
-rw-r--r-- | cmake/modules/LibXml2Config.cmake | 43 | ||||
-rw-r--r-- | cmake/modules/LibraryDebugAndRelease.cmake | 25 | ||||
-rw-r--r-- | cmake/modules/SCRIBUSQTConfig.cmake | 41 | ||||
-rw-r--r-- | cmake/modules/ScribusFindPackageHandleStandardArgs.cmake | 66 | ||||
-rw-r--r-- | cmake/modules/oldFindQt3.cmake | 290 |
19 files changed, 1486 insertions, 0 deletions
diff --git a/cmake/modules/CAIROConfig.cmake b/cmake/modules/CAIROConfig.cmake new file mode 100644 index 0000000..f7daf97 --- /dev/null +++ b/cmake/modules/CAIROConfig.cmake @@ -0,0 +1,74 @@ +# +# Find the native cairo includes and library +# + +# This module defines +# CAIRO_INCLUDE_DIR, where to find art*.h etc +# CAIRO_LIBRARY, the libraries to link against to use LIBART. +# CAIRO_FOUND, If false, do not try to use LIBART. +# CAIRO_LIBS, link information +# CAIRO_CFLAGS, cflags for include information + + +IF(PREFIX_CAIRO) + MESSAGE(STATUS "Searching custom cairo location: ${PREFIX_CAIRO}") + SET(PREFIX_CAIRO_INCLUDE "${PREFIX_CAIRO}/include") + SET(PREFIX_CAIRO_LIB "${PREFIX_CAIRO}/lib") + SET(PREFIX_CAIRO_BIN "${PREFIX_CAIRO}/bin") +ELSE(PREFIX_CAIRO) + # use pkgconfig to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) + INCLUDE(UsePkgConfig) + PKGCONFIG(cairo _libCairoIncDir _libCairoLinkDir _libCairoLinkFlags _libCairoCflags) + SET(PKG_CAIRO_INCLUDE_DIRS ${_libCairoIncDir}) + SET(PKG_CAIRO_LIBRARIES ${_libCairoLinkDir}) + ELSE (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) + INCLUDE(FindPkgConfig) + pkg_search_module(CAIRO REQUIRED libcairo>=1.2.0 cairo>=1.2.0) + ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) +ENDIF(PREFIX_CAIRO) + +FIND_PATH(CAIRO_INCLUDE_DIR + NAMES cairo.h + PATHS ${PREFIX_CAIRO_INCLUDE} ${PKG_CAIRO_INCLUDE_DIRS} ${CAIRO_INCLUDE_DIRS} /usr/local/include /usr/include + PATH_SUFFIXES cairo + NO_DEFAULT_PATH +) + +FIND_LIBRARY(CAIRO_LIBRARY + NAMES libcairo cairo + PATHS ${PREFIX_CAIRO_LIB} ${PKG_CAIRO_LIBRARIES} ${CAIRO_LIBRARY_DIRS} /usr/local/lib /usr/lib + NO_DEFAULT_PATH +) + +#If we had no cairo prefix specify it, set PREFIX_CAIRO_LIB most importantly, for the +# IF(NOT PREFIX_CAIRO) +# GET_FILENAME_COMPONENT(CAIRO_DIR ${CAIRO_LIBRARY} PATH) +# GET_FILENAME_COMPONENT(CAIRO_DIR ${CAIRO_DIR} PATH) +# SET(PREFIX_CAIRO ${CAIRO_DIR}) +# IF(PREFIX_CAIRO) +# SET(PREFIX_CAIRO_INCLUDE "${PREFIX_CAIRO}/include") +# SET(PREFIX_CAIRO_LIB "${PREFIX_CAIRO}/lib") +# SET(PREFIX_CAIRO_BIN "${PREFIX_CAIRO}/bin") +# ENDIF(PREFIX_CAIRO) +# ENDIF(NOT PREFIX_CAIRO) + +SET(CAIRO_FIND_QUIETLY 1) + +IF (CAIRO_LIBRARY) + IF (CAIRO_INCLUDE_DIR) + SET( CAIRO_FOUND "YES" ) + IF(NOT CAIRO_FIND_QUIETLY) + MESSAGE(STATUS "Found cairo: ${CAIRO_LIBRARY}") + ENDIF(NOT CAIRO_FIND_QUIETLY) + SET( CAIRO_LIBRARIES ${CAIRO_LIBRARY} ) +# CB: We dont use this yet anyway +# FIND_PROGRAM(CAIRO_CONFIG +# NAMES pkg-config +# PATHS ${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin /usr/bin /usr/nekoware/bin /usr/X11/bin +# ) +# EXEC_PROGRAM(${CAIRO_CONFIG} ARGS "--libs cairo" OUTPUT_VARIABLE CAIRO_LIBS) +# EXEC_PROGRAM(${CAIRO_CONFIG} ARGS "--cflags cairo" OUTPUT_VARIABLE CAIRO_CFLAGS) + ENDIF (CAIRO_INCLUDE_DIR) +ENDIF (CAIRO_LIBRARY) diff --git a/cmake/modules/CupsConfig.cmake b/cmake/modules/CupsConfig.cmake new file mode 100644 index 0000000..cd4fa23 --- /dev/null +++ b/cmake/modules/CupsConfig.cmake @@ -0,0 +1,31 @@ +# - Try to find Cups +# Once done this will define +# +# CUPS_FOUND - system has Cups +# CUPS_INCLUDE_DIR - the Cups include directory +# CUPS_LIBRARY - Link these to use CUPS +# + +FIND_PATH(CUPS_INCLUDE_DIR cups/cups.h + /usr/include + /usr/local/include +) + +FIND_LIBRARY(CUPS_LIBRARY NAMES cups PATHS /usr/lib /usr/local/lib) + +IF(CUPS_INCLUDE_DIR AND CUPS_LIBRARY) + SET(CUPS_FOUND TRUE) +ENDIF(CUPS_INCLUDE_DIR AND CUPS_LIBRARY) + +SET(Cups_FIND_QUIETLY 1) + +IF(CUPS_FOUND) + SET( CUPS_LIBRARIES ${CUPS_LIBRARY} ) + IF(NOT Cups_FIND_QUIETLY) + MESSAGE(STATUS "Found Cups: ${CUPS_LIBRARY}") + ENDIF(NOT Cups_FIND_QUIETLY) +ELSE(CUPS_FOUND) + IF(Cups_FIND_REQUIRED) + MESSAGE(SEND_ERROR "Could not find Cups") + ENDIF(Cups_FIND_REQUIRED) +ENDIF(CUPS_FOUND)
\ No newline at end of file diff --git a/cmake/modules/FONTCONFIGConfig.cmake b/cmake/modules/FONTCONFIGConfig.cmake new file mode 100644 index 0000000..60128c4 --- /dev/null +++ b/cmake/modules/FONTCONFIGConfig.cmake @@ -0,0 +1,71 @@ +# +# Find the native FONTCONFIG includes and library +# + +# This module defines +# FONTCONFIG_INCLUDE_DIR, where to find art*.h etc +# FONTCONFIG_LIBRARY, the libraries to link against to use FONTCONFIG. +# FONTCONFIG_FOUND, If false, do not try to use FONTCONFIG. +# LIBFONTCONFIG_LIBS, link information +# LIBFONTCONFIG_CFLAGS, cflags for include information + +IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) + INCLUDE(UsePkgConfig) + PKGCONFIG(fontconfig _fontconfigIncDir _fontconfigLinkDir _fontconfigLinkFlags _fontconfigCflags) + SET(FONTCONFIG_LIBS ${_fontconfigCflags}) +ELSE (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) + INCLUDE(FindPkgConfig) + pkg_search_module(FONTCONFIG REQUIRED fontconfig) +ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5) + +#INCLUDE(UsePkgConfig) + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +#PKGCONFIG(fontconfig _fontconfigIncDir _fontconfigLinkDir _fontconfigLinkFlags _fontconfigCflags) + +#SET(FONTCONFIG_LIBS ${_fontconfigCflags}) + +IF(BUILD_OSX_BUNDLE) + FIND_PATH(FONTCONFIG_INCLUDE_DIR + NAMES fontconfig/fontconfig.h + PATHS ${FONTCONFIG_INCLUDE_DIRS} /opt/local/include + NO_DEFAULT_PATH + ) + FIND_LIBRARY(FONTCONFIG_LIBRARY + NAMES fontconfig + PATHS ${FONTCONFIG_LIBRARY_DIRS} /opt/local/lib + NO_DEFAULT_PATH + ) +ELSE(BUILD_OSX_BUNDLE) + FIND_PATH(FONTCONFIG_INCLUDE_DIR + NAMES fontconfig/fontconfig.h + PATHS ${FONTCONFIG_INCLUDE_DIRS} + ${_fontconfigIncDir} + /usr/include + /usr/local/include + PATH_SUFFIXES fontconfig + ) + # quick hack as the above finds it nicely but our source includes the libart_lgpl text at the moment + #STRING(REGEX REPLACE "/libart_lgpl" "" FONTCONFIG_INCLUDE_DIR ${FONTCONFIG_INCLUDE_DIR}) + FIND_LIBRARY(FONTCONFIG_LIBRARY NAMES fontconfig + PATHS ${FONTCONFIG_LIBRARY_DIRS} /usr/lib /usr/local/lib + ) +ENDIF(BUILD_OSX_BUNDLE) + + +# MESSAGE(STATUS "fclib ${FONTCONFIG_LIBRARY}") +# MESSAGE(STATUS "fcinclude ${FONTCONFIG_INCLUDE_DIR}") + + +IF (FONTCONFIG_LIBRARY) + IF (FONTCONFIG_INCLUDE_DIR) + SET( FONTCONFIG_FOUND "YES" ) + SET( FONTCONFIG_LIBRARIES ${FONTCONFIG_LIBRARY} ) + FIND_PROGRAM(FONTCONFIG_CONFIG NAMES fontconfig-config PATHS ${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin /usr/bin /usr/nekoware/bin /usr/X11/bin) +# EXEC_PROGRAM(${FONTCONFIG_CONFIG} ARGS --libs OUTPUT_VARIABLE FONTCONFIG_LIBS) +# EXEC_PROGRAM(${FONTCONFIG_CONFIG} ARGS --cflags OUTPUT_VARIABLE FONTCONFIG_CFLAGS) +# MESSAGE(STATUS ${FONTCONFIG_LIBS}) +# MESSAGE(STATUS ${FONTCONFIG_CFLAGS}) + ENDIF (FONTCONFIG_INCLUDE_DIR) +ENDIF (FONTCONFIG_LIBRARY) diff --git a/cmake/modules/FREETYPEConfig.cmake b/cmake/modules/FREETYPEConfig.cmake new file mode 100644 index 0000000..cd2eb90 --- /dev/null +++ b/cmake/modules/FREETYPEConfig.cmake @@ -0,0 +1,81 @@ +# +# Find the native FREETYPE includes and library +# + +# This module defines +# FREETYPE_INCLUDE_DIR, where to find ft2build.h, ftheader.h, ... +# FREETYPE_LIBRARIES, the libraries to link against to use FREETYPE. +# FREETYPE_FOUND, If false, do not try to use FREETYPE. + +# also defined, but not for general use are +# FREETYPE_LIBRARY, where to find the FREETYPE library. + +IF (BUILD_OSX_BUNDLE) + FIND_PATH(FREETYPE_INCLUDE_DIR_FT2BUILD ft2build.h + /opt/local/include/ + NO_CMAKE_SYSTEM_PATH + ) +ELSE (BUILD_OSX_BUNDLE) + FIND_PATH(FREETYPE_INCLUDE_DIR_FT2BUILD ft2build.h + /usr/include/ + /usr/local/include/ + NO_CMAKE_SYSTEM_PATH + ) +ENDIF (BUILD_OSX_BUNDLE) + + +IF (BUILD_OSX_BUNDLE) + FIND_PATH(FREETYPE_INCLUDE_DIR_FTHEADER freetype/config/ftheader.h + /opt/local/include/freetype2 + NO_CMAKE_SYSTEM_PATH + ) +ELSE (BUILD_OSX_BUNDLE) + FIND_PATH(FREETYPE_INCLUDE_DIR_FTHEADER freetype/config/ftheader.h + /usr/include/freetype2 + /usr/local/include/freetype2 + NO_CMAKE_SYSTEM_PATH + ) +ENDIF (BUILD_OSX_BUNDLE) + +SET(FREETYPE_LIBRARY_NAMES_DEBUG ${FREETYPE_LIBRARY_NAMES_DEBUG} freetyped) +SET(FREETYPE_LIBRARY_NAMES_RELEASE ${FREETYPE_LIBRARY_NAMES_RELEASE} freetype) + +IF(BUILD_OSX_BUNDLE) + SET(FREETYPE_LIB_PATHS /opt/local/lib) +ELSE(BUILD_OSX_BUNDLE) + SET(FREETYPE_LIB_PATHS /usr/lib /usr/local/lib) +ENDIF(BUILD_OSX_BUNDLE) + +FIND_LIBRARY(FREETYPE_LIBRARY_RELEASE ${FREETYPE_LIBRARY_NAMES_RELEASE} ${FREETYPE_LIBRARY_NAMES} + PATHS + ${FREETYPE_LIB_PATHS} + NO_CMAKE_SYSTEM_PATH) +FIND_LIBRARY(FREETYPE_LIBRARY_DEBUG ${FREETYPE_LIBRARY_NAMES_DEBUG} + PATHS + ${FREETYPE_LIB_PATHS} + NO_CMAKE_SYSTEM_PATH) + +INCLUDE(LibraryDebugAndRelease) +SET_LIBRARY_FROM_DEBUG_AND_RELEASE(FREETYPE) + +# MESSAGE(STATUS "ft lib ${FREETYPE_LIBRARY}") +# MESSAGE(STATUS "ft2 build ${FREETYPE_INCLUDE_DIR_FT2BUILD}") +# MESSAGE(STATUS "ft header ${FREETYPE_INCLUDE_DIR_FTHEADER}") + +SET(FREETYPE_FIND_QUIETLY 1) + +IF (FREETYPE_LIBRARY) + IF (NOT FREETYPE_FIND_QUIETLY) + MESSAGE(STATUS "Found Freetype2: ${FREETYPE_LIBRARY}") + ENDIF (NOT FREETYPE_FIND_QUIETLY) + IF (FREETYPE_INCLUDE_DIR_FTHEADER AND FREETYPE_INCLUDE_DIR_FT2BUILD) + SET( FREETYPE_FOUND "YES" ) + SET( FREETYPE_INCLUDE_DIR + ${FREETYPE_INCLUDE_DIR_FT2BUILD} + ${FREETYPE_INCLUDE_DIR_FTHEADER} ) + SET( FREETYPE_LIBRARIES ${FREETYPE_LIBRARY} ) + FIND_PROGRAM(FREETYPE_CONFIG NAMES freetype-config PATHS ${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin /usr/bin /usr/nekoware/bin /usr/X11/bin) + EXEC_PROGRAM(${FREETYPE_CONFIG} ARGS --libs OUTPUT_VARIABLE LIBFREETYPE_LIBS) + EXEC_PROGRAM(${FREETYPE_CONFIG} ARGS --cflags OUTPUT_VARIABLE LIBFREETYPE_CFLAGS) + ENDIF (FREETYPE_INCLUDE_DIR_FTHEADER AND FREETYPE_INCLUDE_DIR_FT2BUILD) +ENDIF (FREETYPE_LIBRARY) diff --git a/cmake/modules/FindHYPHEN.cmake b/cmake/modules/FindHYPHEN.cmake new file mode 100644 index 0000000..921c94b --- /dev/null +++ b/cmake/modules/FindHYPHEN.cmake @@ -0,0 +1,29 @@ +# - Find HYPHEN library +# Find the native HYPHEN includes and library +# This module defines +# HYPHEN_INCLUDE_DIR, where to find hyphen.h, etc. +# HYPHEN_LIBRARIES, libraries to link against to use HYPHEN. +# HYPHEN_FOUND, If false, do not try to use HYPHEN. +# also defined, but not for general use are +# HYPHEN_LIBRARY, where to find the HYPHEN library. + +FIND_PATH(HYPHEN_INCLUDE_DIR hyphen.h) + +SET(HYPHEN_NAMES_RELEASE ${HYPHEN_NAMES_RELEASE} ${HYPHEN_NAMES} hyphen libhyphen) +SET(HYPHEN_NAMES_DEBUG ${HYPHEN_NAMES_DEBUG} hyphend libhyphend) + +FIND_LIBRARY(HYPHEN_LIBRARY_RELEASE NAMES ${HYPHEN_NAMES_RELEASE} ) +FIND_LIBRARY(HYPHEN_LIBRARY_DEBUG NAMES ${HYPHEN_NAMES_DEBUG} ) + +INCLUDE(LibraryDebugAndRelease) +SET_LIBRARY_FROM_DEBUG_AND_RELEASE(HYPHEN) + +# handle the QUIETLY and REQUIRED arguments and set HYPHEN_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(ScribusFindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(HYPHEN DEFAULT_MSG HYPHEN_LIBRARY HYPHEN_INCLUDE_DIR) + +IF(HYPHEN_FOUND) + SET( HYPHEN_LIBRARIES ${HYPHEN_LIBRARY} ) +ENDIF(HYPHEN_FOUND) + diff --git a/cmake/modules/FindJPEG.cmake b/cmake/modules/FindJPEG.cmake new file mode 100644 index 0000000..4534b4c --- /dev/null +++ b/cmake/modules/FindJPEG.cmake @@ -0,0 +1,35 @@ +# - Find JPEG
+# Find the native JPEG includes and library
+# This module defines
+# JPEG_INCLUDE_DIR, where to find jpeglib.h, etc.
+# JPEG_LIBRARIES, the libraries needed to use JPEG.
+# JPEG_FOUND, If false, do not try to use JPEG.
+# also defined, but not for general use are
+# JPEG_LIBRARY, where to find the JPEG library.
+
+FIND_PATH(JPEG_INCLUDE_DIR jpeglib.h)
+
+SET(JPEG_NAMES_RELEASE ${JPEG_NAMES_RELEASE} ${JPEG_NAMES} jpeg libjpeg)
+FIND_LIBRARY(JPEG_LIBRARY_RELEASE NAMES ${JPEG_NAMES_RELEASE} )
+
+SET(JPEG_NAMES_DEBUG ${JPEG_NAMES_DEBUG} jpegd libjpegd jpeg_d libjpeg_d)
+FIND_LIBRARY(JPEG_LIBRARY_DEBUG NAMES ${JPEG_NAMES_DEBUG} )
+
+INCLUDE(LibraryDebugAndRelease)
+SET_LIBRARY_FROM_DEBUG_AND_RELEASE(JPEG)
+
+
+# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(ScribusFindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG JPEG_LIBRARY JPEG_INCLUDE_DIR)
+
+IF(JPEG_FOUND)
+ SET(JPEG_LIBRARIES ${JPEG_LIBRARY})
+ENDIF(JPEG_FOUND)
+
+# Deprecated declarations.
+SET (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
+GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
+
+MARK_AS_ADVANCED(JPEG_LIBRARY JPEG_INCLUDE_DIR )
diff --git a/cmake/modules/FindLCMS.cmake b/cmake/modules/FindLCMS.cmake new file mode 100644 index 0000000..d3a291d --- /dev/null +++ b/cmake/modules/FindLCMS.cmake @@ -0,0 +1,61 @@ +# +# Find the native LCMS includes and library +# + +# This module defines +# LCMS_INCLUDE_DIR, where to find art*.h etc +# LCMS_LIBRARY, the libraries +# LCMS_FOUND, If false, do not try to use LCMS. +# LIBLCMS_LIBS, link information +# LIBLCMS_CFLAGS, cflags for include information + + +# INCLUDE(UsePkgConfig) + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +# PKGCONFIG(lcms _lcmsIncDir _lcmsLinkDir _lcmsLinkFlags _lcmsCflags) + +# SET(LCMS_LIBS ${_lcmsCflags}) + +FIND_PATH(LCMS_INCLUDE_DIR lcms.h + /usr/include + /usr/local/include + PATH_SUFFIXES lcms +) + +FIND_LIBRARY(LCMS_LIBRARY_RELEASE + NAMES ${LCMS_NAMES_RELEASE} ${LCMS_NAMES} lcms liblcms lcmsdll + PATHS /usr/lib /usr/local/lib +) + +FIND_LIBRARY(LCMS_LIBRARY_DEBUG + NAMES ${LCMS_NAMES_DEBUG} lcmsd liblcmsd lcmsdlld + PATHS /usr/lib /usr/local/lib +) + +INCLUDE(LibraryDebugAndRelease) +SET_LIBRARY_FROM_DEBUG_AND_RELEASE(LCMS) + +MESSAGE("LCMS ReleaseLibrary: ${LCMS_LIBRARY_RELEASE}") +MESSAGE("LCMS Debug Library: ${LCMS_LIBRARY_DEBUG}") +MESSAGE("LCMS Library: ${LCMS_LIBRARY}") + +IF (LCMS_LIBRARY AND LCMS_INCLUDE_DIR) + SET( LCMS_FOUND 1 ) + SET( LCMS_LIBRARIES ${LCMS_LIBRARY} ) +ELSE (LCMS_LIBRARY AND LCMS_INCLUDE_DIR) + SET( LCMS_FOUND 0 ) +ENDIF (LCMS_LIBRARY AND LCMS_INCLUDE_DIR) + +SET(LCMS_FIND_QUIETLY 1) + +IF (LCMS_FOUND) + IF (NOT LCMS_FIND_QUIETLY) + MESSAGE(STATUS "Found LittleCMS: ${LCMS_LIBRARY}") + ENDIF (NOT LCMS_FIND_QUIETLY) +ELSE (LCMS_FOUND) + IF (LCMS_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find LittleCMS") + ENDIF (LCMS_FIND_REQUIRED) +ENDIF (LCMS_FOUND) diff --git a/cmake/modules/FindLCMS2.cmake b/cmake/modules/FindLCMS2.cmake new file mode 100644 index 0000000..7484f56 --- /dev/null +++ b/cmake/modules/FindLCMS2.cmake @@ -0,0 +1,73 @@ +# +# Find the native LCMS includes and library +# + +# This module defines +# LCMS_INCLUDE_DIR, where to find art*.h etc +# LCMS_LIBRARY, the libraries +# LCMS_FOUND, If false, do not try to use LCMS. +# LIBLCMS_LIBS, link information +# LIBLCMS_CFLAGS, cflags for include information + + +# INCLUDE(UsePkgConfig) + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +# PKGCONFIG(lcms _lcmsIncDir _lcmsLinkDir _lcmsLinkFlags _lcmsCflags) + +# SET(LCMS2_LIBS ${_lcmsCflags}) + +FIND_PATH(LCMS2_INCLUDE_DIR lcms2.h + /usr/include + /usr/local/include + PATH_SUFFIXES lcms2 +) + +FIND_LIBRARY(LCMS2_LIBRARY_RELEASE + NAMES ${LCMS2_NAMES_RELEASE} ${LCMS2_NAMES} lcms2 liblcms2 lcms2dll + PATHS /usr/lib /usr/local/lib +) + +FIND_LIBRARY(LCMS2_LIBRARY_DEBUG + NAMES ${LCMS2_NAMES_DEBUG} lcms2d liblcms2d lcms2dlld + PATHS /usr/lib /usr/local/lib +) + +INCLUDE(LibraryDebugAndRelease) +SET_LIBRARY_FROM_DEBUG_AND_RELEASE(LCMS2) + +MESSAGE("LCMS 2 ReleaseLibrary: ${LCMS2_LIBRARY_RELEASE}") +MESSAGE("LCMS 2 Debug Library: ${LCMS2_LIBRARY_DEBUG}") +MESSAGE("LCMS 2 Library: ${LCMS2_LIBRARY}") + +IF (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + SET( LCMS2_FOUND 1 ) + SET( LCMS_LIBRARIES ${LCMS2_LIBRARY} ) +ELSE (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + SET( LCMS2_FOUND 0 ) +ENDIF (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + +SET(LCMS2_FIND_QUIETLY 1) + +IF (LCMS2_FOUND) + file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT) + string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS2_VERSION_MATCH ${LCMS2_VERSION_CONTENT}) + IF (LCMS2_VERSION_MATCH) + string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" LCMS2_VERSION ${LCMS2_VERSION_MATCH}) + IF (NOT LCMS2_FIND_QUIETLY) + string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION) + string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION) + MESSAGE(STATUS "Found LittleCMS 2, version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION} : ${LCMS2_LIBRARY}") + ENDIF (NOT LCMS2_FIND_QUIETLY) + ELSE (LCMS2_VERSION_MATCH) + IF (NOT LCMS2_FIND_QUIETLY) + MESSAGE(STATUS "Found LittleCMS 2, unknown version : ${LCMS2_LIBRARY}") + ENDIF (NOT LCMS2_FIND_QUIETLY) + SET(LCMS2_VERSION NOTFOUND) + ENDIF (LCMS2_VERSION_MATCH) +ELSE (LCMS2_FOUND) + IF (LCMS2_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find LittleCMS") + ENDIF (LCMS2_FIND_REQUIRED) +ENDIF (LCMS2_FOUND) diff --git a/cmake/modules/FindLIBPODOFO.cmake b/cmake/modules/FindLIBPODOFO.cmake new file mode 100644 index 0000000..8d7cc76 --- /dev/null +++ b/cmake/modules/FindLIBPODOFO.cmake @@ -0,0 +1,57 @@ +SET(useshared) +IF(WIN32) + IF(NOT DEFINED LIBPODOFO_SHARED) + MESSAGE("FATAL: Win32 users MUST set LIBPODOFO_SHARED") + MESSAGE("FATAL: Set -DLIBPODOFO_SHARED=0 if linking to a static library PoDoFo") + MESSAGE("FATAL: or -DLIBPODOFO_SHARED=1 if linking to a DLL build of PoDoFo") + MESSAGE(FATAL_ERROR "LIBPODOFO_SHARED unset on win32 build") + ELSE(NOT DEFINED LIBPODOFO_SHARED) + IF(LIBPODOFO_SHARED) + SET(useshared "-DUSING_SHARED_PODOFO") + ENDIF(LIBPODOFO_SHARED) + ENDIF(NOT DEFINED LIBPODOFO_SHARED) +ENDIF(WIN32) + +FIND_PATH(LIBPODOFO_INCLUDE_DIR + NAMES podofo/podofo.h + PATHS + "${LIBPODOFO_DIR}/include" + "${LIBPODOFO_DIR}/src" + "${LIBPODOFO_DIR}" + /usr/include + /usr/local/include + ) + +SET(LIBPODOFO_FIND_QUIETLY 1) + +FIND_LIBRARY(LIBPODOFO_LIBRARY + NAMES libpodofo podofo + PATHS + "${LIBPODOFO_DIR}/lib" + "${LIBPODOFO_DIR}/src" + "${LIBPODOFO_DIR}" + /usr/lib /usr/local/lib +) + +IF(LIBPODOFO_INCLUDE_DIR AND LIBPODOFO_LIBRARY) + SET(LIBPODOFO_FOUND TRUE CACHE BOOLEAN "Was libpodofo found") +ENDIF(LIBPODOFO_INCLUDE_DIR AND LIBPODOFO_LIBRARY) + +SET(LIBPODOFO_CFLAGS "${useshared}" CACHE STRING "Extra flags for compiling against PoDoFo") + +IF(NOT LIBPODOFO_FIND_QUIETLY) + IF(LIBPODOFO_INCLUDE_DIR) + MESSAGE("podofo/podofo.h: ${LIBPODOFO_INCLUDE_DIR}") + ELSE(LIBPODOFO_INCLUDE_DIR) + MESSAGE("podofo/podofo.h: not found") + ENDIF(LIBPODOFO_INCLUDE_DIR) + + IF(LIBPODOFO_LIBRARY) + MESSAGE("podofo lib: ${LIBPODOFO_LIBRARY}") + ELSE(LIBPODOFO_LIBRARY) + MESSAGE("podofo lib: not found") + ENDIF(LIBPODOFO_LIBRARY) + + MESSAGE("PoDoFo cflags: ${useshared}") + +ENDIF(NOT LIBPODOFO_FIND_QUIETLY) diff --git a/cmake/modules/FindPNG.cmake b/cmake/modules/FindPNG.cmake new file mode 100644 index 0000000..3b82f00 --- /dev/null +++ b/cmake/modules/FindPNG.cmake @@ -0,0 +1,75 @@ +# - Find the native PNG includes and library
+#
+# This module defines
+# PNG_INCLUDE_DIR, where to find png.h, etc.
+# PNG_LIBRARIES, the libraries to link against to use PNG.
+# PNG_DEFINITIONS - You should ADD_DEFINITONS(${PNG_DEFINITIONS}) before compiling code that includes png library files.
+# PNG_FOUND, If false, do not try to use PNG.
+# also defined, but not for general use are
+# PNG_LIBRARY, where to find the PNG library.
+# None of the above will be defined unles zlib can be found.
+# PNG depends on Zlib
+INCLUDE(FindZLIB)
+
+IF(ZLIB_FOUND)
+
+ FIND_PATH(PNG_PNG_INCLUDE_DIR png.h
+ /usr/local/include/libpng # OpenBSD
+ )
+
+ # On win32, qt statically links to zlib and libpng, and exports their symbols.
+ # We can just link to Qt to get zlib and libpng. We still require the user to
+ # supply their own headers on the search path, but they can and should just
+ # specify ${QTDIR}/src/3rdparty/zlib/include .
+ # To use this, you must use FindQt before FindPng.
+ IF(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+ MESSAGE("Using libpng from qt")
+ IF(NOT "${ZLIB_LIBRARY}" STREQUAL "${QT_QTCORE_LIBRARY}")
+ MESSAGE("WARNING: We may be using an external zlib but qt's libpng")
+ ENDIF(NOT "${ZLIB_LIBRARY}" STREQUAL "${QT_QTCORE_LIBRARY}")
+ SET(PNG_LIBRARY_RELEASE ${QT_QTCORE_LIBRARY_RELEASE})
+ SET(PNG_LIBRARY_DEBUG ${QT_QTCORE_LIBRARY_DEBUG})
+ SET(PNG_LIBRARY ${QT_QTCORE_LIBRARY})
+
+ ELSE(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+ SET(PNG_NAMES_RELEASE ${PNG_NAMES_RELEASE} ${PNG_NAMES} png libpng png13 libpng13)
+ FIND_LIBRARY(PNG_LIBRARY_RELEASE NAMES ${PNG_NAMES_RELEASE} )
+
+ SET(PNG_NAMES_DEBUG ${PNG_NAMES} pngd libpngd png13d libpng13d)
+ FIND_LIBRARY(PNG_LIBRARY_DEBUG NAMES ${PNG_NAMES_DEBUG} )
+
+ INCLUDE(LibraryDebugAndRelease)
+ SET_LIBRARY_FROM_DEBUG_AND_RELEASE(PNG)
+
+ ENDIF(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+ IF (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
+ # png.h includes zlib.h. Sigh.
+ SET(PNG_INCLUDE_DIR ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
+ IF(NOT USE_QT_ZLIB_PNGLIB)
+ # libpng requires zlib unless we're linking to both in the form of Qt
+ SET(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY})
+ ENDIF(NOT USE_QT_ZLIB_PNGLIB)
+
+ IF (CYGWIN)
+ IF(BUILD_SHARED_LIBS)
+ # No need to define PNG_USE_DLL here, because it's default for Cygwin.
+ ELSE(BUILD_SHARED_LIBS)
+ SET (PNG_DEFINITIONS -DPNG_STATIC)
+ ENDIF(BUILD_SHARED_LIBS)
+ ENDIF (CYGWIN)
+
+ ENDIF (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
+
+ENDIF(ZLIB_FOUND)
+
+# handle the QUIETLY and REQUIRED arguments and set PNG_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(ScribusFindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PNG DEFAULT_MSG PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
+
+MESSAGE("Using PNG Library: ${PNG_LIBRARY}")
+
+MARK_AS_ADVANCED(PNG_PNG_INCLUDE_DIR PNG_LIBRARY )
diff --git a/cmake/modules/FindQt3.cmake b/cmake/modules/FindQt3.cmake new file mode 100644 index 0000000..3fb188d --- /dev/null +++ b/cmake/modules/FindQt3.cmake @@ -0,0 +1,302 @@ +# - Locate Qt include paths and libraries +# This module defines: +# QT_INCLUDE_DIR - where to find qt.h, etc. +# QT_LIBRARIES - the libraries to link against to use Qt. +# QT_DEFINITIONS - definitions to use when +# compiling code that uses Qt. +# QT_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: +# QT_MOC_EXECUTABLE, where to find the moc tool. +# QT_UIC_EXECUTABLE, where to find the uic tool. +# QT_QT_LIBRARY, where to find the Qt library. +# QT_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 QT_MOC_EXECUTABLE is found +# QT_WRAP_UI set true if QT_UIC_EXECUTABLE is found + +FILE(GLOB GLOB_PATHS_BIN /usr/lib/qt-3*/bin/) +FIND_PATH(QT_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/local/include + /usr/lib/qt/include + /usr/include/qt + /usr/include + /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 +# QT_INCLUDE_DIR to NOTFOUND +IF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h) + SET(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to qt3 include directory" FORCE) +ENDIF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h) + +IF(QT_INCLUDE_DIR) + #extract the version string from qglobal.h + FILE(READ ${QT_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(QT_INCLUDE_DIR) +ENDIF(QT_INCLUDE_DIR) + +FILE(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/) +IF (QT_MT_REQUIRED) + FIND_LIBRARY(QT_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 + 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/local/lib + /usr/lib/qt/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +ELSE (QT_MT_REQUIRED) + FIND_LIBRARY(QT_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 + 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/local/lib + /usr/lib/qt/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) +ENDIF (QT_MT_REQUIRED) + +IF(QT_QT_LIBRARY) +ELSE(QT_QT_LIBRARY) +ENDIF(QT_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/local/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT_MOC_EXECUTABLE + NAMES moc moc-qt3 + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) + +FIND_PROGRAM(QT_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/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + ) + +IF(QT_MOC_EXECUTABLE) + SET ( QT_WRAP_CPP "YES") +ELSE(QT_MOC_EXECUTABLE) +ENDIF(QT_MOC_EXECUTABLE) + +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT_UIC_EXECUTABLE uic + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) +FIND_PROGRAM(QT_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/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + ) + +IF(QT_UIC_EXECUTABLE) + SET ( QT_WRAP_UI "YES") +ELSE(QT_UIC_EXECUTABLE) +ENDIF(QT_UIC_EXECUTABLE) + +IF (WIN32) + FIND_LIBRARY(QT_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 (QT_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 "${QT_MIN_VERSION}") + IF (NOT req_qt_major_vers) + MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_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 "${QT_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers "${QT_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_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: ${QT_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: ${QT_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: ${QT_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 (QT_MIN_VERSION) + +# if the include a library are found then we have it +IF(QT_INCLUDE_DIR) + IF(QT_QT_LIBRARY) + SET( QT_FOUND "YES" ) + ENDIF(QT_QT_LIBRARY) +ENDIF(QT_INCLUDE_DIR) + +IF(QT_FOUND) + SET( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} ) + SET( QT_DEFINITIONS "") + + IF (WIN32 AND NOT CYGWIN) + IF (QT_QTMAIN_LIBRARY) + # for version 3 + SET (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG) + SET (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} ) + SET (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32) + ELSE (QT_QTMAIN_LIBRARY) + # for version 2 + SET (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} ) + ENDIF (QT_QTMAIN_LIBRARY) + ELSE (WIN32 AND NOT CYGWIN) + SET (QT_LIBRARIES ${QT_QT_LIBRARY} ) + + SET (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG) + IF(QT_QT_LIBRARY MATCHES "qt-mt") + SET (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT) + ENDIF(QT_QT_LIBRARY MATCHES "qt-mt") + + ENDIF (WIN32 AND NOT CYGWIN) + + IF (QT_QASSISTANTCLIENT_LIBRARY) + SET (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES}) + ENDIF (QT_QASSISTANTCLIENT_LIBRARY) + + # Backwards compatibility for CMake1.4 and 1.2 + SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} ) + SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} ) + # for unix add X11 stuff + IF(UNIX) + FIND_PACKAGE(X11) + IF (X11_FOUND) + SET (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES}) + ENDIF (X11_FOUND) + IF (CMAKE_DL_LIBS) + SET (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS}) + ENDIF (CMAKE_DL_LIBS) + ENDIF(UNIX) + IF(QT_QT_LIBRARY MATCHES "qt-mt") + FIND_PACKAGE(Threads) + SET(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + ENDIF(QT_QT_LIBRARY MATCHES "qt-mt") +ENDIF(QT_FOUND) + + +IF (QT_MOC_EXECUTABLE) + SET ( QT_WRAP_CPP "YES") +ENDIF (QT_MOC_EXECUTABLE) + +IF (QT_UIC_EXECUTABLE) + SET ( QT_WRAP_UI "YES") +ENDIF (QT_UIC_EXECUTABLE) + + + +MARK_AS_ADVANCED( + QT_INCLUDE_DIR + QT_QT_LIBRARY + QT_QTMAIN_LIBRARY + QT_QASSISTANTCLIENT_LIBRARY + QT_UIC_EXECUTABLE + QT_MOC_EXECUTABLE + QT_WRAP_CPP + QT_WRAP_UI + ) diff --git a/cmake/modules/FindTIFF.cmake b/cmake/modules/FindTIFF.cmake new file mode 100644 index 0000000..ce11096 --- /dev/null +++ b/cmake/modules/FindTIFF.cmake @@ -0,0 +1,28 @@ +# - Find TIFF library
+# Find the native TIFF includes and library
+# This module defines
+# TIFF_INCLUDE_DIR, where to find tiff.h, etc.
+# TIFF_LIBRARIES, libraries to link against to use TIFF.
+# TIFF_FOUND, If false, do not try to use TIFF.
+# also defined, but not for general use are
+# TIFF_LIBRARY, where to find the TIFF library.
+
+FIND_PATH(TIFF_INCLUDE_DIR tiff.h)
+
+SET(TIFF_NAMES_RELEASE ${TIFF_NAMES_RELEASE} ${TIFF_NAMES} tiff libtiff)
+SET(TIFF_NAMES_DEBUG ${TIFF_NAMES_DEBUG} tiffd libtiffd)
+
+FIND_LIBRARY(TIFF_LIBRARY_RELEASE NAMES ${TIFF_NAMES_RELEASE} )
+FIND_LIBRARY(TIFF_LIBRARY_DEBUG NAMES ${TIFF_NAMES_DEBUG} )
+
+INCLUDE(LibraryDebugAndRelease)
+SET_LIBRARY_FROM_DEBUG_AND_RELEASE(TIFF)
+
+# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(ScribusFindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF DEFAULT_MSG TIFF_LIBRARY TIFF_INCLUDE_DIR)
+
+IF(TIFF_FOUND)
+ SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )
+ENDIF(TIFF_FOUND)
diff --git a/cmake/modules/FindZLIB.cmake b/cmake/modules/FindZLIB.cmake new file mode 100644 index 0000000..a272915 --- /dev/null +++ b/cmake/modules/FindZLIB.cmake @@ -0,0 +1,55 @@ +# - Find zlib
+# Find the native ZLIB includes and library
+#
+# ZLIB_INCLUDE_DIR - where to find zlib.h, etc.
+# ZLIB_LIBRARIES - List of libraries when using zlib.
+# ZLIB_FOUND - True if zlib found.
+
+
+IF (ZLIB_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(ZLIB_FIND_QUIETLY TRUE)
+ENDIF (ZLIB_INCLUDE_DIR)
+
+FIND_PATH(ZLIB_INCLUDE_DIR zlib.h)
+
+# On win32, qt statically links to zlib and libpng, and exports their symbols.
+# We can just link to Qt to get zlib and libpng. We still require the user to
+# supply their own headers on the search path, but they can and should just
+# specify ${QTDIR}/src/3rdparty/zlib/include .
+# To use this, you must use FindQt before FindZlib.
+IF(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+ MESSAGE("Using zlib from qt")
+ SET(ZLIB_LIBRARY_RELEASE ${QT_QTCORE_LIBRARY_RELEASE})
+ SET(ZLIB_LIBRARY_DEBUG ${QT_QTCORE_LIBRARY_DEBUG})
+ SET(ZLIB_LIBRARY ${QT_QTCORE_LIBRARY})
+
+ELSE(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+ SET(ZLIB_NAMES_RELEASE ${ZLIB_NAMES_RELEASE} ${ZLIB_NAMES} z zlib zdll zlib1)
+ FIND_LIBRARY(ZLIB_LIBRARY_RELEASE NAMES ${ZLIB_NAMES_RELEASE} )
+
+ # Find a debug library if one exists and use that for debug builds.
+ # This really only does anything for win32, but does no harm on other
+ # platforms.
+ SET(ZLIB_NAMES_DEBUG ${ZLIB_NAMES_DEBUG} zlibd zlib1d)
+ FIND_LIBRARY(ZLIB_LIBRARY_DEBUG NAMES ${ZLIB_NAMES_DEBUG})
+
+ INCLUDE(LibraryDebugAndRelease)
+ SET_LIBRARY_FROM_DEBUG_AND_RELEASE(ZLIB)
+
+ENDIF(QT_QTCORE_LIBRARY AND USE_QT_ZLIB_PNGLIB)
+
+# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(ScribusFindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB DEFAULT_MSG ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
+
+IF(ZLIB_FOUND)
+ SET( ZLIB_LIBRARIES ${ZLIB_LIBRARY} )
+ELSE(ZLIB_FOUND)
+ SET( ZLIB_LIBRARIES )
+ENDIF(ZLIB_FOUND)
+
+MARK_AS_ADVANCED( ZLIB_LIBRARY ZLIB_INCLUDE_DIR )
diff --git a/cmake/modules/LIBART_LGPLConfig.cmake b/cmake/modules/LIBART_LGPLConfig.cmake new file mode 100644 index 0000000..2730b12 --- /dev/null +++ b/cmake/modules/LIBART_LGPLConfig.cmake @@ -0,0 +1,49 @@ +# +# Find the native LIBART includes and library +# + +# This module defines +# LIBART_LGPL_INCLUDE_DIR, where to find art*.h etc +# LIBART_LGPL_LIBRARY, the libraries to link against to use LIBART. +# LIBART_LGPL_FOUND, If false, do not try to use LIBART. +# LIBART_LGPL_LIBS, link information +# LIBART_LGPL_CFLAGS, cflags for include information + + +INCLUDE(UsePkgConfig) + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +PKGCONFIG(libart-2.0 _libArtIncDir _libArtLinkDir _libArtLinkFlags _libArtCflags) + +SET(LIBART_LGPL_LIBS ${_libArtCflags}) + +FIND_PATH(LIBART_LGPL_INCLUDE_DIR libart_lgpl/libart.h +${_libArtIncDir} +/usr/include +/usr/local/include/ +PATH_SUFFIXES +libart-2.0 +) + +FIND_LIBRARY(LIBART_LGPL_LIBRARY NAMES art_lgpl_2 +PATHS +${_libArtLinkDir} +/usr/lib +/usr/local/lib +) + +SET(LIBART_LGPL_FIND_QUIETLY 1) + +IF (LIBART_LGPL_LIBRARY) + IF (LIBART_LGPL_INCLUDE_DIR) + SET( LIBART_LGPL_FOUND "YES" ) + IF(NOT LIBART_LGPL_FIND_QUIETLY) + MESSAGE(STATUS "Found Libart_LGPL: ${LIBART_LGPL_LIBRARY}") + ENDIF(NOT LIBART_LGPL_FIND_QUIETLY) + SET( LIBART_LGPL_LIBRARIES ${LIBART_LGPL_LIBRARY} ) + FIND_PROGRAM(LIBART_LGPL_CONFIG NAMES libart2-config PATHS ${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin /usr/bin /usr/nekoware/bin /usr/X11/bin) + EXEC_PROGRAM(${LIBART_LGPL_CONFIG} ARGS --libs OUTPUT_VARIABLE LIBART_LGPL_LIBS) + EXEC_PROGRAM(${LIBART_LGPL_CONFIG} ARGS --cflags OUTPUT_VARIABLE LIBART_LGPL_CFLAGS) + ENDIF (LIBART_LGPL_INCLUDE_DIR) +ENDIF (LIBART_LGPL_LIBRARY)
\ No newline at end of file diff --git a/cmake/modules/LibXml2Config.cmake b/cmake/modules/LibXml2Config.cmake new file mode 100644 index 0000000..7aa0db3 --- /dev/null +++ b/cmake/modules/LibXml2Config.cmake @@ -0,0 +1,43 @@ +# - Try to find LibXml2 +# Once done this will define +# +# LIBXML2_FOUND - system has LibXml2 +# LIBXML2_INCLUDE_DIR - the LibXml2 include directory +# LIBXML2_LIBRARIES - the libraries needed to use LibXml2 +# LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2 +# +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls + + +INCLUDE(UsePkgConfig) + +PKGCONFIG(libxml-2.0 _LibXml2IncDir _LibXml2LinkDir _LibXml2LinkFlags _LibXml2Cflags) + +SET(LIBXML2_DEFINITIONS ${_LibXml2Cflags}) + +FIND_PATH(LIBXML2_INCLUDE_DIR libxml/xpath.h + PATHS ${_LibXml2IncDir} PATH_SUFFIXES libxml2 +) + +FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2 + PATHS ${_LibXml2LinkDir} +) + +IF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + SET(LIBXML2_FOUND TRUE) +ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + +SET(LibXml2_FIND_QUIETLY 1) + +IF (LIBXML2_FOUND) + IF (NOT LibXml2_FIND_QUIETLY) + MESSAGE(STATUS "Found LibXml2: ${LIBXML2_LIBRARIES}") + ENDIF (NOT LibXml2_FIND_QUIETLY) +ELSE (LIBXML2_FOUND) + IF (LibXml2_FIND_REQUIRED) + MESSAGE(SEND_ERROR "Could NOT find LibXml2") + ENDIF (LibXml2_FIND_REQUIRED) +ENDIF (LIBXML2_FOUND) + +MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES)
\ No newline at end of file diff --git a/cmake/modules/LibraryDebugAndRelease.cmake b/cmake/modules/LibraryDebugAndRelease.cmake new file mode 100644 index 0000000..b7f64f0 --- /dev/null +++ b/cmake/modules/LibraryDebugAndRelease.cmake @@ -0,0 +1,25 @@ +#
+# This macro is used when we may have a debug and or release build of a library,
+# and we want to produce a single easy to use library string that'll do the right
+# thing. If both debug and release versions are available, we'll automatically use the
+# debug version for debug builds and the release version for release builds.
+#
+# If only one build exists, we use that one irrespective of build type.
+#
+MACRO(SET_LIBRARY_FROM_DEBUG_AND_RELEASE _NAME)
+
+ IF(NOT DEFINED "${_NAME}_LIBRARY_RELEASE" OR NOT DEFINED "${_NAME}_LIBRARY_DEBUG")
+ MESSAGE(FATAL_ERROR "${_NAME}_LIBRARY_DEBUG OR ${_NAME}_LIBRARY_RELEASE undefined")
+ ENDIF(NOT DEFINED "${_NAME}_LIBRARY_RELEASE" OR NOT DEFINED "${_NAME}_LIBRARY_DEBUG")
+ IF(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
+ SET(${_NAME}_LIBRARY "optimized;${${_NAME}_LIBRARY_RELEASE};debug;${${_NAME}_LIBRARY_DEBUG}")
+ ELSE(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
+ IF(${_NAME}_LIBRARY_DEBUG)
+ MESSAGE("WARNING: ${_NAME} debug library will be used even for release builds")
+ SET(${_NAME}_LIBRARY ${${_NAME}_LIBRARY_DEBUG})
+ ELSE(${_NAME}_LIBRARY_DEBUG)
+ SET(${_NAME}_LIBRARY ${${_NAME}_LIBRARY_RELEASE})
+ ENDIF(${_NAME}_LIBRARY_DEBUG)
+ ENDIF(${_NAME}_LIBRARY_RELEASE AND ${_NAME}_LIBRARY_DEBUG)
+
+ENDMACRO(SET_LIBRARY_FROM_DEBUG_AND_RELEASE)
diff --git a/cmake/modules/SCRIBUSQTConfig.cmake b/cmake/modules/SCRIBUSQTConfig.cmake new file mode 100644 index 0000000..d1d52e8 --- /dev/null +++ b/cmake/modules/SCRIBUSQTConfig.cmake @@ -0,0 +1,41 @@ +#Based on QT4_QRAP_UI/CPP from cmake 2.3.4 + MACRO(SCRIBUS_QT_WRAP_UI outfiles ) + + FOREACH(it ${ARGN}) + GET_FILENAME_COMPONENT(outfile ${it} NAME_WE) + SET(infile ${CMAKE_CURRENT_SOURCE_DIR}/${it}) + SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h) + ADD_CUSTOM_COMMAND(OUTPUT ${outfile} + COMMAND ${QT_UIC_EXECUTABLE} + ARGS -o ${outfile} ${infile} + MAIN_DEPENDENCY ${infile}) + SET(${outfiles} ${${outfiles}} ${outfile}) + ENDFOREACH(it) + + ENDMACRO(SCRIBUS_QT_WRAP_UI) + + MACRO(SCRIBUS_QT_WRAP_CPP outfiles ) + + # get include dirs + GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES) + SET(moc_includes) + #FOREACH(it ${moc_includes_tmp}) + # SET(moc_includes ${moc_includes} "-I${it}") + #ENDFOREACH(it) + + FOREACH(it ${ARGN}) + GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE) + + GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE) +# SET(infile ${CMAKE_CURRENT_SOURCE_DIR}/${it}) + SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outfilename}.moc) + ADD_CUSTOM_COMMAND(OUTPUT ${outfile} + COMMAND ${QT_MOC_EXECUTABLE} +# ARGS ${moc_includes} -o ${outfile} ${infile} + ARGS -o ${outfile} ${infile} +# MAIN_DEPENDENCY ${infile}) + DEPENDS ${infile}) + SET(${outfiles} ${${outfiles}} ${outfile}) + ENDFOREACH(it) + + ENDMACRO(SCRIBUS_QT_WRAP_CPP) diff --git a/cmake/modules/ScribusFindPackageHandleStandardArgs.cmake b/cmake/modules/ScribusFindPackageHandleStandardArgs.cmake new file mode 100644 index 0000000..0af0d42 --- /dev/null +++ b/cmake/modules/ScribusFindPackageHandleStandardArgs.cmake @@ -0,0 +1,66 @@ +#
+# This file was copied from CMake 2.5. It's used to permit CMake 2.4
+# to use the CMake 2.5-derived find scripts here.
+#
+IF (NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
+ # Use the original from cmake 2.5 if possible
+ INCLUDE(FindPackageHandleStandardArgs)
+ELSE(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
+ # or define our own...
+
+# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME (DEFAULT_MSG|"Custom failure message") VAR1 ... )
+# This macro is intended to be used in FindXXX.cmake modules files.
+# It handles the REQUIRED and QUIET argument to FIND_PACKAGE() and
+# it also sets the <UPPERCASED_NAME>_FOUND variable.
+# The package is found if all variables listed are TRUE.
+# Example:
+#
+# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
+#
+# LibXml2 is considered to be found, if both LIBXML2_LIBRARIES and
+# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
+# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
+# independent whether QUIET was used or not.
+# If it is found, the location is reported using the VAR1 argument, so
+# here a message "Found LibXml2: /usr/lib/libxml2.so" will be printed out.
+# If the second argument is DEFAULT_MSG, the message in the failure case will
+# be "Could NOT find LibXml2", if you don't like this message you can specify
+# your own custom failure message there.
+
+MACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
+
+ IF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
+ SET(_FAIL_MESSAGE "Could NOT find ${_NAME}")
+ ELSE("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
+ SET(_FAIL_MESSAGE "${_FAIL_MSG}")
+ ENDIF("${_FAIL_MSG}" STREQUAL "DEFAULT_MSG")
+
+ STRING(TOUPPER ${_NAME} _NAME_UPPER)
+
+ SET(${_NAME_UPPER}_FOUND TRUE)
+ IF(NOT ${_VAR1})
+ SET(${_NAME_UPPER}_FOUND FALSE)
+ ENDIF(NOT ${_VAR1})
+
+ FOREACH(_CURRENT_VAR ${ARGN})
+ IF(NOT ${_CURRENT_VAR})
+ SET(${_NAME_UPPER}_FOUND FALSE)
+ ENDIF(NOT ${_CURRENT_VAR})
+ ENDFOREACH(_CURRENT_VAR)
+
+ IF (${_NAME_UPPER}_FOUND)
+ IF (NOT ${_NAME}_FIND_QUIETLY)
+ MESSAGE(STATUS "Found ${_NAME}: ${${_VAR1}}")
+ ENDIF (NOT ${_NAME}_FIND_QUIETLY)
+ ELSE (${_NAME_UPPER}_FOUND)
+ IF (${_NAME}_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE}")
+ ELSE (${_NAME}_FIND_REQUIRED)
+ IF (NOT ${_NAME}_FIND_QUIETLY)
+ MESSAGE(STATUS "${_FAIL_MESSAGE}")
+ ENDIF (NOT ${_NAME}_FIND_QUIETLY)
+ ENDIF (${_NAME}_FIND_REQUIRED)
+ ENDIF (${_NAME_UPPER}_FOUND)
+ENDMACRO(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
+
+ENDIF(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
diff --git a/cmake/modules/oldFindQt3.cmake b/cmake/modules/oldFindQt3.cmake new file mode 100644 index 0000000..f2a197d --- /dev/null +++ b/cmake/modules/oldFindQt3.cmake @@ -0,0 +1,290 @@ +# - Locate Qt include paths and libraries +# This module defines: +# QT_INCLUDE_DIR - where to find qt.h, etc. +# QT_LIBRARIES - the libraries to link against to use Qt. +# QT_DEFINITIONS - definitions to use when +# compiling code that uses Qt. +# QT_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: +# QT_MOC_EXECUTABLE, where to find the moc tool. +# QT_UIC_EXECUTABLE, where to find the uic tool. +# QT_QT_LIBRARY, where to find the Qt library. +# QT_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 QT_MOC_EXECUTABLE is found +# QT_WRAP_UI set true if QT_UIC_EXECUTABLE is found + +FILE(GLOB GLOB_PATHS_BIN /usr/lib/qt-3*/bin/) +FIND_PATH(QT_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/local/include + /usr/lib/qt/include + /usr/include/qt + /usr/include + /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 +# QT_INCLUDE_DIR to NOTFOUND +IF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h) + SET(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to qt3 include directory" FORCE) +ENDIF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h) + +IF(QT_INCLUDE_DIR) + #extract the version string from qglobal.h + FILE(READ ${QT_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" QGLOBAL_H "${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 "${QGLOBAL_H}") +ELSE(QT_INCLUDE_DIR) +ENDIF(QT_INCLUDE_DIR) + +FILE(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/) +IF (QT_MT_REQUIRED) + FIND_LIBRARY(QT_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 + 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/local/lib + /usr/lib/qt/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +ELSE (QT_MT_REQUIRED) + FIND_LIBRARY(QT_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 + 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/local/lib + /usr/lib/qt/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) +ENDIF (QT_MT_REQUIRED) + +IF(QT_QT_LIBRARY) +ELSE(QT_QT_LIBRARY) +ENDIF(QT_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/local/lib + /usr/lib + /usr/share/qt3/lib + C:/Progra~1/qt/lib + /usr/X11R6/lib + ) + +FIND_PROGRAM(QT_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/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + NO_DEFAULT_PATH + ) + +IF(QT_MOC_EXECUTABLE) + SET ( QT_WRAP_CPP "YES") +ELSE(QT_MOC_EXECUTABLE) +ENDIF(QT_MOC_EXECUTABLE) + +FIND_PROGRAM(QT_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/share/qt3/bin + C:/Progra~1/qt/bin + /usr/X11R6/bin + NO_DEFAULT_PATH + ) + +IF(QT_UIC_EXECUTABLE) + SET ( QT_WRAP_UI "YES") +ELSE(QT_UIC_EXECUTABLE) +ENDIF(QT_UIC_EXECUTABLE) + +IF (WIN32) + FIND_LIBRARY(QT_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 (QT_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 "${QT_MIN_VERSION}") + IF (NOT req_qt_major_vers) + MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_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 "${QT_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers "${QT_MIN_VERSION}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_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: ${QT_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: ${QT_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: ${QT_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 (QT_MIN_VERSION) + +# if the include a library are found then we have it +IF(QT_INCLUDE_DIR) + IF(QT_QT_LIBRARY) + SET( QT_FOUND "YES" ) + ENDIF(QT_QT_LIBRARY) +ENDIF(QT_INCLUDE_DIR) + +IF(QT_FOUND) + SET( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} ) + SET( QT_DEFINITIONS "") + + IF (WIN32 AND NOT CYGWIN) + IF (QT_QTMAIN_LIBRARY) + # for version 3 + SET (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG) + SET (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} ) + SET (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32) + ELSE (QT_QTMAIN_LIBRARY) + # for version 2 + SET (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} ) + ENDIF (QT_QTMAIN_LIBRARY) + ELSE (WIN32 AND NOT CYGWIN) + SET (QT_LIBRARIES ${QT_QT_LIBRARY} ) + + SET (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG) + IF(QT_QT_LIBRARY MATCHES "qt-mt") + SET (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT) + ENDIF(QT_QT_LIBRARY MATCHES "qt-mt") + + ENDIF (WIN32 AND NOT CYGWIN) + + IF (QT_QASSISTANTCLIENT_LIBRARY) + SET (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES}) + ENDIF (QT_QASSISTANTCLIENT_LIBRARY) + + # Backwards compatibility for CMake1.4 and 1.2 + SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} ) + SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} ) + # for unix add X11 stuff + IF(UNIX) + FIND_PACKAGE(X11) + IF (X11_FOUND) + SET (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES}) + ENDIF (X11_FOUND) + IF (CMAKE_DL_LIBS) + SET (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS}) + ENDIF (CMAKE_DL_LIBS) + ENDIF(UNIX) + IF(QT_QT_LIBRARY MATCHES "qt-mt") + FIND_PACKAGE(Threads) + SET(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) + ENDIF(QT_QT_LIBRARY MATCHES "qt-mt") +ENDIF(QT_FOUND) + + +IF (QT_MOC_EXECUTABLE) + SET ( QT_WRAP_CPP "YES") +ENDIF (QT_MOC_EXECUTABLE) + +IF (QT_UIC_EXECUTABLE) + SET ( QT_WRAP_UI "YES") +ENDIF (QT_UIC_EXECUTABLE) + + + +MARK_AS_ADVANCED( + QT_INCLUDE_DIR + QT_QT_LIBRARY + QT_QTMAIN_LIBRARY + QT_QASSISTANTCLIENT_LIBRARY + QT_UIC_EXECUTABLE + QT_MOC_EXECUTABLE + QT_WRAP_CPP + QT_WRAP_UI + ) |