diff options
author | Vladislav Vaintroub <vvaintroub@macbook.local> | 2010-01-26 18:09:14 +0100 |
---|---|---|
committer | Vladislav Vaintroub <vvaintroub@macbook.local> | 2010-01-26 18:09:14 +0100 |
commit | e5154ba9c07a41b3c6ab1b6b48e7271245cc4b77 (patch) | |
tree | 74cbb3eac94d5d33f98157f5a20fef176db69bb2 | |
parent | 25d8787a32d0142bf2db869ab97570d730a7ee91 (diff) | |
download | mariadb-git-e5154ba9c07a41b3c6ab1b6b48e7271245cc4b77.tar.gz |
Move OSX specific checks to cmake/os/Darwin.cmake
-rw-r--r-- | cmake/Makefile.am | 5 | ||||
-rw-r--r-- | cmake/os/Darwin.cmake | 34 | ||||
-rw-r--r-- | configure.cmake | 21 |
3 files changed, 43 insertions, 17 deletions
diff --git a/cmake/Makefile.am b/cmake/Makefile.am index 2e6563cd92c..623176288b7 100644 --- a/cmake/Makefile.am +++ b/cmake/Makefile.am @@ -26,4 +26,7 @@ EXTRA_DIST = \ build_configurations/mysql_release.cmake \ os/Windows.cmake \ os/Linux.cmake \ - os/SunOS.cmake + os/SunOS.cmake \ + os/Darwin.cmake + + diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake new file mode 100644 index 00000000000..09d82bed7bd --- /dev/null +++ b/cmake/os/Darwin.cmake @@ -0,0 +1,34 @@ +# Copyright (C) 2010 Sun Microsystems, Inc +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# This file includes OSX specific options and quirks, related to system checks + +# Workaround for CMake bug#9051 +# (CMake does not pass CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET when +# running TRY_COMPILE) + +IF(CMAKE_OSX_SYSROOT) + SET(ENV{CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT}) +ENDIF() +IF(CMAKE_OSX_SYSROOT) + SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSX_DEPLOYMENT_TARGET}) +ENDIF() + +IF(CMAKE_OSX_DEPLOYMENT_TARGET) + # Workaround linker problems on OSX 10.4 + IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.5") + ADD_DEFINITIONS(-fno-common) + ENDIF() +ENDIF() diff --git a/configure.cmake b/configure.cmake index 31d211256e8..4493fd900bc 100644 --- a/configure.cmake +++ b/configure.cmake @@ -1,3 +1,4 @@ + # Copyright (C) 2009 Sun Microsystems,Inc # # This program is free software; you can redistribute it and/or modify @@ -73,12 +74,6 @@ IF(CMAKE_COMPILER_IS_GNUCXX) SET(HAVE_DLOPEN FALSE CACHE "Disable dlopen due to -static flag" FORCE) SET(WITHOUT_DYNAMIC_PLUGINS TRUE) ENDIF() - IF(APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET) - # Workaround linker problems on OSX 10.4 - IF(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS "10.5") - ADD_DEFINITIONS(-fno-common) - ENDIF() - ENDIF() ENDIF() @@ -189,15 +184,7 @@ IF(UNIX) ENDIF() ENDIF() ENDIF() - -# Workaround for CMake bug#9051 -IF(CMAKE_OSX_SYSROOT) - SET(ENV{CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT}) -ENDIF() -IF(CMAKE_OSX_SYSROOT) - SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSX_DEPLOYMENT_TARGET}) -ENDIF() - +s # System check macros that do nothing on Windows. # Very often, it is known that some function is not available @@ -517,7 +504,7 @@ int main() { # INCLUDE(TestBigEndian) IF(APPLE) - # Cannot run endian test on universal PPC/Intel binaries + # Cannot run endian test on universal PPC/Intel binaries # would return inconsistent result. # config.h.cmake includes a special #ifdef for Darwin ELSE() @@ -550,6 +537,8 @@ IF(HAVE_STDINT_H) ENDIF(HAVE_STDINT_H) IF(NOT APPLE) + # Prevent some checks on OSX, they return ambigious results + # on universal 32/64 bit binariess CHECK_TYPE_SIZE("char *" SIZEOF_CHARP) CHECK_TYPE_SIZE(long SIZEOF_LONG) CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T) |