Skip to content

Commit 5c8ea9c

Browse files
committed
More build fixes
Added new option for position independent code: WITH_PIC=ON/OFF
1 parent 883cddb commit 5c8ea9c

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSIO
1111

1212
#Minimum required version on Windows is Cmake 2.8.x
1313
IF(WIN32)
14-
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
14+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9 FATAL_ERROR)
1515
ELSE()
16-
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4 FATAL_ERROR)
16+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9 FATAL_ERROR)
1717
ENDIF()
1818
IF(COMMAND CMAKE_POLICY)
1919
CMAKE_POLICY(SET CMP0003 NEW)
@@ -23,6 +23,7 @@ ENDIF()
2323
IF(NOT WIN32)
2424
OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" ON)
2525
OPTION(WITH_OPENSSL "enables SSL support" ON)
26+
OPTION(WITH_PIC "enables position independent code" OFF)
2627
ELSE()
2728
OPTION(WITH_OPENSSL "enables SSL support" OFF)
2829
OPTION(WITH_SIGNCODE "digitally sign files" OFF)

libmariadb/CMakeLists.txt

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,17 +144,20 @@ ELSE()
144144
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/zlib)
145145
ENDIF()
146146

147-
ADD_LIBRARY(mariadblib_core OBJECT ${LIBMARIADB_SOURCES})
148-
ADD_LIBRARY(mariadbclient STATIC $<TARGET_OBJECTS:mariadblib_core>)
149-
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_COMPILER_IS_GNUCC)
150-
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES COMPILE_FLAGS "-fPIC")
151-
ENDIF()
147+
ADD_LIBRARY(mariadbclient STATIC ${LIBMARIADB_SOURCES})
148+
152149
TARGET_LINK_LIBRARIES(mariadbclient ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
153150
IF(OPENSSL_FOUND)
154151
TARGET_LINK_LIBRARIES(mariadbclient ${SSL_LIBRARIES})
155152
ENDIF()
156153

157-
ADD_LIBRARY(libmariadb SHARED $<TARGET_OBJECTS:mariadblib_core>)
154+
ADD_LIBRARY(libmariadb SHARED ${LIBMARIADB_SOURCES})
155+
IF(WITH_PIC STREQUAL "ON")
156+
SET(PICVAL TRUE)
157+
ELSE()
158+
SET(PICVAL FALSE)
159+
ENDIF()
160+
SET_TARGET_PROPERTIES(libmariadb PROPERTIES POSITION_INDEPENDENT_CODE ${PICVAL})
158161
TARGET_LINK_LIBRARIES(libmariadb ${LIBPTHREAD} ${LIBDL} ${LIBM} ${LIBICONV})
159162

160163
IF(OPENSSL_FOUND)

unittest/libmariadb/thread.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ DWORD WINAPI thread_conc27(void)
135135
check_mysql_rc(rc, mysql);
136136
pthread_mutex_unlock(&LOCK_test);
137137
check_mysql_rc(rc, mysql);
138-
if (res= mysql_store_result(mysql))
138+
if ((res= mysql_store_result(mysql)))
139139
mysql_free_result(res);
140140
mysql_close(mysql);
141141
end:

0 commit comments

Comments
 (0)