소스 검색

ENH: Added CMAKE_SHARED_LIBRARY_SONAME_FLAG setting to enable shared library version support for SunOS.

Brad King 22 년 전
부모
커밋
9a096e8488
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      Modules/Platform/SunOS.cmake

+ 4 - 1
Modules/Platform/SunOS.cmake

@@ -3,6 +3,7 @@ IF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
    SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r") 
    SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r") 
    SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
    SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
    SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")  
    SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")  
+   SET(CMAKE_SHARED_LIBRARY_SONAME_FLAG "-h")
 ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
 ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
 
 
 IF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
 IF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
@@ -10,6 +11,7 @@ IF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
   SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
   SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-R")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-R")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")
+  SET(CMAKE_SHARED_LIBRARY_SONAME_FLAG "-h")
   SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC") 
   SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC") 
   SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
   SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
   SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
@@ -19,6 +21,7 @@ IF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
     SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
     SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
     SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
     SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG "-Wl,-R")
     SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")  
     SET(CMAKE_SHARED_LIBRARY_RUNTIME_FLAG_SEP ":")  
+    SET(CMAKE_SHARED_LIBRARY_SONAME_FLAG "-Wl,-h")
   ENDIF(CMAKE_COMPILER_IS_GNUCC)
   ENDIF(CMAKE_COMPILER_IS_GNUCC)
   IF(CMAKE_COMPILER_IS_GNUCXX)
   IF(CMAKE_COMPILER_IS_GNUCXX)
     SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC") 
     SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC") 
@@ -31,7 +34,7 @@ ENDIF(CMAKE_SYSTEM MATCHES "SunOS-5*.")
 IF(CMAKE_COMPILER_IS_GNUCXX)
 IF(CMAKE_COMPILER_IS_GNUCXX)
   IF(CMAKE_COMPILER_IS_GNUCC)
   IF(CMAKE_COMPILER_IS_GNUCC)
     SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
     SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
-        "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+        "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>  <CMAKE_SHARED_LIBRARY_SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
   ELSE(CMAKE_COMPILER_IS_GNUCC)
   ELSE(CMAKE_COMPILER_IS_GNUCC)
     # Take default rule from CMakeDefaultMakeRuleVariables.cmake.
     # Take default rule from CMakeDefaultMakeRuleVariables.cmake.
   ENDIF(CMAKE_COMPILER_IS_GNUCC)
   ENDIF(CMAKE_COMPILER_IS_GNUCC)