瀏覽代碼

ENH: Added CMAKE_SHARED_LIBRARY_SONAME_FLAG setting to enable shared library version support for HP-UX.

Brad King 22 年之前
父節點
當前提交
18112d0854
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      Modules/Platform/HP-UX.cmake

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

@@ -11,17 +11,19 @@ IF(CMAKE_COMPILER_IS_GNUCC)
   SET(CMAKE_SHARED_LIBRARY_LINK_FLAGS "-Wl,+s -Wl,-E")  # +s, flag for exe link to use shared lib
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,+b")       # -rpath
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")   # : or empty
+  SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,+h")
   SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")     # -pic 
 ELSE(CMAKE_COMPILER_IS_GNUCC)
   # hp cc
   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> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+      "ld <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_C_FLAG><TARGET_SONAME> <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 -Wl,-E")  # +s, flag for exe link to use shared lib
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "+b")       # -rpath
+  SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "+h")
 ENDIF(CMAKE_COMPILER_IS_GNUCC)
 
 # CXX compiler
@@ -32,12 +34,14 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
   SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-Wl,+s -Wl,-E")  # +s, flag for exe link to use shared lib
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,+b")       # -rpath
   SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC")     # -pic 
+  SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,+h")
 ELSE(CMAKE_COMPILER_IS_GNUCXX)
   # for hp aCC
   SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "+Z")            # -pic 
   SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "+Z -Wl,-E -b -L/usr/lib")       # -shared
   SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-Wl,+s -Wl,-E")  # +s, flag for exe link to use shared lib
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,+b")       # -rpath
+  SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,+h")
   SET (CMAKE_CXX_FLAGS_INIT "")
   SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
   SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "+O3")