mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-07 06:09:52 -06:00
Remove now redundant implicit parser code from CrayPrgEnv.cmake, as
this function is now supported in the general cmake code
(e.g. Modules/CMakeParseImplicit{Include,Link}Info.cmake).
This simplifies __CrayPrgEnv_setup() to take only one arg (${lang})
and allows us to remove a level of inclusion as
CrayPrgEnv-${lang}.cmake is now compiler independent we
do not need the CrayPrgEnv-${compiler}-${lang} files any more.
38 lines
1.5 KiB
CMake
38 lines
1.5 KiB
CMake
# Guard against multiple inclusions
|
|
if(__craylinux_crayprgenv)
|
|
return()
|
|
endif()
|
|
set(__craylinux_crayprgenv 1)
|
|
|
|
macro(__CrayPrgEnv_setup lang)
|
|
if(DEFINED ENV{CRAYPE_VERSION})
|
|
message(STATUS "Cray Programming Environment $ENV{CRAYPE_VERSION} ${lang}")
|
|
elseif(DEFINED ENV{ASYNCPE_VERSION})
|
|
message(STATUS "Cray XT Programming Environment $ENV{ASYNCPE_VERSION} ${lang}")
|
|
else()
|
|
message(STATUS "Cray Programming Environment (unknown version) ${lang}")
|
|
endif()
|
|
|
|
# Flags for the Cray wrappers
|
|
set(CMAKE_STATIC_LIBRARY_LINK_${lang}_FLAGS "-static")
|
|
set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
|
|
set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-dynamic")
|
|
|
|
# If the link type is not explicitly specified in the environment then
|
|
# the Cray wrappers assume that the code will be built statically so
|
|
# we check the following condition(s) are NOT met
|
|
# Compiler flags are explicitly dynamic
|
|
# Env var is dynamic and compiler flags are not explicitly static
|
|
if(NOT (((CMAKE_${lang}_FLAGS MATCHES "(^| )-dynamic($| )") OR
|
|
(CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-dynamic($| )"))
|
|
OR
|
|
(("$ENV{CRAYPE_LINK_TYPE}" STREQUAL "dynamic") AND
|
|
NOT ((CMAKE_${lang}_FLAGS MATCHES "(^| )-static($| )") OR
|
|
(CMAKE_EXE_LINKER_FLAGS MATCHES "(^| )-static($| )")))))
|
|
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
|
|
set(BUILD_SHARED_LIBS FALSE CACHE BOOL "")
|
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
|
set(CMAKE_LINK_SEARCH_START_STATIC TRUE)
|
|
endif()
|
|
endmacro()
|