# NOTE: when releasing the "-dev" suffix needs to be stripped off!
# REGRESSIONTEST_VERSION and REGRESSIONTEST_BRANCH should always be
# defined.
-set(PROJECT_VERSION "5.0.1-dev")
+set(PROJECT_VERSION "5.0.2-dev")
# If this is a released tarball, "-dev" will not be present in
# PROJECT_VERSION, and REGRESSIONTEST_VERSION specifies the version
# number of the regressiontest tarball against which the code tarball
# can be tested. This will be the version of the last patch release.
-set(REGRESSIONTEST_VERSION "5.0.1-dev")
+set(REGRESSIONTEST_VERSION "5.0.2-dev")
# The MD5 checksum of the regressiontest tarball. Only used if "-dev"
# is not present in the PROJECT_VERSION
-set(REGRESSIONTEST_MD5SUM "a07524afebca5013540d4f2f72df2dce")
+set(REGRESSIONTEST_MD5SUM "8c048dd4636a95a4c22870b249106bc5")
# If this is not a released tarball, "-dev" will be present in
# PROJECT_VERSION, and REGRESSIONTEST_BRANCH specifies the name of the
# gerrit.gromacs.org branch whose HEAD can test this code, *if* this
"List of configuration types"
FORCE)
endif()
-set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBUGINFO RELWITHASSERT MINSIZEREL)
+set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBINFO RELWITHASSERT MINSIZEREL)
enable_language(C)
enable_language(CXX)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON)
set(CPACK_PACKAGE_NAME "gromacs")
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
"Hostname of the machine where the cache was generated.")
endif()
+########################################################################
+# Detect architecture before setting options so we can alter defaults
+########################################################################
+# Detect the architecture the compiler is targetting, detect
+# SIMD instructions possibilities on that hardware, suggest SIMD instruction set
+# to use if none is specified, and populate the cache option for CPU
+# SIMD.
+include(gmxDetectTargetArchitecture)
+gmx_detect_target_architecture()
+
########################################################################
# User input options #
########################################################################
set(CMAKE_PREFIX_PATH "" CACHE STRING "Extra locations to search for external libraries and tools (give directory without lib, bin, or include)")
-option(GMX_DOUBLE "Use double precision (much slower, use only if you really need it)" OFF)
+if(GMX_TARGET_FUJITSU_SPARC64)
+ # Fujitsu only has SIMD in double precision, so this will be faster
+ set(GMX_DOUBLE_DEFAULT ON)
+else()
+ set(GMX_DOUBLE_DEFAULT OFF)
+endif()
+option(GMX_DOUBLE "Use double precision (much slower, use only if you really need it)" ${GMX_DOUBLE_DEFAULT})
+option(GMX_RELAXED_DOUBLE_PRECISION "Accept single precision 1/sqrt(x) when using Fujitsu HPC-ACE SIMD" OFF)
+mark_as_advanced(GMX_RELAXED_DOUBLE_PRECISION)
+
option(GMX_MPI "Build a parallel (message-passing) version of GROMACS" OFF)
option(GMX_THREAD_MPI "Build a thread-MPI-based multithreaded version of GROMACS (not compatible with MPI)" ON)
gmx_dependent_option(
set(REQUIRED_CUDA_COMPUTE_CAPABILITY 2.0)
include(gmxManageGPU)
-# Detect the architecture the compiler is targetting, detect
-# SIMD instructions possibilities on that hardware, suggest SIMD instruction set
-# to use if none is specified, and populate the cache option for CPU
-# SIMD.
-include(gmxDetectTargetArchitecture)
-gmx_detect_target_architecture()
-
if(GMX_CPU_ACCELERATION)
# Stay compatible with old Jenkins command line options for specific SIMD acceleration
set(GMX_SIMD "${GMX_CPU_ACCELERATION}" CACHE STRING "SIMD instruction set level and compiler optimization" FORCE)
if(GMX_DOUBLE)
add_definitions(-DGMX_DOUBLE)
set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_DOUBLE")
+ if(GMX_RELAXED_DOUBLE_PRECISION)
+ add_definitions(-DGMX_RELAXED_DOUBLE_PRECISION)
+ endif()
endif()
if(GMX_SOFTWARE_INVSQRT)
set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_SOFTWARE_INVSQRT")
endif()
if(WIN32 AND NOT CYGWIN)
- set(GMX_WSOCKLIB_PATH CACHE PATH "Path to winsock (wsock32.lib) library.")
- mark_as_advanced(GMX_WSOCKLIB_PATH)
- find_library(WSOCK32_LIBRARY NAMES wsock32 PATHS ${GMX_WSOCKLIB_PATH})
- if(WSOCK32_LIBRARY)
- list(APPEND GMX_EXTRA_LIBRARIES ${WSOCK32_LIBRARY})
- add_definitions(-DGMX_HAVE_WINSOCK)
- else()
- message(STATUS "No winsock found. Cannot use interactive molecular dynamics (IMD).")
- endif(WSOCK32_LIBRARY)
+ list(APPEND GMX_EXTRA_LIBRARIES "wsock32")
+ add_definitions(-DGMX_HAVE_WINSOCK)
endif()
include(gmxManageBlueGene)
endif()
+if(GMX_TARGET_FUJITSU_SPARC64)
+ include(gmxManageFujitsuSparc64)
+endif()
+
########################################################################
#Process MPI settings
########################################################################