Skip to content

Commit 362465d

Browse files
authored
Merge pull request #318 from OpenBioSim/features_and_fixes
Features and fixes for 2025.1.0
2 parents 67673e4 + 74139ba commit 362465d

File tree

331 files changed

+6775
-1284
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

331 files changed

+6775
-1284
lines changed

corelib/CMakeLists.txt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
#
55
################################
66

7-
# require cmake >= 3.3.0 (released in 2018)
8-
cmake_minimum_required(VERSION 3.3.0 FATAL_ERROR)
9-
cmake_policy(VERSION 3.3)
7+
# require cmake >= 3.30.0
8+
cmake_minimum_required(VERSION 3.30.0 FATAL_ERROR)
9+
cmake_policy(VERSION 3.30)
1010

1111
# Read the version number (so we can set it once in one place)
1212
file (STRINGS "../version.txt" VERSION_TEXT)
@@ -18,6 +18,8 @@ set (S_VERSION_MINOR ${CMAKE_MATCH_2})
1818
set (S_VERSION_PATCH ${CMAKE_MATCH_3})
1919
set (SIRE_VERSION "${S_VERSION_MAJOR}.${S_VERSION_MINOR}.${S_VERSION_PATCH}")
2020

21+
set (SIRE_CXX_STANDARD 14)
22+
2123
message( STATUS "Building Sire ${SIRE_VERSION}")
2224

2325
############
@@ -392,6 +394,7 @@ set(NEED_UNDEF_STRICT_ANSI FALSE)
392394
if (SIRE_HAS_CPP_17)
393395
message(STATUS "Compiler supports C++ 2017")
394396
set(SIRE_CXX_NG_FLAGS "${SIRE_CXX_NG_FLAGS} ${SLASH_HYPHEN}std${COLON_EQUALS}c++17 ${SLASH_HYPHEN}DSIRE_HAS_CPP_17 ${SLASH_HYPHEN}DSIRE_HAS_CPP_14 ${SLASH_HYPHEN}DSIRE_HAS_CPP_1Y ${SLASH_HYPHEN}DSIRE_HAS_CPP_11")
397+
set(SIRE_CXX_STANDARD 17)
395398

396399
if (APPLE)
397400
# C++ 2017 does not support aligned_alloc on old MacOS - check for this!
@@ -431,6 +434,7 @@ if (SIRE_HAS_CPP_17)
431434
elseif (SIRE_HAS_CPP_14)
432435
message(STATUS "Compiler supports C++ 2014")
433436
set(SIRE_CXX_NG_FLAGS "${SIRE_CXX_NG_FLAGS} ${SLASH_HYPHEN}std${COLON_EQUALS}c++14 ${SLASH_HYPHEN}DSIRE_HAS_CPP_14 ${SLASH_HYPHEN}DSIRE_HAS_CPP_1Y ${SLASH_HYPHEN}DSIRE_HAS_CPP_11")
437+
set(SIRE_CXX_STANDARD 14)
434438

435439
if (NEED_UNDEF_STRICT_ANSI)
436440
message( STATUS "Undefining __STRICT_ANSI__ because of compile problems")
@@ -442,6 +446,10 @@ else()
442446
endif()
443447

444448
save_sire_variable( "SIRE_CXX_NG_FLAGS" "${SIRE_CXX_NG_FLAGS}" )
449+
save_sire_variable( "SIRE_CXX_STANDARD" "${SIRE_CXX_STANDARD}" )
450+
451+
message( STATUS "Setting CMAKE_CXX_STANDARD to ${SIRE_CXX_STANDARD}" )
452+
set(CMAKE_CXX_STANDARD ${SIRE_CXX_STANDARD})
445453

446454
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SIRE_CXX_NG_FLAGS}")
447455

