[cmake-commits] king committed CMakeCXXInformation.cmake 1.12 1.13 CMakeSystemSpecificInformation.cmake 1.35 1.36

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Sep 15 14:08:43 EDT 2006


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

Modified Files:
	CMakeCXXInformation.cmake CMakeSystemSpecificInformation.cmake 
Log Message:
ENH: Adding support to link specifically to an archive or a shared library based on the file name specified.  This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified.


Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- CMakeCXXInformation.cmake	11 Apr 2006 20:55:48 -0000	1.12
+++ CMakeCXXInformation.cmake	15 Sep 2006 18:08:36 -0000	1.13
@@ -72,10 +72,6 @@
   SET(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
 ENDIF(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
 
-IF(NOT CMAKE_SHARED_MODULE_LINK_CXX_FLAGS)
-  SET(CMAKE_SHARED_MODULE_LINK_CXX_FLAGS ${CMAKE_SHARED_MODULE_LINK_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_MODULE_LINK_CXX_FLAGS)
-
 IF(NOT CMAKE_SHARED_MODULE_RUNTIME_CXX_FLAG)
   SET(CMAKE_SHARED_MODULE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_MODULE_RUNTIME_FLAG}) 
 ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_CXX_FLAG)
@@ -84,6 +80,18 @@
   SET(CMAKE_SHARED_MODULE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_MODULE_RUNTIME_FLAG_SEP})
 ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_CXX_FLAG_SEP)
 
+# Initialize CXX link type selection flags from C versions.
+FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
+  IF(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
+    SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
+      ${CMAKE_${type}_LINK_STATIC_C_FLAGS})
+  ENDIF(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
+  IF(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
+    SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS
+      ${CMAKE_${type}_LINK_DYNAMIC_C_FLAGS})
+  ENDIF(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
+ENDFOREACH(type)
+
 # add the flags to the cache based
 # on the initial values computed in the platform/*.cmake files
 # use _INIT variables so that this only happens the first time

Index: CMakeSystemSpecificInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeSystemSpecificInformation.cmake,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- CMakeSystemSpecificInformation.cmake	16 Mar 2006 22:07:36 -0000	1.35
+++ CMakeSystemSpecificInformation.cmake	15 Sep 2006 18:08:36 -0000	1.36
@@ -30,7 +30,6 @@
 IF(NOT CMAKE_MODULE_EXISTS)
   SET(CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
   SET(CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
-  SET(CMAKE_SHARED_MODULE_LINK_C_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
   SET(CMAKE_SHARED_MODULE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
   SET(CMAKE_SHARED_MODULE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
 ENDIF(NOT CMAKE_MODULE_EXISTS)



More information about the Cmake-commits mailing list