[cmake-commits] david.cole committed Darwin.cmake 1.38 1.39

cmake-commits at cmake.org cmake-commits at cmake.org
Thu Nov 8 09:09:16 EST 2007


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

Modified Files:
	Darwin.cmake 
Log Message:
BUG: Do not us the search_paths_first flag on older Mac OSX (10.2 and earlier) systems.


Index: Darwin.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Darwin.cmake,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- Darwin.cmake	22 Oct 2007 18:01:49 -0000	1.38
+++ Darwin.cmake	8 Nov 2007 14:09:14 -0000	1.39
@@ -1,13 +1,40 @@
 SET(APPLE 1)
 
+# Darwin versions:
+#   6.x == Mac OSX 10.2
+#   7.x == Mac OSX 10.3
+#   8.x == Mac OSX 10.4
+#   9.x == Mac OSX 10.5
+STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+
+# Do not use the "-Wl,-search_paths_first" flag with the OSX 10.2 compiler.
+# Done this way because it is too early to do a TRY_COMPILE.
+IF(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
+  SET(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
+  IF("${DARWIN_MAJOR_VERSION}" GREATER 6)
+    SET(HAVE_FLAG_SEARCH_PATHS_FIRST 1)
+  ENDIF("${DARWIN_MAJOR_VERSION}" GREATER 6)
+ENDIF(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
+# More desirable, but does not work:
+  #INCLUDE(CheckCXXCompilerFlag)
+  #CHECK_CXX_COMPILER_FLAG("-Wl,-search_paths_first" HAVE_FLAG_SEARCH_PATHS_FIRST)
+
 SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
 SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
 SET(CMAKE_SHARED_MODULE_PREFIX "lib")
 SET(CMAKE_SHARED_MODULE_SUFFIX ".so")
 SET(CMAKE_MODULE_EXISTS 1)
 SET(CMAKE_DL_LIBS "")
-SET(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first -headerpad_max_install_names")
-SET(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first -headerpad_max_install_names")
+
+SET(CMAKE_C_LINK_FLAGS "-headerpad_max_install_names")
+SET(CMAKE_CXX_LINK_FLAGS "-headerpad_max_install_names")
+
+IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
+  SET(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
+  SET(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
+ENDIF(HAVE_FLAG_SEARCH_PATHS_FIRST)
+
 SET(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
 SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names")
 SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")



More information about the Cmake-commits mailing list