[cmake-commits] king committed CMakeCInformation.cmake 1.18 1.19 CMakeCXXInformation.cmake 1.21 1.22 CMakeFortranInformation.cmake 1.16 1.17

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Jan 22 09:13:05 EST 2008


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

Modified Files:
	CMakeCInformation.cmake CMakeCXXInformation.cmake 
	CMakeFortranInformation.cmake 
Log Message:
ENH: Implement linking with paths to library files instead of -L and -l separation.  See bug #3832

  - This is purely an implementation improvement.  No interface has changed.
  - Create cmComputeLinkInformation class
  - Move and re-implement logic from:
      cmLocalGenerator::ComputeLinkInformation
      cmOrderLinkDirectories
  - Link libraries to targets with their full path (if it is known)
  - Dirs specified with link_directories command still added with -L
  - Make link type specific to library names without paths
    (name libfoo.a without path becomes -Wl,-Bstatic -lfoo)
  - Make directory ordering specific to a runtime path computation feature
    (look for conflicting SONAMEs instead of library names)
  - Implement proper rpath support on HP-UX and AIX.


Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- CMakeCXXInformation.cmake	14 Jan 2008 14:20:57 -0000	1.21
+++ CMakeCXXInformation.cmake	22 Jan 2008 14:13:03 -0000	1.22
@@ -84,6 +84,18 @@
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
 ENDIF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
 
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
+  SET(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
+
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
+  SET(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
+
+IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
+  SET(CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
+
 IF(NOT CMAKE_INCLUDE_FLAG_CXX)
   SET(CMAKE_INCLUDE_FLAG_CXX ${CMAKE_INCLUDE_FLAG_C})
 ENDIF(NOT CMAKE_INCLUDE_FLAG_CXX)

Index: CMakeFortranInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeFortranInformation.cmake,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- CMakeFortranInformation.cmake	18 Jan 2008 00:58:00 -0000	1.16
+++ CMakeFortranInformation.cmake	22 Jan 2008 14:13:03 -0000	1.17
@@ -76,6 +76,18 @@
   SET(CMAKE_SHARED_MODULE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_MODULE_RUNTIME_C_FLAG_SEP})
 ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_Fortran_FLAG_SEP)
 
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
+  SET(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
+
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
+  SET(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
+
+IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
+  SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
+
 IF(NOT CMAKE_INCLUDE_FLAG_Fortran)
   SET(CMAKE_INCLUDE_FLAG_Fortran ${CMAKE_INCLUDE_FLAG_C})
 ENDIF(NOT CMAKE_INCLUDE_FLAG_Fortran)

Index: CMakeCInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCInformation.cmake,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- CMakeCInformation.cmake	14 Jan 2008 14:20:57 -0000	1.18
+++ CMakeCInformation.cmake	22 Jan 2008 14:13:03 -0000	1.19
@@ -149,6 +149,14 @@
     "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
 ENDIF(NOT CMAKE_C_LINK_EXECUTABLE)
 
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
+  SET(CMAKE_EXECUTABLE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
+
+IF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
+  SET(CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
+
 MARK_AS_ADVANCED(
 CMAKE_C_FLAGS
 CMAKE_C_FLAGS_DEBUG



More information about the Cmake-commits mailing list