diff --git a/CMakeLists.txt b/CMakeLists.txt index a831a0b..68fff79 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.23) cmake_policy(SET CMP0048 NEW) # project() command manages VERSION variables -project(UUtils VERSION 2.0.6 HOMEPAGE_URL "https://github.com/UPPAALModelChecker/UUtils" LANGUAGES CXX C) +project(UUtils VERSION 2.0.7 HOMEPAGE_URL "https://github.com/UPPAALModelChecker/UUtils" LANGUAGES CXX C) include(CMakePackageConfigHelpers) include(GNUInstallDirs) include(FetchContent) diff --git a/cmake/stdcpp.cmake b/cmake/stdcpp.cmake index b5e151a..4db20ee 100644 --- a/cmake/stdcpp.cmake +++ b/cmake/stdcpp.cmake @@ -1,4 +1,4 @@ -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) @@ -12,4 +12,4 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug") elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") add_compile_options(/W4) endif() -endif () \ No newline at end of file +endif () diff --git a/cmake/toolchain/i686-linux-gcc14.cmake b/cmake/toolchain/i686-linux-gcc14.cmake new file mode 100644 index 0000000..5b000aa --- /dev/null +++ b/cmake/toolchain/i686-linux-gcc14.cmake @@ -0,0 +1,20 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux) + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER gcc-14) +set(CMAKE_C_FLAGS -m32) +set(CMAKE_CXX_COMPILER g++-14) +set(CMAKE_CXX_FLAGS -m32) +set(CMAKE_ASM_FLAGS -m32) + +# where is the target environment located +set(CMAKE_FIND_ROOT_PATH "${CMAKE_PREFIX_PATH}") + +# adjust the default behavior of the FIND_XXX() commands: +# search programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) + +# search headers and libraries in the target environment +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/cmake/toolchain/x86_64-linux-gcc14.cmake b/cmake/toolchain/x86_64-linux-gcc14.cmake new file mode 100644 index 0000000..8351f47 --- /dev/null +++ b/cmake/toolchain/x86_64-linux-gcc14.cmake @@ -0,0 +1,17 @@ +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux) + +# which compilers to use for C and C++ +set(CMAKE_C_COMPILER gcc-14) +set(CMAKE_CXX_COMPILER g++-14) + +# where is the target environment located +set(CMAKE_FIND_ROOT_PATH "${CMAKE_PREFIX_PATH}") + +# adjust the default behavior of the FIND_XXX() commands: +# search programs in the host environment +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH) + +# search headers and libraries in the target environment +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/compile.sh b/compile.sh index fccb889..0301375 100755 --- a/compile.sh +++ b/compile.sh @@ -64,12 +64,18 @@ for target in $targets ; do BUILD_SUFFIX="" BUILD_EXTRA="" case "$target" in + x86_64-linux-gcc14*) + BUILD_TARGET=x86_64-linux-gcc14 + ;; x86_64-linux-gcc10*) BUILD_TARGET=x86_64-linux-gcc10 ;; x86_64-linux*) BUILD_TARGET=x86_64-linux ;; + i686-linux-gcc14*) + BUILD_TARGET=i686-linux-gcc14 + ;; i686-linux-gcc10*) BUILD_TARGET=i686-linux-gcc10 ;; @@ -84,6 +90,9 @@ for target in $targets ; do BUILD_TARGET=i686-w64-mingw32 export WINEPATH=$("$PROJECT_DIR"/winepath-for $BUILD_TARGET) ;; + x86_64-darwin-brew-gcc14-*) + BUILD_TARGET=x86_64-darwin-brew-gcc14 + ;; x86_64-darwin-brew-gcc10-*) BUILD_TARGET=x86_64-darwin-brew-gcc10 ;; diff --git a/getlibs.sh b/getlibs.sh index 2f191a7..6505b71 100755 --- a/getlibs.sh +++ b/getlibs.sh @@ -62,10 +62,10 @@ for target in $targets ; do ## XXHASH NAME=xxHash - VERSION=0.8.2 + VERSION=0.8.3 LIBRARY="${NAME}-${VERSION}" ARCHIVE="$LIBRARY.tgz" - SHA256=baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 + SHA256=aae608dfe8213dfd05d909a57718ef82f30722c392344583d3f39050c7f29a80 SOURCE="${SOURCES}/$LIBRARY" BUILD="${PREFIX}/build-$LIBRARY" if [ -r "${CMAKE_INSTALL_PREFIX}/include/xxhash.h" ]; then @@ -89,10 +89,10 @@ for target in $targets ; do ## BOOST NAME=boost - VERSION=1.86.0 + VERSION=1.88.0 LIBRARY="${NAME}-${VERSION}" ARCHIVE="${LIBRARY}-cmake.tar.xz" - SHA256=2c5ec5edcdff47ff55e27ed9560b0a0b94b07bd07ed9928b476150e16b0efc57 + SHA256=f48b48390380cfb94a629872346e3a81370dc498896f16019ade727ab72eb1ec SOURCE="${SOURCES}/${LIBRARY}" BUILD="${PREFIX}/build-${LIBRARY}" if [ -r "${CMAKE_INSTALL_PREFIX}/include/boost/math/distributions/arcsine.hpp" ] ; then @@ -145,10 +145,10 @@ for target in $targets ; do ## Google Benchmark NAME=benchmark - VERSION=1.9.1 # v1.8.2 fails with "-lrt not found" on win64, v1.8.3 is good + VERSION=1.9.2 # v1.8.2 fails with "-lrt not found" on win64, v1.8.3 is good LIBRARY="${NAME}-${VERSION}" ARCHIVE="${LIBRARY}.tar.gz" - SHA256=32131c08ee31eeff2c8968d7e874f3cb648034377dfc32a4c377fa8796d84981 + SHA256=409075176168dc46bbb81b74c1b4b6900385b5d16bfc181d678afb060d928bd3 SOURCE="${SOURCES}/${LIBRARY}" BUILD="${PREFIX}/build-${LIBRARY}" if [ -r "${CMAKE_INSTALL_PREFIX}/include/benchmark/benchmark.h" ] ; then