[Cmake-commits] [cmake-commits] king committed Darwin-GNU-C.cmake 1.1 1.2 Darwin-GNU-CXX.cmake 1.1 1.2 Darwin-GNU-Fortran.cmake NONE 1.1 Darwin-GNU.cmake 1.1 1.2

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Dec 2 15:09:06 EST 2009


Update of /cvsroot/CMake/CMake/Modules/Platform
In directory public:/mounts/ram/cvs-serv18676/Modules/Platform

Modified Files:
	Darwin-GNU-C.cmake Darwin-GNU-CXX.cmake Darwin-GNU.cmake 
Added Files:
	Darwin-GNU-Fortran.cmake 
Log Message:
Fix OS X dylib and module GNU flags

The commit "Split GNU compiler information files" broke the settings of

  CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS
  CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS

and started using just "-shared" for them.  This worked when tested on newer
Mac machines, but older ones really need "-dynamiclib" and "-bundle" (which are
the documented flags anyway).


--- NEW FILE: Darwin-GNU-Fortran.cmake ---
include(Platform/Darwin-GNU)
__darwin_compiler_gnu(Fortran)

Index: Darwin-GNU.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Darwin-GNU.cmake,v
retrieving revision 1.1
retrieving revision 1.2
diff -C 2 -d -r1.1 -r1.2
*** Darwin-GNU.cmake	19 Sep 2009 14:14:31 -0000	1.1
--- Darwin-GNU.cmake	2 Dec 2009 20:09:03 -0000	1.2
***************
*** 1,2 ****
--- 1,28 ----
+ 
+ #=============================================================================
+ # Copyright 2002-2009 Kitware, Inc.
+ #
+ # Distributed under the OSI-approved BSD License (the "License");
+ # see accompanying file Copyright.txt for details.
+ #
+ # This software is distributed WITHOUT ANY WARRANTY; without even the
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ # See the License for more information.
+ #=============================================================================
+ # (To distributed this file outside of CMake, substitute the full
+ #  License text for the above reference.)
+ 
+ # This module is shared by multiple languages; use include blocker.
+ if(__DARWIN_COMPILER_GNU)
+   return()
+ endif()
+ set(__DARWIN_COMPILER_GNU 1)
+ 
+ macro(__darwin_compiler_gnu lang)
+   # GNU does not have -shared on OS X
+   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -headerpad_max_install_names")
+   set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -headerpad_max_install_names")
+ endmacro()
+ 
  macro(cmake_gnu_has_isysroot lang)
    if("x${CMAKE_${lang}_HAS_ISYSROOT}" STREQUAL "x")

Index: Darwin-GNU-C.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Darwin-GNU-C.cmake,v
retrieving revision 1.1
retrieving revision 1.2
diff -C 2 -d -r1.1 -r1.2
*** Darwin-GNU-C.cmake	19 Sep 2009 14:14:31 -0000	1.1
--- Darwin-GNU-C.cmake	2 Dec 2009 20:09:03 -0000	1.2
***************
*** 1,2 ****
--- 1,3 ----
  include(Platform/Darwin-GNU)
+ __darwin_compiler_gnu(C)
  cmake_gnu_has_isysroot(C)

Index: Darwin-GNU-CXX.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Darwin-GNU-CXX.cmake,v
retrieving revision 1.1
retrieving revision 1.2
diff -C 2 -d -r1.1 -r1.2
*** Darwin-GNU-CXX.cmake	19 Sep 2009 14:14:31 -0000	1.1
--- Darwin-GNU-CXX.cmake	2 Dec 2009 20:09:03 -0000	1.2
***************
*** 1,2 ****
--- 1,3 ----
  include(Platform/Darwin-GNU)
+ __darwin_compiler_gnu(CXX)
  cmake_gnu_has_isysroot(CXX)



More information about the Cmake-commits mailing list