You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Real bugs fixed
- cmake/warnings.cmake: set_compiler_warning("error") now passes CMAKE_CXX_FLAGS so -DWERROR=ON actually adds -Werror.
- cmake/optional.cmake: ${CoulourReset} typo corrected to ${ColourReset} in the C-MPI-without-C++-MPI warning.
Better error/help messages
- CMakeLists.txt: minimum-compiler FATAL_ERROR now mentions clang++ and AppleClang minimums alongside g++ and icpc.
- CMakeLists.txt: Eigen3 FATAL_ERROR now points users at -DEIGEN3_INCLUDE_DIR=/path/... and the EIGEN3_ROOT env var as alternatives to
installing.
- cmake/optional.cmake: ROOT path now distinguishes ROOTSYS unset (suggests sourcing thisroot.sh) from "found ROOTSYS but no ROOT 6 there"
(echoes the path).
Doc fixes
- README.md, README_OSX.md: CMAKE_FLAGS.md references corrected to BUILD_OPTIONS.md.
- README.md: dropped future from the required-Python-modules list (it's not actually checked).
Cosmetic
- CMakeLists.txt: build-type message no longer wraps undefined colour vars (printed before utilities.cmake is included). Per your request,
kept in place — colour stripped instead of moved.
- CMakeLists.txt: Cmake 3.0 → CMake 3.0 in CMP0048 comment.
- CMakeLists.txt: Python_ADDITIONAL_VERSIONS extended to 3.12, 3.13.
- cmake/optional.cmake: removed unreachable LAPACK message after the FATAL_ERROR.
message(FATAL_ERROR"${BoldRed}\nGAMBIT requires at least g++ ${MIN_GCC_VERSION} or icpc ${MIN_ICC_VERSION}. Please install a newer compiler.${ColourReset}")
99
+
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}")
100
100
endif()
101
101
102
102
# Don't relink all binaries when shared lib changes (programs will be rebuilt anyway if used headers change)
@@ -123,7 +123,7 @@ string(REGEX MATCH ";pybind;|;pybind11;|;Pybind;|;Pybind11;" DITCH_PYBIND ";${it
123
123
# otherwise it seems to get it wrong. Also, we need to add versions of python
124
124
# greater than 3.3 manually, for compatibility with CMake 2.8.12.
125
125
# If pybind11 is ditched, do not worry about PythonLibs
find_package(PythonInterp3) # We require Python 3.
128
128
if(PYTHONINTERP_FOUND)
129
129
if(NOT DITCH_PYBIND)
@@ -365,7 +365,7 @@ if(EIGEN3_FOUND)
365
365
else()
366
366
message("${BoldRed} Eigen v3.1.0 or greater not found. FlexibleSUSY and GM2Calc interfaces will be excluded.${ColourReset}")
367
367
set(itch "${itch};gm2calc;flexiblesusy")
368
-
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.)")
368
+
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.)")
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,7 +62,7 @@ GAMBIT is built using the [CMake](https://cmake.org/) system. GAMBIT depends on
62
62
- gfortran >= 9 / ifort >=15.0.2
63
63
- CMake 3.2.3 or greater
64
64
- Python 3
65
-
- Python modules: yaml, future, os, re, datetime, sys, getopt, shutil and itertools.
65
+
- Python modules: yaml, os, re, datetime, sys, getopt, shutil and itertools.
66
66
- git
67
67
- Boost 1.48 or greater
68
68
- GNU Scientific Library (GSL) 2.1 or greater
@@ -131,7 +131,7 @@ This will happen automatically if you install Python dependencies by our optiona
131
131
Memory requirements
132
132
--
133
133
134
-
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.
134
+
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.
135
135
136
136
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.
Copy file name to clipboardExpand all lines: cmake/optional.cmake
+5-5Lines changed: 5 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ if(WITH_MPI)
71
71
list(APPEND MPI_C_LIBRARIES "-L${GCC_LIB_DIR}")
72
72
if (NOT MPI_CXX_FOUND)
73
73
message("${Red}-- Warning: C MPI libraries found, but not C++ MPI libraries. Usually that's OK, but")
74
-
message(" if you experience MPI linking errors, please install C++ MPI libraries as well.${CoulourReset}")
74
+
message(" if you experience MPI linking errors, please install C++ MPI libraries as well.${ColourReset}")
75
75
endif()
76
76
endif()
77
77
@@ -208,7 +208,6 @@ endif()
208
208
if(NOT LAPACK_LINKLIBS ANDNOT LAPACK_FOUND)
209
209
# In future MN and FS need to be ditched if lapack cannot be found, and the build allowed to continue.
210
210
message(FATAL_ERROR"${BoldRed}LAPACK shared library not found.${ColourReset}")
211
-
message("${BoldCyan} X LAPACK shared library not found. Excluding FlexibleSUSY and MultiNest from GAMBIT configuration.${ColourReset}")
212
211
endif()
213
212
214
213
# 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.
@@ -292,11 +291,12 @@ if(WITH_ROOT)
292
291
if (ROOT_VERSION VERSION_LESS 6)
293
292
set (ROOT_FOUND FALSE)
294
293
endif()
294
+
if(NOT ROOT_FOUND)
295
+
message("${BoldCyan} X ROOT 6 not found at ROOTSYS=$ENV{ROOTSYS}. ROOT support will be disabled.${ColourReset}")
296
+
endif()
295
297
else()
296
298
set (ROOT_FOUND FALSE)
297
-
endif()
298
-
if(NOT ROOT_FOUND)
299
-
message("${BoldCyan} X ROOT 6 not found. ROOT support will be disabled.${ColourReset}")
299
+
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}")
300
300
endif()
301
301
else()
302
302
message("${BoldCyan} X ROOT support is deactivated. Set -DWITH_ROOT=ON to activate ROOT support in GAMBIT.${ColourReset}")
0 commit comments