Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release_O3")
SET(CMAKE_BUILD_TYPE Release CACHE STRING "${CMAKE_BUILD_TYPE_STRING}" FORCE)
SET(FORCE_O3 TRUE)
endif()
message("${Yellow}-- Build type is set to ${CMAKE_BUILD_TYPE} ${ColourReset}")
message("-- Build type is set to ${CMAKE_BUILD_TYPE}")

# Set certain policies to NEW
foreach(p
Expand All @@ -62,7 +62,7 @@ foreach(p
CMP0022 # CMake 2.8.12
CMP0025 # CMake 3.0
CMP0042 # CMake 3.0
CMP0048 # Cmake 3.0
CMP0048 # CMake 3.0
CMP0051 # CMake 3.1
CMP0054 # CMake 3.1
CMP0060 # CMake 3.16.2
Expand Down Expand Up @@ -96,7 +96,7 @@ if (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel" AND CMAKE_CXX_COMPILER_VERSION
("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS MIN_GCC_VERSION) OR
("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS MIN_CLANG_VERSION) OR
("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS MIN_APPLECLANG_VERSION))
message(FATAL_ERROR "${BoldRed}\nGAMBIT requires at least g++ ${MIN_GCC_VERSION} or icpc ${MIN_ICC_VERSION}. Please install a newer compiler.${ColourReset}")
message(FATAL_ERROR "${BoldRed}\nGAMBIT requires at least g++ ${MIN_GCC_VERSION}, clang++ ${MIN_CLANG_VERSION}, AppleClang ${MIN_APPLECLANG_VERSION}, or icpc ${MIN_ICC_VERSION}. Please install a newer compiler.${ColourReset}")
endif()

# Don't relink all binaries when shared lib changes (programs will be rebuilt anyway if used headers change)
Expand All @@ -123,7 +123,7 @@ string(REGEX MATCH ";pybind;|;pybind11;|;Pybind;|;Pybind11;" DITCH_PYBIND ";${it
# otherwise it seems to get it wrong. Also, we need to add versions of python
# greater than 3.3 manually, for compatibility with CMake 2.8.12.
# If pybind11 is ditched, do not worry about PythonLibs
set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11)
set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13)
find_package(PythonInterp 3) # We require Python 3.
if(PYTHONINTERP_FOUND)
if(NOT DITCH_PYBIND)
Expand Down Expand Up @@ -365,7 +365,7 @@ if(EIGEN3_FOUND)
else()
message("${BoldRed} Eigen v3.1.0 or greater not found. FlexibleSUSY and GM2Calc interfaces will be excluded.${ColourReset}")
set(itch "${itch};gm2calc;flexiblesusy")
message(FATAL_ERROR "\nFlexibleSUSY is currently included in the GAMBIT distribution, so in fact it cannot be ditched. Please install Eigen3.\n(Note that this will change in future GAMBIT versions, where FlexibleSUSY will be a 'true' backend.)")
message(FATAL_ERROR "\nFlexibleSUSY is currently included in the GAMBIT distribution, so in fact it cannot be ditched. Please install Eigen3.\nIf Eigen3 is already installed in a non-standard location, you can point CMake to it by passing -DEIGEN3_INCLUDE_DIR=/path/to/eigen on the command line, or by setting the environment variable EIGEN3_ROOT (or EIGEN3_ROOT_DIR).\n(Note that this will change in future GAMBIT versions, where FlexibleSUSY will be a 'true' backend.)")
endif()

# Check for Gnu Scientific Library (GSL)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ GAMBIT is built using the [CMake](https://cmake.org/) system. GAMBIT depends on
- gfortran >= 9 / ifort >=15.0.2
- CMake 3.2.3 or greater
- Python 3
- Python modules: yaml, future, os, re, datetime, sys, getopt, shutil and itertools.
- Python modules: yaml, os, re, datetime, sys, getopt, shutil and itertools.
- git
- Boost 1.48 or greater
- GNU Scientific Library (GSL) 2.1 or greater
Expand Down Expand Up @@ -131,7 +131,7 @@ This will happen automatically if you install Python dependencies by our optiona
Memory requirements
--

For building the entirety of GAMBIT without optimisation, at least 10 GB of RAM is required. The build can be completed with less RAM than this if enough modules are ditched when running CMake, with e.g. `cmake -Ditch="ColliderBit;DarkBit" ..`, etc. See the Core paper ("GAMBIT: The Global and Modular Beyond-the-Standard-Model Inference Tool", the first link at the top of this README file) for further details of how to ditch components. For a list of commonly used CMake options, see the file CMAKE_FLAGS.md.
For building the entirety of GAMBIT without optimisation, at least 10 GB of RAM is required. The build can be completed with less RAM than this if enough modules are ditched when running CMake, with e.g. `cmake -Ditch="ColliderBit;DarkBit" ..`, etc. See the Core paper ("GAMBIT: The Global and Modular Beyond-the-Standard-Model Inference Tool", the first link at the top of this README file) for further details of how to ditch components. For a list of commonly used CMake options, see the file BUILD_OPTIONS.md.

Building with optimisation enabled (e.g. using `-DCMAKE_BUILD_TYPE=Release`) may require more than 20 GB of RAM, depending on the compiler in use and precisely which optimisations it employs. Interprocedural optimisation in particular requires very large amounts of RAM. In general, Release mode is only intended for performance-critical applications, such as when running on supercomputer architectures. It is not advised for laptops.

Expand Down
2 changes: 1 addition & 1 deletion README_OSX.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Configure GAMBIT. Key optional extras:
cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers ..
```

Now, see the instructions in the main README.md for possible make targets, and CMAKE_FLAGS.md for other cmake options.
Now, see the instructions in the main README.md for possible make targets, and BUILD_OPTIONS.md for other cmake options.


If you want to use Restframes, GReAT or the HepLike backend, prepare for some pain: you also need ROOT.
Expand Down
10 changes: 5 additions & 5 deletions cmake/optional.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ if(WITH_MPI)
list(APPEND MPI_C_LIBRARIES "-L${GCC_LIB_DIR}")
if (NOT MPI_CXX_FOUND)
message("${Red}-- Warning: C MPI libraries found, but not C++ MPI libraries. Usually that's OK, but")
message(" if you experience MPI linking errors, please install C++ MPI libraries as well.${CoulourReset}")
message(" if you experience MPI linking errors, please install C++ MPI libraries as well.${ColourReset}")
endif()
endif()

Expand Down Expand Up @@ -208,7 +208,6 @@ endif()
if(NOT LAPACK_LINKLIBS AND NOT LAPACK_FOUND)
# In future MN and FS need to be ditched if lapack cannot be found, and the build allowed to continue.
message(FATAL_ERROR "${BoldRed}LAPACK shared library not found.${ColourReset}")
message("${BoldCyan} X LAPACK shared library not found. Excluding FlexibleSUSY and MultiNest from GAMBIT configuration.${ColourReset}")
endif()

# Helper function to check if ROOT has been compiled with the same standard as we are using here. If not, downgrade to the standard that ROOT was compiled with.
Expand Down Expand Up @@ -292,11 +291,12 @@ if(WITH_ROOT)
if (ROOT_VERSION VERSION_LESS 6)
set (ROOT_FOUND FALSE)
endif()
if(NOT ROOT_FOUND)
message("${BoldCyan} X ROOT 6 not found at ROOTSYS=$ENV{ROOTSYS}. ROOT support will be disabled.${ColourReset}")
endif()
else()
set (ROOT_FOUND FALSE)
endif()
if(NOT ROOT_FOUND)
message("${BoldCyan} X ROOT 6 not found. ROOT support will be disabled.${ColourReset}")
message("${BoldCyan} X ROOTSYS environment variable is not set. Please source ROOT's thisroot.sh setup script before running cmake. ROOT support will be disabled.${ColourReset}")
endif()
else()
message("${BoldCyan} X ROOT support is deactivated. Set -DWITH_ROOT=ON to activate ROOT support in GAMBIT.${ColourReset}")
Expand Down
2 changes: 1 addition & 1 deletion cmake/warnings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ macro(set_compiler_warning warning current_flags)
endmacro()

if(${WERROR})
set_compiler_warning("error")
set_compiler_warning("error" CMAKE_CXX_FLAGS)
else()
message(STATUS "Werror is disabled")
endif()
Expand Down
Loading