[Cmake-commits] [cmake-commits] king committed CMakeCInformation.cmake 1.21 1.22 CMakeCXXInformation.cmake 1.25 1.26 CMakeFortranInformation.cmake 1.20 1.21

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Aug 4 11:37:21 EDT 2008


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

Modified Files:
	CMakeCInformation.cmake CMakeCXXInformation.cmake 
	CMakeFortranInformation.cmake 
Log Message:
ENH: Build large archives incrementally

Creation of archive libraries with the unix 'ar' tool should be done
incrementally when the number of object files is large.  This avoids
problems with the command line getting too many arguments.


Index: CMakeCXXInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCXXInformation.cmake,v
retrieving revision 1.25
retrieving revision 1.26
diff -C 2 -d -r1.25 -r1.26
*** CMakeCXXInformation.cmake	21 Apr 2008 17:04:15 -0000	1.25
--- CMakeCXXInformation.cmake	4 Aug 2008 15:37:19 -0000	1.26
***************
*** 177,181 ****
  # CMAKE_CXX_CREATE_SHARED_LIBRARY
  # CMAKE_CXX_CREATE_SHARED_MODULE
- # CMAKE_CXX_CREATE_STATIC_LIBRARY
  # CMAKE_CXX_COMPILE_OBJECT
  # CMAKE_CXX_LINK_EXECUTABLE
--- 177,180 ----
***************
*** 213,222 ****
  
  
! # create a C++ static library
! IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
!   SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
!       "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
!       "<CMAKE_RANLIB> <TARGET> ")
! ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
  
  # compile a C++ file into an object file
--- 212,220 ----
  
  
! # Create a static archive incrementally for large object file counts.
! # If CMAKE_CXX_CREATE_STATIC_LIBRARY is set it will override these.
! SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r  <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
  
  # compile a C++ file into an object file

Index: CMakeFortranInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeFortranInformation.cmake,v
retrieving revision 1.20
retrieving revision 1.21
diff -C 2 -d -r1.20 -r1.21
*** CMakeFortranInformation.cmake	22 Apr 2008 13:35:23 -0000	1.20
--- CMakeFortranInformation.cmake	4 Aug 2008 15:37:19 -0000	1.21
***************
*** 120,124 ****
  # CMAKE_Fortran_CREATE_SHARED_LIBRARY
  # CMAKE_Fortran_CREATE_SHARED_MODULE
- # CMAKE_Fortran_CREATE_STATIC_LIBRARY
  # CMAKE_Fortran_COMPILE_OBJECT
  # CMAKE_Fortran_LINK_EXECUTABLE
--- 120,123 ----
***************
*** 135,144 ****
  ENDIF(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
  
! # create a Fortran static library
! IF(NOT CMAKE_Fortran_CREATE_STATIC_LIBRARY)
!   SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY
!       "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
!       "<CMAKE_RANLIB> <TARGET> ")
! ENDIF(NOT CMAKE_Fortran_CREATE_STATIC_LIBRARY)
  
  # compile a Fortran file into an object file
--- 134,142 ----
  ENDIF(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
  
! # Create a static archive incrementally for large object file counts.
! # If CMAKE_Fortran_CREATE_STATIC_LIBRARY is set it will override these.
! SET(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> r  <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
  
  # compile a Fortran file into an object file

Index: CMakeCInformation.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/CMakeCInformation.cmake,v
retrieving revision 1.21
retrieving revision 1.22
diff -C 2 -d -r1.21 -r1.22
*** CMakeCInformation.cmake	21 Apr 2008 17:04:15 -0000	1.21
--- CMakeCInformation.cmake	4 Aug 2008 15:37:19 -0000	1.22
***************
*** 99,103 ****
  # CMAKE_C_CREATE_SHARED_LIBRARY
  # CMAKE_C_CREATE_SHARED_MODULE
- # CMAKE_C_CREATE_STATIC_LIBRARY
  # CMAKE_C_COMPILE_OBJECT
  # CMAKE_C_LINK_EXECUTABLE
--- 99,102 ----
***************
*** 134,143 ****
  ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  
! # create a C static library
! IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
!   SET(CMAKE_C_CREATE_STATIC_LIBRARY
!       "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
!       "<CMAKE_RANLIB> <TARGET> ")
! ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
  
  # compile a C file into an object file
--- 133,141 ----
  ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
  
! # Create a static archive incrementally for large object file counts.
! # If CMAKE_C_CREATE_STATIC_LIBRARY is set it will override these.
! SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r  <TARGET> <LINK_FLAGS> <OBJECTS>")
! SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
  
  # compile a C file into an object file



More information about the Cmake-commits mailing list