2004-08-25 03:21:10 +08:00
|
|
|
PROJECT(qmcPlusPlus)
|
2005-11-18 01:29:59 +08:00
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Version
|
|
|
|
######################################################################
|
2005-11-03 06:23:38 +08:00
|
|
|
SET(QMCPLUSPLUS_VERSION_MAJOR 0)
|
|
|
|
SET(QMCPLUSPLUS_VERSION_MINOR 2)
|
|
|
|
SET(QMCPLUSPLUS_VERSION_PATCH 0)
|
2005-11-18 01:29:59 +08:00
|
|
|
SET(QMCPLUSPLUS_RELEASE 0)
|
2005-11-03 06:23:38 +08:00
|
|
|
SET(QMCPLUSPLUS_VERSION "${QMCPLUSPLUS_VERSION_MAJOR}.${QMCPLUSPLUS_VERSION_MINOR}.$(QMCPLUSPLUS_VERSION_PATH}")
|
|
|
|
|
2004-08-25 03:21:10 +08:00
|
|
|
#define the paths for library and executable for out-of-soruce compilation
|
|
|
|
SET (LIBRARY_OUTPUT_PATH ${qmcPlusPlus_BINARY_DIR}/lib CACHE PATH "Single output directory for building all libraries.")
|
|
|
|
SET (EXECUTABLE_OUTPUT_PATH ${qmcPlusPlus_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.")
|
|
|
|
|
2005-11-17 11:38:21 +08:00
|
|
|
######################################################################
|
|
|
|
# Optinal features
|
|
|
|
######################################################################
|
|
|
|
|
|
|
|
######################
|
|
|
|
#choose parallel mode
|
|
|
|
######################
|
|
|
|
OPTION(QMC_MPI "Enable MPI library" OFF)
|
|
|
|
|
|
|
|
######################
|
|
|
|
#1 to build static library
|
|
|
|
######################
|
|
|
|
SET(QMC_BUILD_STATIC 0)
|
|
|
|
|
|
|
|
######################
|
|
|
|
#set 32/64 bit OS
|
|
|
|
######################
|
2004-12-18 04:47:23 +08:00
|
|
|
SET(BITS 32)
|
2005-11-17 11:38:21 +08:00
|
|
|
|
|
|
|
#list of options to determine libraries. First, try to use libraries available
|
2004-08-25 03:21:10 +08:00
|
|
|
SET(INTEL_COMPILER 0)
|
|
|
|
SET(ENABLE_OPENMP 0)
|
|
|
|
SET(HAVE_MPI 0)
|
|
|
|
SET(HAVE_OOMPI 0)
|
|
|
|
SET(HAVE_LIBXML2 0)
|
|
|
|
SET(HAVE_LIBXMLPP 0)
|
|
|
|
SET(HAVE_LIBHDF5 0)
|
|
|
|
SET(HAVE_LIBSPRNG 0)
|
|
|
|
SET(HAVE_LIBBLITZ 0)
|
|
|
|
SET(HAVE_LIBGSL 0)
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
#important settings for QMC simulations to instantiate template classes
|
|
|
|
#OHMMS_* is to reuse Ohmms class libraries
|
|
|
|
#OHMMS_DIM = dimension of the problem
|
|
|
|
#OHMMS_INDEXTYPE = type of index
|
|
|
|
#OHMMS_PRECISION = base precision, float, double etc
|
2005-07-08 02:52:14 +08:00
|
|
|
#OHMMS_ORTHO = 0 for general unit cell, 1 for orthogonal cells
|
2004-08-25 03:21:10 +08:00
|
|
|
#QMC_FASTWALKER = true, when operation is faster for each walker
|
|
|
|
#QMC_APPS = an application to compile
|
|
|
|
######################################################################
|
|
|
|
SET(OHMMS_DIM 3)
|
|
|
|
SET(OHMMS_INDEXTYPE int)
|
|
|
|
SET(OHMMS_PRECISION double)
|
2005-07-08 02:52:14 +08:00
|
|
|
SET(OHMMS_ORTHO 0)
|
2004-08-25 03:21:10 +08:00
|
|
|
SET(QMC_FASTWALKER 1)
|
|
|
|
SET(QMCAPPS MolecuApps)
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
#experimental settings for optimization
|
|
|
|
######################################################################
|
|
|
|
SET(INTEL_COMPILER 0)
|
|
|
|
|
|
|
|
SET (PROJECT_CMAKE ${qmcPlusPlus_SOURCE_DIR}/CMake)
|
|
|
|
######################################################
|
|
|
|
#COMPILER choose one of the cmake files to customize the compiler options
|
|
|
|
#If nothing is chosen, default settings by cmake will be used.
|
|
|
|
######################################################
|
2005-11-17 11:38:21 +08:00
|
|
|
INCLUDE(${PROJECT_CMAKE}/GNUCompilers.cmake)
|
|
|
|
#INCLUDE(${PROJECT_CMAKE}/Intel8.cmake)
|
2004-08-25 03:21:10 +08:00
|
|
|
#INCLUDE(${PROJECT_CMAKE}/IBMCompilers.cmake)
|
|
|
|
#INCLUDE(${PROJECT_CMAKE}/KCCCompilers.cmake)
|
2005-07-08 02:52:14 +08:00
|
|
|
#INCLUDE(${PROJECT_CMAKE}/Intel7.cmake)
|
2004-08-25 03:21:10 +08:00
|
|
|
|
|
|
|
INCLUDE(${CMAKE_ROOT}/Modules/FindThreads.cmake)
|
|
|
|
|
|
|
|
#check external libraries: required
|
|
|
|
INCLUDE(${PROJECT_CMAKE}/FindLibxml2.cmake)
|
|
|
|
INCLUDE(${PROJECT_CMAKE}/FindLapack.cmake)
|
|
|
|
INCLUDE(${PROJECT_CMAKE}/FindHDF5.cmake)
|
2005-02-19 08:04:38 +08:00
|
|
|
INCLUDE(${PROJECT_CMAKE}/FindBoost.cmake)
|
2005-11-03 06:23:38 +08:00
|
|
|
|
2004-09-30 23:42:16 +08:00
|
|
|
IF(QMC_MPI)
|
|
|
|
INCLUDE(${PROJECT_SOURCE_DIR}/CMake/addMPI.cmake)
|
|
|
|
ENDIF(QMC_MPI)
|
|
|
|
|
2004-08-25 03:21:10 +08:00
|
|
|
IF(FOUND_LIBXML2)
|
|
|
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
|
|
|
LINK_LIBRARIES(${LIBXML2_LIBRARY})
|
|
|
|
SET(HAVE_LIBXML2 1)
|
|
|
|
ENDIF(FOUND_LIBXML2)
|
|
|
|
|
2005-02-19 08:04:38 +08:00
|
|
|
IF(FOUND_BOOST)
|
|
|
|
SET(HAVE_LIBBOOST 1)
|
|
|
|
INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR})
|
|
|
|
ENDIF(FOUND_BOOST)
|
|
|
|
|
2004-08-25 03:21:10 +08:00
|
|
|
IF(FOUND_HDF5)
|
|
|
|
SET(HAVE_LIBHDF5 1)
|
|
|
|
INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIR})
|
|
|
|
LINK_LIBRARIES(${HDF5_LIBRARY})
|
2005-10-31 08:36:31 +08:00
|
|
|
#zlib
|
2005-09-05 01:48:03 +08:00
|
|
|
INCLUDE(${CMAKE_ROOT}/Modules/FindZLIB.cmake)
|
|
|
|
IF(ZLIB_FOUND)
|
|
|
|
LINK_LIBRARIES(${ZLIB_LIBRARY})
|
|
|
|
ENDIF(ZLIB_FOUND)
|
2005-10-31 08:36:31 +08:00
|
|
|
#szlib
|
|
|
|
INCLUDE(${PROJECT_CMAKE}/FindSZLIB.cmake)
|
|
|
|
IF(SZLIB_FOUND)
|
|
|
|
LINK_LIBRARIES(${SZLIB_LIBRARY})
|
|
|
|
ENDIF(SZLIB_FOUND)
|
2004-08-25 03:21:10 +08:00
|
|
|
ENDIF(FOUND_HDF5)
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
${qmcPlusPlus_SOURCE_DIR}/src
|
|
|
|
${qmcPlusPlus_BINARY_DIR}/src
|
|
|
|
)
|
|
|
|
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
|
|
|
|
|
|
|
|
SUBDIRS(src)
|