diff --git a/CMakeLists.txt b/CMakeLists.txt index af69bc08..054715d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt index 0d8f9d46..152e64c2 100644 --- a/libmariadb/CMakeLists.txt +++ b/libmariadb/CMakeLists.txt @@ -144,17 +144,20 @@ ELSE() INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib) ENDIF() -ADD_LIBRARY(mariadblib_core OBJECT ${LIBMARIADB_SOURCES}) -ADD_LIBRARY(mariadbclient STATIC $) -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 $) +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) diff --git a/unittest/libmariadb/thread.c b/unittest/libmariadb/thread.c index 8430d695..9761e363 100644 --- a/unittest/libmariadb/thread.c +++ b/unittest/libmariadb/thread.c @@ -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: