diff --git a/CMakeLists.txt b/CMakeLists.txt index d800d98e..5c561338 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,7 +78,7 @@ ENDIF() SET(PROTOCOL_VERSION 10) # we adapted new password option from PHP's mysqlnd ! SET(MYSQL_CLIENT_VERSION_MAJOR "5") SET(MYSQL_CLIENT_VERSION_MINOR "5") -SET(MYSQL_CLIENT_VERSION_PATCH "0") +SET(MYSQL_CLIENT_VERSION_PATCH "1") SET(MYSQL_CLIENT_VERSION "${MYSQL_CLIENT_VERSION_MAJOR}.${MYSQL_CLIENT_VERSION_MINOR}.${MYSQL_CLIENT_VERSION_PATCH}") MATH(EXPR MYSQL_VERSION_ID "${MYSQL_CLIENT_VERSION_MAJOR} * 10000 + ${MYSQL_CLIENT_VERSION_MINOR} * 100 + @@ -97,8 +97,6 @@ ENDIF() INCLUDE("${CMAKE_SOURCE_DIR}/cmake/install.cmake") -# todo: we don't character sets in share - all is compiled in -SET(SHAREDIR "share") SET(DEFAULT_CHARSET_HOME "${CMAKE_INSTALL_PREFIX}") SET(PLUGINDIR "${CMAKE_INSTALL_PREFIX}/lib/plugin") @@ -113,22 +111,29 @@ ENDIF() IF(UNIX) - SEARCH_LIBRARY(LIBNSL inet_ntoa "nsl_r;nsl") - SEARCH_LIBRARY(LIBBIND bind "bind;socket") - SEARCH_LIBRARY(LIBSOCKET setsockopt "socket") + SEARCH_LIBRARY(DEFAULT_LIB inet_ntoa "c") + IF(NOT DEFAULT_LIB) + SEARCH_LIBRARY(LIBNSL inet_ntoa "nsl_r;nsl") + ENDIF() + SEARCH_LIBRARY(DEFAULT_LIB bind "c") + IF(NOT DEFAULT_LIB) + SEARCH_LIBRARY(LIBBIND bind "bind;socket") + ENDIF() + SEARCH_LIBRARY(DEFAULT_LIB setsockopt "c") + IF(NOT DEFAULT_LIB) + SEARCH_LIBRARY(LIBSOCKET setsockopt "socket") + ENDIF() SEARCH_LIBRARY(LIBDL dlopen "dl") SEARCH_LIBRARY(LIBM floor m) - SEARCH_LIBRARY(LIBICONV iconv iconv) SEARCH_LIBRARY(LIBPTHREAD pthread_getspecific "pthread;pthreads") - SET(EXTRA_LIBS "${LIBNSL}" "${LIBBIND}" "${LIBSOCKET}") + SET(EXTRA_LIBS "${LIBNSL}" "${LIBBIND}" "${LIBSOCKET}" "${LIBDL}" "${LIBM}" "${LIBPTHREAD}") FIND_PACKAGE(Threads) - SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND} ${LIBICONV} - ${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD}) #remove possible dups from required libraries - LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength) + LIST(LENGTH SYS_LIBS rllength) IF(${rllength} GREATER 0) - LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES) + LIST(REMOVE_DUPLICATES SYS_LIBS) ENDIF() + SET(CMAKE_REQUIRED_LIBRARIES ${SYS_LIBS}) ENDIF() diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake index 41538cc6..8f344d3d 100644 --- a/cmake/FindIconv.cmake +++ b/cmake/FindIconv.cmake @@ -20,7 +20,12 @@ IF(APPLE) /usr/lib/ NO_CMAKE_SYSTEM_PATH) ELSE() - find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c) + find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2) + IF(ICONV_LIBRARIES) + SET(ICONV_EXTERNAL TRUE) + ELSE() + find_library(ICONV_LIBRARIES NAMES c) + ENDIF() ENDIF() if (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) @@ -28,7 +33,9 @@ if (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) endif (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) -set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +IF(ICONV_EXTERNAL) + set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +ENDIF() if (ICONV_FOUND) include(CheckCSourceCompiles) @@ -62,5 +69,6 @@ endif (ICONV_FOUND) MARK_AS_ADVANCED( ICONV_INCLUDE_DIR ICONV_LIBRARIES + ICONV_EXTERNAL ICONV_SECOND_ARGUMENT_IS_CONST ) diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt index f10a37de..69d7c3ac 100644 --- a/mariadb_config/CMakeLists.txt +++ b/mariadb_config/CMakeLists.txt @@ -13,11 +13,9 @@ IF(UNIX) IF(OPENSSL_LIBRARIES) SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} -lssl") ENDIF() - SEARCH_LIBRARY(LIBNSL getaddrinfo "nsl_r;nsl") - SEARCH_LIBRARY(LIBBIND bind "bind;socket") - SEARCH_LIBRARY(LIBSOCKET setsockopt "socket") - SEARCH_LIBRARY(LIBDL dlopen "dl") - SEARCH_LIBRARY(LIBM floor m) + IF(ICONV_EXTERNAL) + SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${ICONV_LIBRARIES}") + ENDIF() FOREACH(lib ${EXTRA_LIBS}) SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} -l${lib}") ENDFOREACH() diff --git a/mariadb_config/mariadb_config.c.in b/mariadb_config/mariadb_config.c.in index 793a313b..b4aa74c6 100644 --- a/mariadb_config/mariadb_config.c.in +++ b/mariadb_config/mariadb_config.c.in @@ -8,7 +8,7 @@ "@extra_dynamic_LDFLAGS@" #define CFLAGS INCLUDE " @CMAKE_C_FLAGS@" #define VERSION "@MYSQL_CLIENT_VERSION@" -#define PLUGIN_DIR "@PREFIX_INSTALL_DIR@/@PLUGIN_INSTALL_DIR@" +#define PLUGIN_DIR "@PREFIX_INSTALL_DIR@/@SUFFIX_INSTALL_DIR@/@PLUGIN_INSTALL_DIR@" #define SOCKET "@MYSQL_UNIX_ADDR@" #define PORT "@MYSQL_PORT@" @@ -42,8 +42,8 @@ static char *values[]= void usage(void) { int i=0; - puts("Copyright 2011 Monty Program AB"); - puts("Get compiler flags for using the MariaDB client library."); + puts("Copyright 2011-2015 MariaDB Corporation AB"); + puts("Get compiler flags for using the MariaDB Connector/C."); printf("Usage: %s [OPTIONS]\n", my_progname); while (long_options[i].name) { diff --git a/unittest/libmariadb/CMakeLists.txt b/unittest/libmariadb/CMakeLists.txt index fe7fc8e3..97fbd06f 100644 --- a/unittest/libmariadb/CMakeLists.txt +++ b/unittest/libmariadb/CMakeLists.txt @@ -52,7 +52,6 @@ IF(WITH_OPENSSL) STRING(REPLACE "SHA1 Fingerprint=" "" FINGER_PRINT "${FINGER_PRINT}") STRING(REPLACE "\n" "" FINGER_PRINT "${FINGER_PRINT}") STRING(REPLACE ":" "" SSL_CERT_FINGER_PRINT "${FINGER_PRINT}") - MESSAGE(STATUS "FINGER_PRINT ${SSL_CERT_FINGER_PRINT}") CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/unittest/libmariadb/ssl.c.in ${CMAKE_SOURCE_DIR}/unittest/libmariadb/ssl.c)