1#################################################################### 2# ARCHITECTURE 3#################################################################### 4 5set( EC_HAVE_C_INLINE 1 ) 6set( EC_HAVE_FUNCTION_DEF 1 ) 7set( EC_HAVE_CXXABI_H 1 ) 8set( EC_HAVE_CXX_BOOL 1 ) 9set( EC_HAVE_CXX_SSTREAM 1 ) 10set( EC_HAVE_CXX_INT_128 0 ) 11set( CMAKE_SIZEOF_VOID_P 8 ) 12set( EC_SIZEOF_PTR 8 ) 13set( EC_SIZEOF_CHAR 1 ) 14set( EC_SIZEOF_SHORT 2 ) 15set( EC_SIZEOF_INT 4 ) 16set( EC_SIZEOF_LONG 8 ) 17set( EC_SIZEOF_LONG_LONG 8 ) 18set( EC_SIZEOF_FLOAT 4 ) 19set( EC_SIZEOF_DOUBLE 8 ) 20set( EC_SIZEOF_LONG_DOUBLE 8 ) 21set( EC_SIZEOF_SIZE_T 8 ) 22set( EC_SIZEOF_SSIZE_T 8 ) 23set( EC_SIZEOF_OFF_T 8 ) 24set( EC_BIG_ENDIAN 0 ) 25set( EC_LITTLE_ENDIAN 1 ) 26set( IEEE_BE 0 ) 27set( IEEE_LE 1 ) 28set( EC_HAVE_FSEEK 1 ) 29set( EC_HAVE_FSEEKO 1 ) 30set( EC_HAVE_FTELLO 1 ) 31set( EC_HAVE_LSEEK 0 ) 32set( EC_HAVE_FTRUNCATE 0 ) 33set( EC_HAVE_OPEN 0 ) 34set( EC_HAVE_FOPEN 1 ) 35set( EC_HAVE_FMEMOPEN 1 ) 36set( EC_HAVE_FUNOPEN 0 ) 37set( EC_HAVE_FLOCK 1 ) 38set( EC_HAVE_MMAP 1 ) 39set( EC_HAVE_POSIX_MEMALIGN 1 ) 40set( EC_HAVE_F_GETLK 1 ) 41set( EC_HAVE_F_SETLK 1 ) 42set( EC_HAVE_F_SETLKW 1 ) 43set( EC_HAVE_F_GETLK64 1 ) 44set( EC_HAVE_F_SETLK64 1 ) 45set( EC_HAVE_F_SETLKW64 1 ) 46set( EC_HAVE_MAP_ANONYMOUS 1 ) 47set( EC_HAVE_MAP_ANON 1 ) 48set( EC_HAVE_ASSERT_H 1 ) 49set( EC_HAVE_STDLIB_H 1 ) 50set( EC_HAVE_UNISTD_H 1 ) 51set( EC_HAVE_STRING_H 1 ) 52set( EC_HAVE_STRINGS_H 1 ) 53set( EC_HAVE_SYS_STAT_H 1 ) 54set( EC_HAVE_SYS_TIME_H 1 ) 55set( EC_HAVE_SYS_TYPES_H 1 ) 56set( EC_HAVE_MALLOC_H 1 ) 57set( EC_HAVE_SYS_MALLOC_H 0 ) 58set( EC_HAVE_SYS_PARAM_H 1 ) 59set( EC_HAVE_SYS_MOUNT_H 1 ) 60set( EC_HAVE_SYS_VFS_H 1 ) 61set( EC_HAVE_OFFT 1 ) 62set( EC_HAVE_OFF64T 1 ) 63set( EC_HAVE_STRUCT_STAT 1 ) 64set( EC_HAVE_STRUCT_STAT64 1 ) 65set( EC_HAVE_STAT 1 ) 66set( EC_HAVE_STAT64 1 ) 67set( EC_HAVE_FSTAT 1 ) 68set( EC_HAVE_FSTAT64 1 ) 69set( EC_HAVE_FSEEKO64 1 ) 70set( EC_HAVE_FTELLO64 1 ) 71set( EC_HAVE_LSEEK64 1 ) 72set( EC_HAVE_OPEN64 1 ) 73set( EC_HAVE_FOPEN64 1 ) 74set( EC_HAVE_FTRUNCATE64 1 ) 75set( EC_HAVE_FLOCK64 1 ) 76set( EC_HAVE_MMAP64 1 ) 77set( EC_HAVE_STRUCT_STATVFS 1 ) 78set( EC_HAVE_STRUCT_STATVFS64 1 ) 79set( EC_HAVE_FOPENCOOKIE 1 ) 80set( EC_HAVE_FSYNC 1 ) 81set( EC_HAVE_FDATASYNC 1 ) 82set( EC_HAVE_DIRFD 1 ) 83set( EC_HAVE_SYSPROC 0 ) 84set( EC_HAVE_SYSPROCFS 1 ) 85set( EC_HAVE_EXECINFO_BACKTRACE 1 ) 86set( EC_HAVE_GMTIME_R 1 ) 87set( EC_HAVE_GETPWUID_R 1 ) 88set( EC_HAVE_GETPWNAM_R 1 ) 89set( EC_HAVE_READDIR_R 1 ) 90set( EC_HAVE_DIRENT_D_TYPE 1 ) 91set( EC_HAVE_GETHOSTBYNAME_R 1 ) 92set( EC_HAVE_ATTRIBUTE_CONSTRUCTOR 1 ) 93set( EC_ATTRIBUTE_CONSTRUCTOR_INITS_ARGV 0 ) 94set( EC_HAVE_PROCFS 1 ) 95set( EC_HAVE_DLFCN_H 1 ) 96set( EC_HAVE_DLADDR 1 ) 97set( EC_HAVE_AIOCB 1 ) 98set( EC_HAVE_AIOCB64 1 ) 99 100# Disable relative rpaths as aprun does not respect it 101set( ENABLE_RELATIVE_RPATHS OFF CACHE STRING "Disable relative rpaths" FORCE ) 102 103#################################################################### 104# COMPILER 105#################################################################### 106 107if( "${CMAKE_VERSION}" VERSION_LESS 3.5 ) 108include(CMakeForceCompiler) 109CMAKE_FORCE_C_COMPILER ( cc Cray ) 110CMAKE_FORCE_CXX_COMPILER ( CC Cray ) 111CMAKE_FORCE_Fortran_COMPILER ( ftn Cray ) 112endif() 113 114set(CMAKE_Fortran_PREPROCESS_SOURCE 115 "${CMAKE_CURRENT_LIST_DIR}/preprocess_cray_fortran \"<CMAKE_Fortran_COMPILER>\" \"<DEFINES>\" \"<INCLUDES>\" \"<FLAGS>\" <SOURCE> <PREPROCESSED_SOURCE>") 116 117set( ECBUILD_FIND_MPI OFF ) 118set( ECBUILD_TRUST_FLAGS ON ) 119 120set( CXX11_FLAG "-hstd=c++11" ) 121 122#################################################################### 123# OpenMP FLAGS 124#################################################################### 125 126set( OMP_C_FLAGS "-homp" ) 127set( OMP_CXX_FLAGS "-homp" ) 128set( OMP_Fortran_FLAGS "-homp" ) 129 130set( OMPSTUBS_C_FLAGS "-hnoomp" ) 131set( OMPSTUBS_CXX_FLAGS "-hnoomp" ) 132set( OMPSTUBS_Fortran_FLAGS "-hnoomp" ) 133 134#################################################################### 135# LINK FLAGS 136#################################################################### 137 138if( EXISTS "$ENV{CC_X86_64}/lib/x86-64/libcray-c++-rts.so" ) 139 set( LIBCRAY_CXX_RTS "$ENV{CC_X86_64}/lib/x86-64/libcray-c++-rts.so" ) 140elseif( EXISTS "$ENV{CC_X86_64}/lib/libcray-c++-rts.so" ) 141 set( LIBCRAY_CXX_RTS "$ENV{CC_X86_64}/lib/libcray-c++-rts.so" ) 142endif() 143 144set( ECBUILD_SHARED_LINKER_FLAGS "-Wl,--eh-frame-hdr -Ktrap=fp" ) 145set( ECBUILD_MODULE_LINKER_FLAGS "-Wl,--eh-frame-hdr -Ktrap=fp -Wl,-Map,loadmap" ) 146set( ECBUILD_EXE_LINKER_FLAGS "-Wl,--eh-frame-hdr -Ktrap=fp -Wl,-Map,loadmap -Wl,--as-needed" ) 147set( ECBUILD_CXX_IMPLICIT_LINK_LIBRARIES "${LIBCRAY_CXX_RTS}" CACHE STRING "" ) 148 149#################################################################### 150# LIBRARIES 151#################################################################### 152 153# Don't search for LAPACK as it is provided by the cray-libsci module which is 154# loaded by default 155set( LAPACK_FOUND $ENV{CRAY_LIBSCI_PREFIX_DIR} ) 156