summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-09-19 20:11:53 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2006-09-19 20:11:53 (GMT)
commit8b46841b6d5570423ed4e649eff96e794b85bd57 (patch)
tree5aaed4747f912d39df30a48764fe5a914d57412b
parent627758b7ae6cdbe204cf51a60b062a0ed3187c72 (diff)
downloadCMake-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-SCRIPTS22
-rw-r--r--Modules/FindASPELL.cmake40
-rw-r--r--Modules/FindBZip2.cmake43
-rw-r--r--Modules/FindHSPELL.cmake42
-rw-r--r--Modules/FindJasper.cmake43
-rw-r--r--Modules/FindLibXml2.cmake59
-rw-r--r--Modules/FindLibXslt.cmake54
-rw-r--r--Modules/FindOpenSSL.cmake70
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)
+