diff --git a/CMakeLists.txt b/CMakeLists.txt index a150ad1c..bced4201 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,12 +11,8 @@ SET(CPACK_PACKAGE_VERSION_MINOR 1) SET(CPACK_PACKAGE_VERSION_PATCH 0) SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") -#Minimum required version is Cmake 2.8.8, since we need to build object libraries -IF(WIN32) -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) -ELSE() -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) -ENDIF() +CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) + IF(COMMAND CMAKE_POLICY) SET(OLD_POLICIES CMP0026 CMP0042 CMP0045) SET(NEW_POLICIES CMP0003 CMP0022 CMP0023) diff --git a/include/ma_global.h b/include/ma_global.h index 8d81ed25..2ad5436e 100644 --- a/include/ma_global.h +++ b/include/ma_global.h @@ -1066,8 +1066,6 @@ do { doubleget_union _tmp; \ #ifdef _WIN32 #define SO_EXT ".dll" -#elif defined(__APPLE__) -#define SO_EXT ".dylib" #else #define SO_EXT ".so" #endif diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt index 1e3653c6..eb23ee91 100644 --- a/libmariadb/CMakeLists.txt +++ b/libmariadb/CMakeLists.txt @@ -319,10 +319,15 @@ CREATE_EXPORT_FILE(mariadbclient "${MARIADB_LIB_SYMBOLS}") -# CREATE OBJECT LIBRARY -ADD_LIBRARY(mariadb_obj OBJECT ${LIBMARIADB_SOURCES}) -IF(UNIX) - SET_TARGET_PROPERTIES(mariadb_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") +IF(CMAKE_VERSION VERSION_GREATER 2.8.7) + # CREATE OBJECT LIBRARY + ADD_LIBRARY(mariadb_obj OBJECT ${LIBMARIADB_SOURCES}) + IF(UNIX) + SET_TARGET_PROPERTIES(mariadb_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ENDIF() + SET (MARIADB_OBJECTS $) +ELSE() + SET (MARIADB_OBJECTS ${LIBMARIADB_SOURCES}) ENDIF() # Xcode doesn't support targets that have only object files, @@ -345,9 +350,9 @@ IF(WIN32) "FILE_DESCRIPTION:Static lib for client/server communication") ENDIF() -ADD_LIBRARY(mariadbclient STATIC ${mariadbclient_RC} $ ${EMPTY_FILE} mariadbclient.def) +ADD_LIBRARY(mariadbclient STATIC ${mariadbclient_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE} mariadbclient.def) TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) -ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} $ ${EMPTY_FILE} mariadbclient.def) +ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE} mariadbclient.def) TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS}) IF(UNIX) SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") diff --git a/unittest/libmariadb/CMakeLists.txt b/unittest/libmariadb/CMakeLists.txt index 038c2cf0..f505f0e5 100644 --- a/unittest/libmariadb/CMakeLists.txt +++ b/unittest/libmariadb/CMakeLists.txt @@ -13,6 +13,10 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +IF(SKIP_TESTS) + RETURN() +ENDIF() + ENABLE_TESTING()