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