summaryrefslogtreecommitdiff
path: root/3rdparty/cmake
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/cmake')
-rw-r--r--3rdparty/cmake/FindFunctionLibrary.cmake47
-rw-r--r--3rdparty/cmake/FindMYSQL.cmake37
-rw-r--r--3rdparty/cmake/FindPCRE.cmake36
3 files changed, 120 insertions, 0 deletions
diff --git a/3rdparty/cmake/FindFunctionLibrary.cmake b/3rdparty/cmake/FindFunctionLibrary.cmake
new file mode 100644
index 000000000..f1d32001e
--- /dev/null
+++ b/3rdparty/cmake/FindFunctionLibrary.cmake
@@ -0,0 +1,47 @@
+# - Check which library is needed to link a C function
+# find_function_library( <function> <variable> [<library> ...] )
+#
+# Check which library provides the <function>.
+# Sets <variable> to 0 if found in the global libraries.
+# Sets <variable> to the library path if found in the provided libraries.
+# Raises a FATAL_ERROR if not found.
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+# CMAKE_REQUIRED_FLAGS = string of compile command line flags
+# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+# CMAKE_REQUIRED_INCLUDES = list of include directories
+# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+include( CheckFunctionExists )
+
+macro( find_function_library FUNC VAR )
+ if( "${VAR}" MATCHES "^${VAR}$" )
+ CHECK_FUNCTION_EXISTS( ${FUNC} ${VAR} )
+ if( ${VAR} )
+ message( STATUS "Found ${FUNC} in global libraries" )
+ set( ${VAR} 0 CACHE INTERNAL "Found ${FUNC} in global libraries" )# global
+ else()
+ foreach( LIB IN ITEMS ${ARGN} )
+ message( STATUS "Looking for ${FUNC} in ${LIB}" )
+ find_library( ${LIB}_LIBRARY ${LIB} )
+ mark_as_advanced( ${LIB}_LIBRARY )
+ if( ${LIB}_LIBRARY )
+ unset( ${VAR} CACHE )
+ set( CMAKE_REQUIRED_LIBRARIES ${${LIB}_LIBRARY} )
+ CHECK_FUNCTION_EXISTS( ${FUNC} ${VAR} )
+ set( CMAKE_REQUIRED_LIBRARIES )
+ if( ${VAR} )
+ message( STATUS "Found ${FUNC} in ${LIB}: ${${LIB}_LIBRARY}" )
+ set( ${VAR} ${${LIB}_LIBRARY} CACHE INTERNAL "Found ${FUNC} in ${LIB}" )# lib
+ break()
+ endif()
+ endif()
+ endforeach()
+ if( NOT ${VAR} )
+ message( FATAL_ERROR "Function ${FUNC} not found" )
+ endif()
+ endif()
+ endif()
+endmacro( find_function_library )
+
diff --git a/3rdparty/cmake/FindMYSQL.cmake b/3rdparty/cmake/FindMYSQL.cmake
new file mode 100644
index 000000000..c18e8d637
--- /dev/null
+++ b/3rdparty/cmake/FindMYSQL.cmake
@@ -0,0 +1,37 @@
+# - Find mysqlclient
+# Find the native MySQL includes and library
+#
+# MYSQL_INCLUDE_DIRS - where to find mysql.h, etc.
+# MYSQL_LIBRARIES - mysqlclient library.
+# MYSQL_FOUND - True if mysqlclient is found.
+#
+
+find_path( MYSQL_INCLUDE_DIRS "mysql.h"
+ PATHS
+ "/usr/include/mysql"
+ "/usr/local/include/mysql"
+ "/usr/mysql/include/mysql"
+ "$ENV{PROGRAMFILES}/MySQL/*/include"
+ "$ENV{SYSTEMDRIVE}/MySQL/*/include" )
+
+find_library( MYSQL_LIBRARIES
+ NAMES "mysqlclient" "mysqlclient_r"
+ PATHS
+ "/usr/lib/mysql"
+ "/usr/local/lib/mysql"
+ "/usr/mysql/lib/mysql"
+ "$ENV{PROGRAMFILES}/MySQL/*/lib"
+ "$ENV{SYSTEMDRIVE}/MySQL/*/lib" )
+mark_as_advanced( MYSQL_LIBRARIES MYSQL_INCLUDE_DIRS )
+
+if( MYSQL_INCLUDE_DIRS AND EXISTS "${MYSQL_INCLUDE_DIRS}/mysql_version.h" )
+ file( STRINGS "${MYSQL_INCLUDE_DIRS}/mysql_version.h" MYSQL_VERSION_H REGEX "^#define[ \t]+MYSQL_SERVER_VERSION[ \t]+\"[^\"]+\".*$" )
+ string( REGEX REPLACE "^.*MYSQL_SERVER_VERSION[ \t]+\"([^\"]+)\".*$" "\\1" MYSQL_VERSION_STRING "${MYSQL_VERSION_H}" )
+endif()
+
+# handle the QUIETLY and REQUIRED arguments and set MYSQL_FOUND to TRUE if
+# all listed variables are TRUE
+include( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( MYSQL
+ REQUIRED_VARS MYSQL_LIBRARIES MYSQL_INCLUDE_DIRS
+ VERSION_VAR MYSQL_VERSION_STRING )
diff --git a/3rdparty/cmake/FindPCRE.cmake b/3rdparty/cmake/FindPCRE.cmake
new file mode 100644
index 000000000..2215451d1
--- /dev/null
+++ b/3rdparty/cmake/FindPCRE.cmake
@@ -0,0 +1,36 @@
+# - Find pcre
+# Find the native PCRE includes and library
+#
+# PCRE_INCLUDE_DIRS - where to find pcre.h
+# PCRE_LIBRARIES - List of libraries when using pcre.
+# PCRE_FOUND - True if pcre found.
+
+
+find_path( PCRE_INCLUDE_DIR pcre.h
+ PATHS
+ "/usr/include/pcre" )
+set( PCRE_NAMES pcre )
+find_library( PCRE_LIBRARY NAMES ${PCRE_NAMES} )
+mark_as_advanced( PCRE_LIBRARY PCRE_INCLUDE_DIR )
+
+if( PCRE_INCLUDE_DIR AND EXISTS "${PCRE_INCLUDE_DIR}/pcre.h" )
+ file( STRINGS "${PCRE_INCLUDE_DIR}/pcre.h" PCRE_H REGEX "^#define[ \t]+PCRE_M[A-Z]+[ \t]+[0-9]+.*$" )
+ string( REGEX REPLACE "^.*PCRE_MAJOR[ \t]+([0-9]+).*$" "\\1" PCRE_MAJOR "${PCRE_H}" )
+ string( REGEX REPLACE "^.*PCRE_MINOR[ \t]+([0-9]+).*$" "\\1" PCRE_MINOR "${PCRE_H}" )
+
+ set( PCRE_VERSION_STRING "${PCRE_MAJOR}.${PCRE_MINOR}" )
+ set( PCRE_VERSION_MAJOR "${PCRE_MAJOR}" )
+ set( PCRE_VERSION_MINOR "${PCRE_MINOR}" )
+endif()
+
+# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if
+# all listed variables are TRUE
+include( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( PCRE
+ REQUIRED_VARS PCRE_LIBRARY PCRE_INCLUDE_DIR
+ VERSION_VAR PCRE_VERSION_STRING )
+
+if( PCRE_FOUND )
+ set( PCRE_LIBRARIES ${PCRE_LIBRARY} )
+ set( PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR} )
+endif()