@@ -469,8 +477,7 @@ if ( ${SIRE_CXX_COMPILER_ID} MATCHES "GNU" )
469477
# get the compiler version (via gcc -dumpversion)
470478
# (I'll assume that we are using the same version
471479
# of compiler for C and C++...)
472-
EXEC_PROGRAM( ${CMAKE_CXX_COMPILER}
473-
ARGS -dumpversion
480+
EXECUTE_PROCESS( COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
474481
OUTPUT_VARIABLE exe_output )
475482

476483
# These two regexps are copied from the Chicken CMake

corelib/build/cmake/FindGSL.cmake

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
#
2-
# Try to find gnu scientific library GSL
1+
#
2+
# Try to find gnu scientific library GSL
33
# (see http://www.gnu.org/software/gsl/)
4-
# Once run this will define:
5-
#
4+
# Once run this will define:
5+
#
66
# GSL_FOUND = system has GSL lib
77
#
88
# GSL_LIBRARIES = full path to the libraries
99
# on Unix/Linux with additional linker flags from "gsl-config --libs"
10-
#
10+
#
1111
# CMAKE_GSL_CXX_FLAGS = Unix compiler flags for GSL, essentially "`gsl-config --cxxflags`"
1212
#
13-
# GSL_INCLUDE_DIR = where to find headers
13+
# GSL_INCLUDE_DIR = where to find headers
1414
#
1515
# GSL_LINK_DIRECTORIES = link directories, useful for rpath on Unix
1616
# GSL_EXE_LINKER_FLAGS = rpath on Unix
@@ -24,11 +24,11 @@
2424
# --------------------------------
2525

2626
IF (NOT WIN32)
27-
SET(GSL_CONFIG_PREFER_PATH
27+
SET(GSL_CONFIG_PREFER_PATH
2828
"$ENV{GSL_DIR}/bin"
2929
"$ENV{GSL_DIR}"
30-
"$ENV{GSL_HOME}/bin"
31-
"$ENV{GSL_HOME}"
30+
"$ENV{GSL_HOME}/bin"
31+
"$ENV{GSL_HOME}"
3232
CACHE STRING "preferred path to GSL (gsl-config)")
3333
FIND_PROGRAM(GSL_CONFIG gsl-config
3434
${GSL_CONFIG_PREFER_PATH}
@@ -37,38 +37,38 @@ IF (NOT WIN32)
3737
)
3838
#MESSAGE("DBG GSL_CONFIG ${GSL_CONFIG}")
3939

40-
IF (GSL_CONFIG)
40+
IF (GSL_CONFIG)
4141
# set CXXFLAGS to be fed into CXX_FLAGS by the user:
42-
EXEC_PROGRAM( ${GSL_CONFIG}
43-
ARGS --cflags
44-
OUTPUT_VARIABLE GSL_CXXFLAGS)
45-
42+
EXECUTE_PROCESS( COMMAND ${GSL_CONFIG} --cflags
43+
OUTPUT_VARIABLE GSL_CXXFLAGS
44+
OUTPUT_STRIP_TRAILING_WHITESPACE )
45+
4646
# set INCLUDE_DIRS to prefix+include
47-
EXEC_PROGRAM(${GSL_CONFIG}
48-
ARGS --prefix
47+
EXECUTE_PROCESS( COMMAND ${GSL_CONFIG} --prefix
4948
OUTPUT_VARIABLE GSL_PREFIX)
5049
SET(GSL_INCLUDE_DIR ${GSL_PREFIX}/include CACHE STRING INTERNAL)
5150

5251
# set link libraries and link flags
53-
EXEC_PROGRAM( ${GSL_CONFIG}
54-
ARGS --libs-without-cblas
55-
OUTPUT_VARIABLE GSL_LIBRARIES )
52+
EXECUTE_PROCESS( COMMAND ${GSL_CONFIG}
53+
--libs-without-cblas
54+
OUTPUT_VARIABLE GSL_LIBRARIES
55+
OUTPUT_STRIP_TRAILING_WHITESPACE )
5656

57-
# extract link dirs for rpath
58-
EXEC_PROGRAM(${GSL_CONFIG}
59-
ARGS --libs
60-
OUTPUT_VARIABLE GSL_CONFIG_LIBS )
57+
# extract link dirs for rpath
58+
EXECUTE_PROCESS( COMMAND ${GSL_CONFIG} --libs
59+
OUTPUT_VARIABLE GSL_CONFIG_LIBS
60+
OUTPUT_STRIP_TRAILING_WHITESPACE )
6161

6262
# split off the link dirs (for rpath)
6363
# use regular expression to match wildcard equivalent "-L*<endchar>"
6464
# with <endchar> is a space or a semicolon
65-
STRING(REGEX MATCHALL "[-][L]([^ ;])+"
66-
GSL_LINK_DIRECTORIES_WITH_PREFIX
65+
STRING(REGEX MATCHALL "[-][L]([^ ;])+"
66+
GSL_LINK_DIRECTORIES_WITH_PREFIX
6767
"${GSL_CONFIG_LIBS}" )
6868
# MESSAGE("DBG GSL_LINK_DIRECTORIES_WITH_PREFIX=${GSL_LINK_DIRECTORIES_WITH_PREFIX}")
6969

7070
# remove prefix -L because we need the pure directory for LINK_DIRECTORIES
71-
71+
7272
IF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
7373
STRING(REGEX REPLACE "[-][L]" "" GSL_LINK_DIRECTORIES ${GSL_LINK_DIRECTORIES_WITH_PREFIX} )
7474
ENDIF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
@@ -86,7 +86,7 @@ IF (NOT WIN32)
8686
GSL_DEFINITIONS
8787
)
8888
MESSAGE(STATUS "Using GSL from ${GSL_PREFIX}")
89-
89+
9090
ELSE(GSL_CONFIG)
9191
MESSAGE("FindGSL.cmake: gsl-config not found. Please set it manually. GSL_CONFIG=${GSL_CONFIG}")
9292
ENDIF(GSL_CONFIG)
@@ -104,6 +104,6 @@ IF(GSL_LIBRARIES)
104104
IF(GSL_INCLUDE_DIR OR GSL_CXX_FLAGS)
105105

106106
SET(GSL_FOUND 1)
107-
107+
108108
ENDIF(GSL_INCLUDE_DIR OR GSL_CXX_FLAGS)
109109
ENDIF(GSL_LIBRARIES)

corelib/build/cmake/cmake_cxx11/CMakeLists.txt

Lines changed: 0 additions & 28 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/CheckCXX11Features.cmake

Lines changed: 0 additions & 103 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-__func__-N2340.cpp

Lines changed: 0 additions & 8 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-auto-N2546.cpp

Lines changed: 0 additions & 12 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-constexpr-N2235.cpp

Lines changed: 0 additions & 19 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-cstdint.cpp

Lines changed: 0 additions & 10 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-decltype-N2343.cpp

Lines changed: 0 additions & 11 deletions
This file was deleted.

corelib/build/cmake/cmake_cxx11/c++11-test-lambda-N2927.cpp

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)