1#the compute nodes on BlueGene/L don't support shared libs
2set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
3
4set(CMAKE_SHARED_LIBRARY_C_FLAGS "")            # -pic
5set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "")       # -shared
6set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")         # +s, flag for exe link to use shared lib
7set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")       # -rpath
8set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")   # : or empty
9
10set(CMAKE_LINK_LIBRARY_SUFFIX "")
11set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
12set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
13set(CMAKE_SHARED_LIBRARY_PREFIX "lib")          # lib
14set(CMAKE_SHARED_LIBRARY_SUFFIX ".a")           # .a
15set(CMAKE_EXECUTABLE_SUFFIX "")          # .exe
16set(CMAKE_DL_LIBS "" )
17
18set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
19set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
20
21
22include(Platform/UnixPaths)
23
24if(CMAKE_COMPILER_IS_GNUCC)
25  set(CMAKE_C_LINK_EXECUTABLE
26    "<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
27else()
28  # when using IBM xlc we probably don't want to link to -lgcc
29  set(CMAKE_C_LINK_EXECUTABLE
30    "<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lc -lnss_files -lnss_dns -lresolv")
31endif()
32
33if(CMAKE_COMPILER_IS_GNUCXX)
34  set(CMAKE_CXX_LINK_EXECUTABLE
35    "<CMAKE_CXX_COMPILER> -Wl,-relax <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lstdc++,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
36else()
37  # when using the IBM xlC we probably don't want to link to -lgcc
38  set(CMAKE_CXX_LINK_EXECUTABLE
39    "<CMAKE_CXX_COMPILER> -Wl,-relax <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lstdc++,-lc -lnss_files -lnss_dns -lresolv")
40endif()
41