diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-09-19 20:11:53 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-09-19 20:11:53 (GMT) |
commit | 8b46841b6d5570423ed4e649eff96e794b85bd57 (patch) | |
tree | 5aaed4747f912d39df30a48764fe5a914d57412b | |
parent | 627758b7ae6cdbe204cf51a60b062a0ed3187c72 (diff) | |
download | CMake-8b46841b6d5570423ed4e649eff96e794b85bd57.zip CMake-8b46841b6d5570423ed4e649eff96e794b85bd57.tar.gz CMake-8b46841b6d5570423ed4e649eff96e794b85bd57.tar.bz2 |
ENH: add cmake modules for some common libraries: aspell, hspell, bzip2,
jasper (jpeg2000), libxml2 and libxslt and openssl and the accompanying
license (BSD)
Alex
-rw-r--r-- | Modules/COPYING-CMAKE-SCRIPTS | 22 | ||||
-rw-r--r-- | Modules/FindASPELL.cmake | 40 | ||||
-rw-r--r-- | Modules/FindBZip2.cmake | 43 | ||||
-rw-r--r-- | Modules/FindHSPELL.cmake | 42 | ||||
-rw-r--r-- | Modules/FindJasper.cmake | 43 | ||||
-rw-r--r-- | Modules/FindLibXml2.cmake | 59 | ||||
-rw-r--r-- | Modules/FindLibXslt.cmake | 54 | ||||
-rw-r--r-- | Modules/FindOpenSSL.cmake | 70 |
8 files changed, 373 insertions, 0 deletions
diff --git a/Modules/COPYING-CMAKE-SCRIPTS b/Modules/COPYING-CMAKE-SCRIPTS new file mode 100644 index 0000000..4b41776 --- /dev/null +++ b/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/Modules/FindASPELL.cmake b/Modules/FindASPELL.cmake new file mode 100644 index 0000000..978407d --- /dev/null +++ b/Modules/FindASPELL.cmake @@ -0,0 +1,40 @@ +# - Try to find ASPELL +# Once done this will define +# +# ASPELL_FOUND - system has ASPELL +# ASPELL_INCLUDE_DIR - the ASPELL include directory +# ASPELL_LIBRARIES - The libraries needed to use ASPELL +# ASPELL_DEFINITIONS - Compiler switches required for using ASPELL + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@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 (ASPELL_INCLUDE_DIR AND ASPELL_LIBRARIES) + # Already in cache, be silent + SET(ASPELL_FIND_QUIETLY TRUE) +ENDIF (ASPELL_INCLUDE_DIR AND ASPELL_LIBRARIES) + +FIND_PATH(ASPELL_INCLUDE_DIR aspell.h ) + +FIND_LIBRARY(ASPELL_LIBRARIES NAMES aspell aspell-15) + +IF (ASPELL_INCLUDE_DIR AND ASPELL_LIBRARIES) + SET(ASPELL_FOUND TRUE) +ELSE (ASPELL_INCLUDE_DIR AND ASPELL_LIBRARIES) + SET(ASPELL_FOUND FALSE) +ENDIF (ASPELL_INCLUDE_DIR AND ASPELL_LIBRARIES) + +IF (ASPELL_FOUND) + IF (NOT ASPELL_FIND_QUIETLY) + MESSAGE(STATUS "Found ASPELL: ${ASPELL_LIBRARIES}") + ENDIF (NOT ASPELL_FIND_QUIETLY) +ELSE (ASPELL_FOUND) + IF (ASPELL_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find ASPELL") + ENDIF (ASPELL_FIND_REQUIRED) +ENDIF (ASPELL_FOUND) + +MARK_AS_ADVANCED(ASPELL_INCLUDE_DIR ASPELL_LIBRARIES) diff --git a/Modules/FindBZip2.cmake b/Modules/FindBZip2.cmake new file mode 100644 index 0000000..c846424 --- /dev/null +++ b/Modules/FindBZip2.cmake @@ -0,0 +1,43 @@ +# - Try to find BZip2 +# Once done this will define +# +# BZIP2_FOUND - system has BZip2 +# BZIP2_INCLUDE_DIR - the BZip2 include directory +# BZIP2_LIBRARIES - Link these to use BZip2 +# BZIP2_DEFINITIONS - Compiler switches required for using BZip2 +# BZIP2_NEED_PREFIX - this is set if the functions are prefixed with BZ2_ + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@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 (BZIP2_INCLUDE_DIR AND BZIP2_LIBRARIES) + SET(BZip2_FIND_QUIETLY TRUE) +ENDIF (BZIP2_INCLUDE_DIR AND BZIP2_LIBRARIES) + +FIND_PATH(BZIP2_INCLUDE_DIR bzlib.h ) + +FIND_LIBRARY(BZIP2_LIBRARIES NAMES bz2 bzip2 ) + +IF (BZIP2_INCLUDE_DIR AND BZIP2_LIBRARIES) + SET(BZIP2_FOUND TRUE) + INCLUDE(CheckLibraryExists) + CHECK_LIBRARY_EXISTS(${BZIP2_LIBRARIES} BZ2_bzCompressInit "" BZIP2_NEED_PREFIX) +ELSE (BZIP2_INCLUDE_DIR AND BZIP2_LIBRARIES) + SET(BZIP2_FOUND FALSE) +ENDIF (BZIP2_INCLUDE_DIR AND BZIP2_LIBRARIES) + +IF (BZIP2_FOUND) + IF (NOT BZip2_FIND_QUIETLY) + MESSAGE(STATUS "Found BZip2: ${BZIP2_LIBRARIES}") + ENDIF (NOT BZip2_FIND_QUIETLY) +ELSE (BZIP2_FOUND) + IF (BZip2_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find BZip2") + ENDIF (BZip2_FIND_REQUIRED) +ENDIF (BZIP2_FOUND) + +MARK_AS_ADVANCED(BZIP2_INCLUDE_DIR BZIP2_LIBRARIES) + diff --git a/Modules/FindHSPELL.cmake b/Modules/FindHSPELL.cmake new file mode 100644 index 0000000..a2b93a7 --- /dev/null +++ b/Modules/FindHSPELL.cmake @@ -0,0 +1,42 @@ +# - Try to find HSPELL +# Once done this will define +# +# HSPELL_FOUND - system has HSPELL +# HSPELL_INCLUDE_DIR - the HSPELL include directory +# HSPELL_LIBRARIES - The libraries needed to use HSPELL +# HSPELL_DEFINITIONS - Compiler switches required for using HSPELL + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@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 (HSPELL_INCLUDE_DIR AND HSPELL_LIBRARIES) + # Already in cache, be silent + SET(HSPELL_FIND_QUIETLY TRUE) +ENDIF (HSPELL_INCLUDE_DIR AND HSPELL_LIBRARIES) + + +FIND_PATH(HSPELL_INCLUDE_DIR hspell.h ) + +FIND_LIBRARY(HSPELL_LIBRARIES NAMES hspell ) + +IF (HSPELL_INCLUDE_DIR AND HSPELL_LIBRARIES) + SET(HSPELL_FOUND TRUE) +ELSE (HSPELL_INCLUDE_DIR AND HSPELL_LIBRARIES) + SET(HSPELL_FOUND FALSE) +ENDIF (HSPELL_INCLUDE_DIR AND HSPELL_LIBRARIES) + +IF (HSPELL_FOUND) + IF (NOT HSPELL_FIND_QUIETLY) + MESSAGE(STATUS "Found HSPELL: ${HSPELL_LIBRARIES}") + ENDIF (NOT HSPELL_FIND_QUIETLY) +ELSE (HSPELL_FOUND) + IF (HSPELL_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find HSPELL") + ENDIF (HSPELL_FIND_REQUIRED) +ENDIF (HSPELL_FOUND) + +MARK_AS_ADVANCED(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES) + diff --git a/Modules/FindJasper.cmake b/Modules/FindJasper.cmake new file mode 100644 index 0000000..ac284c3 --- /dev/null +++ b/Modules/FindJasper.cmake @@ -0,0 +1,43 @@ +# - Try to find the Jasper JPEG2000 library +# Once done this will define +# +# JASPER_FOUND - system has Jasper +# JASPER_INCLUDE_DIR - the Jasper include directory +# JASPER_LIBRARIES - The libraries needed to use Jasper + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +FIND_PACKAGE(JPEG) + +IF (JASPER_INCLUDE_DIR AND JASPER_LIBRARIES AND JPEG_LIBRARIES) + # Already in cache, be silent + SET(Jasper_FIND_QUIETLY TRUE) +ENDIF (JASPER_INCLUDE_DIR AND JASPER_LIBRARIES AND JPEG_LIBRARIES) + +FIND_PATH(JASPER_INCLUDE_DIR jasper/jasper.h) + +FIND_LIBRARY(JASPER_LIBRARY NAMES jasper libjasper) + +IF (JASPER_INCLUDE_DIR AND JASPER_LIBRARY AND JPEG_LIBRARIES) + SET(JASPER_FOUND TRUE) + SET(JASPER_LIBRARIES ${JASPER_LIBRARY} ${JPEG_LIBRARIES} ) +ELSE (JASPER_INCLUDE_DIR AND JASPER_LIBRARY AND JPEG_LIBRARIES) + SET(JASPER_FOUND FALSE) +ENDIF (JASPER_INCLUDE_DIR AND JASPER_LIBRARY AND JPEG_LIBRARIES) + + +IF (JASPER_FOUND) + IF (NOT Jasper_FIND_QUIETLY) + MESSAGE(STATUS "Found jasper: ${JASPER_LIBRARIES}") + ENDIF (NOT Jasper_FIND_QUIETLY) +ELSE (JASPER_FOUND) + IF (Jasper_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find jasper library") + ENDIF (Jasper_FIND_REQUIRED) +ENDIF (JASPER_FOUND) + +MARK_AS_ADVANCED(JASPER_INCLUDE_DIR JASPER_LIBRARIES JASPER_LIBRARY) diff --git a/Modules/FindLibXml2.cmake b/Modules/FindLibXml2.cmake new file mode 100644 index 0000000..b45d729 --- /dev/null +++ b/Modules/FindLibXml2.cmake @@ -0,0 +1,59 @@ +# - 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 +# +# Copyright (c) 2006, Alexander Neundorf <neundorf@kde.org> +# This code is available under the BSD license, see licenses/BSD for details. + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@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 (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + # in cache already + SET(LibXml2_FIND_QUIETLY TRUE) +ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + +IF (NOT WIN32) + # 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}) +ENDIF (NOT WIN32) + +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) +ELSE (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + SET(LIBXML2_FOUND FALSE) +ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES) + +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) + diff --git a/Modules/FindLibXslt.cmake b/Modules/FindLibXslt.cmake new file mode 100644 index 0000000..fcebd0c --- /dev/null +++ b/Modules/FindLibXslt.cmake @@ -0,0 +1,54 @@ +# - Try to find LibXslt +# Once done this will define +# +# LIBXSLT_FOUND - system has LibXslt +# LIBXSLT_INCLUDE_DIR - the LibXslt include directory +# LIBXSLT_LIBRARIES - Link these to LibXslt +# LIBXSLT_DEFINITIONS - Compiler switches required for using LibXslt + +# Copyright (c) 2006, Alexander Neundorf, <neundorf@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 (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES) + # in cache already + SET(LibXslt_FIND_QUIETLY TRUE) +ENDIF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES) + +IF (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + INCLUDE(UsePkgConfig) + PKGCONFIG(libxslt _LibXsltIncDir _LibXsltLinkDir _LibXsltLinkFlags _LibXsltCflags) + SET(LIBXSLT_DEFINITIONS ${_LibXsltCflags}) +ENDIF (NOT WIN32) + +FIND_PATH(LIBXSLT_INCLUDE_DIR libxslt/xslt.h + ${_LibXsltIncDir} + ) + +FIND_LIBRARY(LIBXSLT_LIBRARIES NAMES xslt libxslt + PATHS + ${_LibXsltLinkDir} + ) + +IF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES) + SET(LIBXSLT_FOUND TRUE) +ELSE (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES) + SET(LIBXSLT_FOUND FALSE) +ENDIF (LIBXSLT_INCLUDE_DIR AND LIBXSLT_LIBRARIES) + +IF (LIBXSLT_FOUND) + IF (NOT LibXslt_FIND_QUIETLY) + MESSAGE(STATUS "Found LibXslt: ${LIBXSLT_LIBRARIES}") + ENDIF (NOT LibXslt_FIND_QUIETLY) +ELSE (LIBXSLT_FOUND) + IF (LibXslt_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could NOT find LibXslt") + ENDIF (LibXslt_FIND_REQUIRED) +ENDIF (LIBXSLT_FOUND) + +MARK_AS_ADVANCED(LIBXSLT_INCLUDE_DIR LIBXSLT_LIBRARIES) + diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake new file mode 100644 index 0000000..0172df8 --- /dev/null +++ b/Modules/FindOpenSSL.cmake @@ -0,0 +1,70 @@ +# - Try to find the OpenSSL encryption library
+# Once done this will define
+#
+# OPENSSL_FOUND - system has the OpenSSL library
+# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
+# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@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(OPENSSL_LIBRARIES)
+ SET(OpenSSL_FIND_QUIETLY TRUE)
+ENDIF(OPENSSL_LIBRARIES)
+
+IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ SET(LIB_FOUND 1)
+ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+
+FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h )
+
+IF(WIN32 AND MSVC)
+ # /MD and /MDd are the standard values - if somone wants to use
+ # others, the libnames have to change here too
+ # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
+
+ FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32)
+ FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32)
+
+ IF(MSVC_IDE)
+ IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG})
+ ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ MESSAGE(FATAL_ERROR "Could not find the debug and release version of openssl")
+ ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ ELSE(MSVC_IDE)
+ STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
+ IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG})
+ ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE})
+ ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ ENDIF(MSVC_IDE)
+ MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
+ELSE(WIN32 AND MSVC)
+
+ FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD )
+
+ENDIF(WIN32 AND MSVC)
+
+IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+ SET(OPENSSL_FOUND TRUE)
+ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+ SET(OPENSSL_FOUND FALSE)
+ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+
+IF (OPENSSL_FOUND)
+ IF (NOT OpenSSL_FIND_QUIETLY)
+ MESSAGE(STATUS "Found OpenSSL: ${OPENSSL_LIBRARIES}")
+ ENDIF (NOT OpenSSL_FIND_QUIETLY)
+ELSE (OPENSSL_FOUND)
+ IF (OpenSSL_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could NOT find OpenSSL")
+ ENDIF (OpenSSL_FIND_REQUIRED)
+ENDIF (OPENSSL_FOUND)
+
+MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+
|