Merge pull request #203 from ye-luo/cray-dynamic

Cray dynamic
This commit is contained in:
Paul R. C. Kent 2017-05-04 20:51:37 -04:00 committed by GitHub
commit a310f61ed1
1 changed files with 18 additions and 12 deletions

View File

@ -199,7 +199,7 @@ SET(BUILD_FCIQMC 0 CACHE BOOL "Build with FCIQMC")
#SET(BUILD_QMCTOOLS 1)
#SET(BUILD_SANDBOX 0)
#SET(MPIP_PROFILE 0)
#option(QMC_BUILD_STATIC "Link to static libraries" OFF)
SET(QMC_BUILD_STATIC 0 CACHE BOOL "Link to static libraries")
SET(ENABLE_TIMERS 0 CACHE BOOL "Enable internal timers")
######################################################################
@ -299,7 +299,6 @@ IF(CMAKE_TOOLCHAIN_FILE)
MESSAGE(STATUS "Using ${CMAKE_TOOLCHAIN_FILE} toolchain ")
ELSE(CMAKE_TOOLCHAIN_FILE)
MESSAGE(STATUS "Trying to figure out .....")
SET(QMC_BUILD_STATIC 0)
SET(ENABLE_OPENMP 0)
SET(HAVE_MPI 0)
SET(INTEL_COMPILER 0)
@ -337,18 +336,25 @@ ELSE(CMAKE_TOOLCHAIN_FILE)
SET(MPIEXEC_NUMPROC_FLAG "-n")
IF(QMC_CUDA)
IF(QMC_BUILD_STATIC)
MESSAGE(FATAL_ERROR "Static linking is not supported with CUDA build. Set QMC_BUILD_STATIC=0 (default)!")
ENDIF(QMC_BUILD_STATIC)
MESSAGE(STATUS "Building GPU code. Linking dynamically.")
ELSE(QMC_CUDA)
SET(QMC_BUILD_STATIC 1)
MESSAGE(STATUS "Building CPU code. Linking statically.")
SET(BUILD_SHARED_LIBS off)
SET(CMAKE_FIND_LIBRARY_SUFFIXES .a)
FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-static")
SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Wl,-Bstatic")
SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-static")
ENDFOREACH(type)
IF(QMC_BUILD_STATIC)
MESSAGE(STATUS "Building CPU code. Linking statically.")
SET(BUILD_SHARED_LIBS off)
SET(CMAKE_FIND_LIBRARY_SUFFIXES .a)
FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-static")
SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Wl,-Bstatic")
SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-static")
ENDFOREACH(type)
ELSE(QMC_BUILD_STATIC)
MESSAGE(STATUS "Building CPU code. Linking dynamically.")
SET(CMAKE_EXE_LINKER_FLAGS "-dynamic")
ENDIF(QMC_BUILD_STATIC)
ENDIF(QMC_CUDA)
ENDIF($ENV{CRAYPE_VERSION} MATCHES ".")