SunOS.cmake 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. IF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
  2. SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
  3. SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
  4. SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
  5. SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
  6. ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
  7. IF(CMAKE_SYSTEM MATCHES "SunOS-5.*")
  8. IF(CMAKE_COMPILER_IS_GNUCC)
  9. SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
  10. SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
  11. SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
  12. SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
  13. SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-h")
  14. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  15. IF(CMAKE_COMPILER_IS_GNUCXX)
  16. SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fPIC")
  17. SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-shared")
  18. SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,-R")
  19. SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
  20. SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-h")
  21. ENDIF(CMAKE_COMPILER_IS_GNUCXX)
  22. ENDIF(CMAKE_SYSTEM MATCHES "SunOS-5.*")
  23. IF(CMAKE_COMPILER_IS_GNUCXX)
  24. IF(CMAKE_COMPILER_IS_GNUCC)
  25. SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
  26. "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
  27. ELSE(CMAKE_COMPILER_IS_GNUCC)
  28. # Take default rule from CMakeDefaultMakeRuleVariables.cmake.
  29. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  30. ENDIF(CMAKE_COMPILER_IS_GNUCXX)
  31. INCLUDE(Platform/UnixPaths)
  32. # Add the compiler's implicit link directories.
  33. IF("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
  34. LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
  35. /opt/SUNWspro/lib /opt/SUNWspro/prod/lib /usr/ccs/lib)
  36. ENDIF("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
  37. # Initialize C link type selection flags. These flags are used when
  38. # building a shared library, shared module, or executable that links
  39. # to other libraries to select whether to use the static or shared
  40. # versions of the libraries.
  41. IF(CMAKE_COMPILER_IS_GNUCC)
  42. FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
  43. SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
  44. SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
  45. ENDFOREACH(type)
  46. ENDIF(CMAKE_COMPILER_IS_GNUCC)
  47. IF(CMAKE_COMPILER_IS_GNUCXX)
  48. FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
  49. SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Wl,-Bstatic")
  50. SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Wl,-Bdynamic")
  51. ENDFOREACH(type)
  52. ENDIF(CMAKE_COMPILER_IS_GNUCXX)
  53. # The Sun linker needs to find transitive shared library dependencies
  54. # in the -L path.
  55. SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
  56. # Shared libraries with no builtin soname may not be linked safely by
  57. # specifying the file path.
  58. SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)