Browse Source

ENH: Added <LINK_FLAGS> to link rules.

Brad King 23 years ago
parent
commit
61cd9298cd

+ 4 - 4
Modules/CMakeDefaultMakeRuleVariables.cmake

@@ -43,7 +43,7 @@
 # create a shared C++ library
 IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
   SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
-      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
 
 # create a c++ shared module copy the shared library rule by default
@@ -54,7 +54,7 @@ ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
 # create a C shared library
 IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
   SET(CMAKE_C_CREATE_SHARED_LIBRARY
-      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
 
 # create a C shared module just copy the shared library rule
@@ -65,14 +65,14 @@ ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
 # create a C++ static library
 IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
   SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
-      "<CMAKE_AR> cr <TARGET> <OBJECTS> "
+      "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
       "<CMAKE_RANLIB> <TARGET> ")
 ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
 
 # create a C static library
 IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
   SET(CMAKE_C_CREATE_STATIC_LIBRARY
-      "<CMAKE_AR> cr <TARGET> <OBJECTS> "
+      "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
       "<CMAKE_RANLIB> <TARGET> ")
 ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
 

+ 4 - 4
Modules/Platform/Darwin.cmake

@@ -8,13 +8,13 @@ SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib")
 SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -flat_namespace -undefined suppress")
 
 SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
-      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 
 SET(CMAKE_C_CREATE_SHARED_LIBRARY
-      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 
 SET(CMAKE_CXX_CREATE_SHARED_MODULE
-      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 
 SET(CMAKE_C_CREATE_SHARED_MODULE
-      "<CMAKE_C_COMPILER> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "<CMAKE_C_COMPILER> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")

+ 1 - 1
Modules/Platform/HP-UX.cmake

@@ -17,7 +17,7 @@ ELSE(CMAKE_COMPILER_IS_GNUCC)
   SET(CMAKE_ANSI_CFLAGS "-Aa -Ae")
   # use ld directly to create shared libraries for hp cc
   SET(CMAKE_C_CREATE_SHARED_LIBRARY
-      "ld <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "ld <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
   SET(CMAKE_SHARED_LIBRARY_C_FLAGS "+Z")            # -pic 
   SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-E -b -L/usr/lib")       # -shared
   SET(CMAKE_SHARED_LIBRARY_LINK_FLAGS "-Wl,+s")         # +s, flag for exe link to use shared lib

+ 2 - 2
Modules/Platform/Linux-como.cmake

@@ -1,12 +1,12 @@
 # create a shared C++ library
 SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
     "<CMAKE_CXX_COMPILER> --prelink_objects <OBJECTS>"
-    "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+    "<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
 
 # create a C++ static library
 SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
     "<CMAKE_CXX_COMPILER> --prelink_objects <OBJECTS>"
-    "<CMAKE_AR> cr <TARGET> <OBJECTS> "
+    "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
     "<CMAKE_RANLIB> <TARGET> ")
 
 SET(CMAKE_CXX_LINK_EXECUTABLE

+ 1 - 1
Modules/Platform/Windows-bcc32.cmake

@@ -42,7 +42,7 @@ SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
 
 
 # create a C++ static library
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY  "tlib ${CMAKE_START_TEMP_FILE}/p512  /a <TARGET> <OBJECTS_QUOTED>${CMAKE_END_TEMP_FILE}")
+SET(CMAKE_CXX_CREATE_STATIC_LIBRARY  "tlib ${CMAKE_START_TEMP_FILE}/p512 <LINK_FLAGS> /a <TARGET> <OBJECTS_QUOTED>${CMAKE_END_TEMP_FILE}")
 
 # create a C static library
 SET(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})

+ 1 - 1
Modules/Platform/Windows-cl.cmake

@@ -22,7 +22,7 @@ SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
 
 
 # create a C++ static library
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY  "lib /nologo /out:<TARGET> <OBJECTS> ")
+SET(CMAKE_CXX_CREATE_STATIC_LIBRARY  "lib /nologo <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
 
 # create a C static library
 SET(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})