Skip to content

Commit 883cddb

Browse files
committed
Static library fixes
1 parent 04c05f4 commit 883cddb

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,12 @@ IF(UNIX)
119119
SEARCH_LIBRARY(LIBSOCKET setsockopt "socket")
120120
SEARCH_LIBRARY(LIBDL dlopen "dl")
121121
SEARCH_LIBRARY(LIBM floor m)
122-
SET(EXTRA_LIBS "${LIBNSL}" "${LIBBIND}" "${LIBSOCKET}" "${LIBDL}" "${LIBM}" "${LIBZ}")
122+
SEARCH_LIBRARY(LIBICONV iconv iconv)
123+
SEARCH_LIBRARY(LIBPTHREAD pthread_getspecific "pthread;pthreads")
124+
SET(EXTRA_LIBS "${LIBNSL}" "${LIBBIND}" "${LIBSOCKET}")
123125
FIND_PACKAGE(Threads)
124-
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND}
125-
${LIBSOCKET} ${LIBDL} ${LIBM} ${CMAKE_THREAD_LIBS_INIT})
126+
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LIBNSL} ${LIBBIND} ${LIBICONV}
127+
${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD})
126128
#remove possible dups from required libraries
127129
LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength)
128130
IF(${rllength} GREATER 0)

cmake/SearchLibrary.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ FUNCTION(SEARCH_LIBRARY library_name function liblist)
55
IF(${${library_name}})
66
RETURN()
77
ENDIF()
8-
CHECK_FUNCTION_EXISTS(${function} HAVE_${function}_IN_LIBC)
8+
CHECK_FUNCTION_EXISTS(${function} ${function}_IS_SYS_FUNC)
99
# check if function is part of libc
10-
IF(HAVE_${function}_IN_LIBC)
10+
IF(HAVE_${function}_IS_SYS_FUNC)
1111
SET(${library_name} "" PARENT_SCOPE)
1212
RETURN()
1313
ENDIF()

libmariadb/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,16 @@ ENDIF()
146146

147147
ADD_LIBRARY(mariadblib_core OBJECT ${LIBMARIADB_SOURCES})
148148
ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadblib_core>)
149-
TARGET_LINK_LIBRARIES(mariadbclient ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} ${MATH_LIBRARY} ${ICONV_LIBRARIES})
149+
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_COMPILER_IS_GNUCC)
150+
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES COMPILE_FLAGS "-fPIC")
151+
ENDIF()
152+
TARGET_LINK_LIBRARIES(mariadbclient ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
150153
IF(OPENSSL_FOUND)
151154
TARGET_LINK_LIBRARIES(mariadbclient ${SSL_LIBRARIES})
152155
ENDIF()
153156

154157
ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadblib_core>)
155-
TARGET_LINK_LIBRARIES(libmariadb ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS} ${MATH_LIBRARY} ${ICONV_LIBRARIES})
158+
TARGET_LINK_LIBRARIES(libmariadb ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
156159

157160
IF(OPENSSL_FOUND)
158161
TARGET_LINK_LIBRARIES(libmariadb ${SSL_LIBRARIES})

0 commit comments

Comments
 (0)