Warning, /multimedia/amarok/cmake/modules/FindMySQLe.cmake is written in an unsupported language. File is not indexed.
0001 # - Try to find MySQL Embedded library 0002 # Find the MySQL embedded library 0003 # This module defines 0004 # MYSQLE_LIBRARIES, the libraries needed to use MySQL Embedded. 0005 # MySQLe_FOUND, If false, do not try to use MySQL Embedded. 0006 0007 # Copyright (c) 2006-2018, Jarosław Staniek <staniek@kde.org> 0008 # 0009 # Redistribution and use is allowed according to the terms of the BSD license. 0010 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0011 0012 include(CheckCXXSourceCompiles) 0013 include(CMakePushCheckState) 0014 0015 if(NOT MySQL_FOUND) 0016 find_package(MySQL) 0017 0018 if( NOT MySQL_FOUND ) 0019 find_package(MariaDB REQUIRED) 0020 endif() 0021 endif() 0022 0023 if(MySQL_FOUND OR MariaDB_FOUND) 0024 0025 # First try to get information from mysql_config which might be a shell script 0026 # or an executable. Unfortunately not every distro has pkgconfig files for 0027 # MySQL/MariaDB. 0028 find_program(MYSQLCONFIG_EXECUTABLE 0029 NAMES mysql_config mysql_config5 0030 HINTS ${BIN_INSTALL_DIR} 0031 ) 0032 0033 if(MYSQLCONFIG_EXECUTABLE) 0034 execute_process( 0035 COMMAND ${MYSQLCONFIG_EXECUTABLE} --libmysqld-libs 0036 RESULT_VARIABLE MC_return_embedded 0037 OUTPUT_VARIABLE MC_MYSQLE_LIBRARIES 0038 OUTPUT_STRIP_TRAILING_WHITESPACE 0039 ) 0040 0041 if ("${MC_return_embedded}" STREQUAL "0") 0042 set(MYSQLE_LIBRARIES ${MC_MYSQLE_LIBRARIES}) 0043 endif() 0044 endif() 0045 0046 # Try searching manually via find_path/find_library, possibly with hints 0047 # from pkg-config 0048 find_package(PkgConfig) 0049 pkg_check_modules(PC_MYSQL QUIET mysql mariadb) 0050 0051 if(NOT MYSQLE_LIBRARIES) 0052 # mysql-config removed --libmysql-libs, but amarok needs libmysqld other 0053 # than libmysqlclient to run mysql embedded server. 0054 find_library(MYSQLE_LIBRARIES NAMES mysqld libmysqld 0055 PATHS 0056 $ENV{MYSQL_DIR}/libmysql_r/.libs 0057 $ENV{MYSQL_DIR}/lib 0058 $ENV{MYSQL_DIR}/lib/mysql 0059 ${PC_MYSQL_LIBDIR} 0060 ${PC_MYSQL_LIBRARY_DIRS} 0061 PATH_SUFFIXES 0062 mysql 0063 ) 0064 endif() 0065 0066 if(PC_MYSQL_VERSION) 0067 set(MySQLe_VERSION_STRING ${PC_MYSQL_VERSION}) 0068 endif() 0069 0070 if(MYSQLE_LIBRARIES) 0071 # libmysqld on FreeBSD apparently doesn't properly report what libraries 0072 # it likes to link with, libmysqlclient does though. 0073 #if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "FreeBSD") 0074 # string(REGEX REPLACE "-lmysqlclient" "-lmysqld" _mysql_libs ${MYSQL_LIBRARIES}) 0075 # string(STRIP ${_mysql_libs} _mysql_libs) 0076 # set(MYSQLE_LIBRARIES ${_mysql_libs}) 0077 #endif() 0078 cmake_push_check_state() 0079 set(CMAKE_REQUIRED_INCLUDES ${MYSQL_INCLUDE_DIR}) 0080 set(CMAKE_REQUIRED_LIBRARIES ${MYSQLE_LIBRARIES}) 0081 check_cxx_source_compiles( "#include <mysql.h>\nint main() { int i = MYSQL_OPT_USE_EMBEDDED_CONNECTION; }" HAVE_MYSQL_OPT_EMBEDDED_CONNECTION ) 0082 cmake_pop_check_state() 0083 endif() 0084 0085 endif() 0086 0087 include(FindPackageHandleStandardArgs) 0088 0089 find_package_handle_standard_args(MySQLe 0090 REQUIRED_VARS MYSQLE_LIBRARIES HAVE_MYSQL_OPT_EMBEDDED_CONNECTION 0091 VERSION_VAR MySQLe_VERSION_STRING 0092 ) 0093 0094 mark_as_advanced(MYSQLE_LIBRARIES HAVE_MYSQL_OPT_EMBEDDED_CONNECTION) 0095 0096 set_package_properties(MySQLe PROPERTIES 0097 DESCRIPTION "MySQL Embedded Library (libmysqld)" 0098 URL "https://www.mysql.com" 0099 )