1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-08 14:02:17 +03:00

More build fixes

Added new option for position independent code: WITH_PIC=ON/OFF
This commit is contained in:
Georg Richter
2014-12-23 13:05:13 +01:00
parent 883cddb0a2
commit 5c8ea9c9c1
3 changed files with 13 additions and 9 deletions

View File

@@ -11,9 +11,9 @@ SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO
#Minimum required version on Windows is Cmake 2.8.x
IF(WIN32)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9 FATAL_ERROR)
ELSE()
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4 FATAL_ERROR)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9 FATAL_ERROR)
ENDIF()
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
@@ -23,6 +23,7 @@ ENDIF()
IF(NOT WIN32)
OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" ON)
OPTION(WITH_OPENSSL "enables SSL support" ON)
OPTION(WITH_PIC "enables position independent code" OFF)
ELSE()
OPTION(WITH_OPENSSL "enables SSL support" OFF)
OPTION(WITH_SIGNCODE "digitally sign files" OFF)

View File

@@ -144,17 +144,20 @@ ELSE()
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib)
ENDIF()
ADD_LIBRARY(mariadblib_core OBJECT ${LIBMARIADB_SOURCES})
ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadblib_core>)
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_COMPILER_IS_GNUCC)
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES COMPILE_FLAGS "-fPIC")
ENDIF()
ADD_LIBRARY(mariadbclient STATIC ${LIBMARIADB_SOURCES})
TARGET_LINK_LIBRARIES(mariadbclient ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
IF(OPENSSL_FOUND)
TARGET_LINK_LIBRARIES(mariadbclient ${SSL_LIBRARIES})
ENDIF()
ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadblib_core>)
ADD_LIBRARY(libmariadb SHARED ${LIBMARIADB_SOURCES})
IF(WITH_PIC STREQUAL "ON")
SET(PICVAL TRUE)
ELSE()
SET(PICVAL FALSE)
ENDIF()
SET_TARGET_PROPERTIES(libmariadb PROPERTIES POSITION_INDEPENDENT_CODE ${PICVAL})
TARGET_LINK_LIBRARIES(libmariadb ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
IF(OPENSSL_FOUND)

View File

@@ -135,7 +135,7 @@ DWORD WINAPI thread_conc27(void)
check_mysql_rc(rc, mysql);
pthread_mutex_unlock(&LOCK_test);
check_mysql_rc(rc, mysql);
if (res= mysql_store_result(mysql))
if ((res= mysql_store_result(mysql)))
mysql_free_result(res);
mysql_close(mysql);
end: