From 6a728375f0ab0b1f11c11a9f25db192cfa896f03 Mon Sep 17 00:00:00 2001 From: Chris White Date: Tue, 25 Nov 2025 13:59:20 -0800 Subject: [PATCH 1/4] add basic structure of ci, untested currently --- .github/workflows/ci-tests.yml | 106 ++++++ config-build.py | 311 ++++++++++++++++++ .../dane-toss_4_x86_64_ib-gcc@13.3.1.cmake | 134 ++++++++ .../dane-toss_4_x86_64_ib-llvm@19.1.3.cmake | 134 ++++++++ host-configs/docker/gcc@14.2.0.cmake | 134 ++++++++ host-configs/docker/llvm@19.1.1.cmake | 138 ++++++++ ...zwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake | 134 ++++++++ ...whippet-toss_4_x86_64_ib-llvm@19.1.3.cmake | 134 ++++++++ scripts/check_for_missing_headers.py | 97 ++++++ .../github-actions/linux-build_and_test.sh | 43 +++ scripts/github-actions/linux-check.sh | 52 +++ 11 files changed, 1417 insertions(+) create mode 100644 .github/workflows/ci-tests.yml create mode 100755 config-build.py create mode 100644 host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake create mode 100644 host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake create mode 100644 host-configs/docker/gcc@14.2.0.cmake create mode 100644 host-configs/docker/llvm@19.1.1.cmake create mode 100644 host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake create mode 100644 host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake create mode 100755 scripts/check_for_missing_headers.py create mode 100755 scripts/github-actions/linux-build_and_test.sh create mode 100755 scripts/github-actions/linux-check.sh diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 0000000..188fa58 --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,106 @@ +name: CI Tests + +on: + pull_request: + push: + branches: + - develop + +# Cancel previous jobs if an update has been made to the pull request +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }} + +env: + CLANG_DOCKER_IMAGE: seracllnl/tpls:clang-19_10-09-25_23h-54m + GCC_DOCKER_IMAGE: seracllnl/tpls:gcc-14_10-09-25_23h-54m + +jobs: + # Hacky solution to reference env variables outside of `run` steps https://stackoverflow.com/a/74217028 + set_image_vars: + runs-on: ubuntu-latest + steps: + - name: Do Nothing + run: echo + outputs: + clang_docker_image: ${{ env.CLANG_DOCKER_IMAGE }} + gcc_docker_image: ${{ env.GCC_DOCKER_IMAGE }} + build_and_test: + runs-on: ubuntu-24.04 + needs: + - set_image_vars + strategy: + fail-fast: true + matrix: + build_type: [ Debug, Release ] + config: + - job_name: llvm@19.1.1, shared + host_config: llvm@19.1.1.cmake + compiler_image: ${{ needs.set_image_vars.outputs.clang_docker_image }} + cmake_opts: "-DBUILD_SHARED_LIBS=ON" + - job_name: gcc@14.2.0, shared + host_config: gcc@14.2.0.cmake + compiler_image: ${{ needs.set_image_vars.outputs.gcc_docker_image }} + cmake_opts: "-DBUILD_SHARED_LIBS=ON" + - job_name: llvm@19.1.1, static + host_config: llvm@19.1.1.cmake + compiler_image: ${{ needs.set_image_vars.outputs.clang_docker_image }} + - job_name: gcc@14.2.0, static + host_config: gcc@14.2.0.cmake + compiler_image: ${{ needs.set_image_vars.outputs.gcc_docker_image }} + name: ${{ matrix.build_type }} - ${{ matrix.config.job_name }} + container: + image: ${{ matrix.config.compiler_image }} + volumes: + - /home/serac/serac + # Required - default is set to user "serac" + options: --user root + steps: + - name: Checkout Gretl + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Print Matrix Variables + run: | + echo "build_src_opts ${{ matrix.config.build_src_opts }}" + echo "build_type ${{ matrix.build_type }}" + echo "cmake_opts ${{ matrix.config.cmake_opts }}" + echo "compiler_image ${{ matrix.config.compiler_image }}" + echo "host_config ${{ matrix.config.host_config }}" + - name: Build and Test ${{ matrix.build_type }} - ${{ matrix.config.job_name }} + timeout-minutes: 80 + run: | + HOST_CONFIG=${{ matrix.config.host_config }} \ + CMAKE_EXTRA_FLAGS=" ${{ matrix.config.cmake_opts }} " \ + BUILD_TYPE=${{ matrix.build_type }} \ + ./scripts/github-actions/linux-build_and_test.sh + - name: Upload Test Results + uses: actions/upload-artifact@v4 + with: + name: Test Results ${{ matrix.config.host_config }} ${{ matrix.build_type }} ${{ matrix.config.cmake_opts }} + path: "**/Test.xml" + check_code: + runs-on: ubuntu-24.04 + needs: + - set_image_vars + strategy: + # If any of checks (e.g. style) fail, allow other jobs to continue running. + fail-fast: false + matrix: + check_type: [style, header] + container: + image: ${{ needs.set_image_vars.outputs.clang_docker_image }} + volumes: + - /home/serac/serac + # Required - default is set to user "serac" + options: --user root + env: + CHECK_TYPE: ${{ matrix.check_type }} + HOST_CONFIG: llvm@19.1.1.cmake + steps: + - name: Checkout Gretl + uses: actions/checkout@v4 + with: + submodules: recursive + - name: Check ${{ matrix.check_type }} + run: ./scripts/github-actions/linux-check.sh diff --git a/config-build.py b/config-build.py new file mode 100755 index 0000000..79f9f23 --- /dev/null +++ b/config-build.py @@ -0,0 +1,311 @@ +#!/bin/sh + +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +"exec" "python3" "-u" "-B" "$0" "$@" + +# Python wrapper script for generating the correct cmake line with the options specified by the user. +# +# Please keep parser option names as close to possible as the names of the cmake options they are wrapping. + +import sys +import os +import subprocess +import argparse +import platform +import shutil +import socket + +_host_configs_map = {"rzgenie" : "rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake", + "rzwhippet" : "rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake", + "dane" : "dane-toss_4_x86_64_ib-llvm@19.1.3.cmake"} + +def get_machine_name(): + return socket.gethostname().rstrip('1234567890') + +def get_default_host_config(): + machine_name = get_machine_name() + + if machine_name in _host_configs_map.keys(): + return _host_configs_map[machine_name] + else: + return "" + +def extract_cmake_location(file_path): + # print "Extracting cmake entry from host config file ", file_path + if os.path.exists(file_path): + cmake_line_prefix = "# cmake executable path: " + file_handle = open(file_path, "r") + content = file_handle.readlines() + for line in content: + if line.lower().startswith(cmake_line_prefix): + return line.split(" ")[4].strip() + print("Could not find a cmake entry in host config file.") + return None + + +def parse_arguments(): + parser = argparse.ArgumentParser(description="Configure cmake build.", + epilog="Note: Additional or unrecognized parameters will be passed directly to cmake." + " For example, append '-DENABLE_OPENMP=ON' to enable OpenMP." + ) + + parser.add_argument("-bp", + "--buildpath", + type=str, + default="", + help="specify path for build directory. If not specified, will create in current directory.") + + parser.add_argument("-ip", + "--installpath", + type=str, + default="", + help="specify path for install directory. If not specified, will create in current directory.") + + parser.add_argument("-bt", + "--buildtype", + type=str, + choices=["Release", "Debug", "RelWithDebInfo", "MinSizeRel"], + help="build type. defaults to Release") + + parser.add_argument("-e", + "--eclipse", + action='store_true', + help="create an eclipse project file.") + + parser.add_argument("-ecc", + "--exportcompilercommands", + action='store_true', + help="generate a compilation database. Can be used by the clang tools such as clang-modernize. Will create a 'compile_commands.json' file in build directory.") + + parser.add_argument("-hc", + "--hostconfig", + default="", + type=str, + help="select a specific host-config file to initalize CMake's cache") + + parser.add_argument("--print-default-host-config", + action='store_true', + help="print the default host config for this system and exit") + + parser.add_argument("--print-machine-name", + action='store_true', + help="print the machine name for this system and exit") + + parser.add_argument("-n", + "--ninja", + action='store_true', + help="use ninja generator to build instead of make") + + args, unknown_args = parser.parse_known_args() + if unknown_args: + print("[config-build]: Passing the following arguments directly to cmake... %s" % unknown_args) + + return args, unknown_args + + +######################## +# Find CMake Cache File +######################## +def find_host_config(args, repodir): + if args.hostconfig != "": + hostconfigpath = os.path.abspath(args.hostconfig) + else: + hostconfigpath = get_default_host_config() + if hostconfigpath == "": + print("[config-build]: Error could not find default host-config for this platform.") + print(" Either set one in this script or use the command line argument '-hc'.") + else: + hostconfigpath = os.path.join(repodir, "host-configs", hostconfigpath) + assert os.path.exists( hostconfigpath ), "Could not find CMake host config file '%s'." % hostconfigpath + print("Using host config file: '%s'." % hostconfigpath) + return hostconfigpath + + +######################## +# Get Platform information from host config name +######################## +def get_platform_info(hostconfigpath): + platform_info = "" + platform_info = os.path.split(hostconfigpath)[1] + if platform_info.endswith(".cmake"): + platform_info = platform_info[:-6] + return platform_info + + +##################### +# Setup Build Dir +##################### +def setup_build_dir(args, platform_info): + if args.buildpath != "": + # use explicit build path + buildpath = args.buildpath + else: + # use platform info & build type + buildpath = "-".join(["build", platform_info, args.buildtype.lower()]) + + buildpath = os.path.abspath(buildpath) + + if os.path.exists(buildpath): + print("Build directory '%s' already exists. Deleting..." % buildpath) + shutil.rmtree(buildpath) + + print("Creating build directory '%s'..." % buildpath) + os.makedirs(buildpath) + return buildpath + + +##################### +# Setup Install Dir +##################### +def setup_install_dir(args, platform_info): + # For install directory, we will clean up old ones, but we don't need to create it, cmake will do that. + if args.installpath != "": + installpath = os.path.abspath(args.installpath) + else: + # use platform info & build type + installpath = "-".join( + ["install", platform_info, args.buildtype.lower()] + ) + + installpath = os.path.abspath(installpath) + + if os.path.exists(installpath): + print( + "Install directory '%s' already exists, deleting..." % installpath + ) + shutil.rmtree(installpath) + + print("Creating install path '%s'..." % installpath) + os.makedirs(installpath) + return installpath + + +############################ +# Check if executable exists +############################ +def executable_exists(path): + if path == "cmake": + return True + return os.path.isfile(path) and os.access(path, os.X_OK) + + +############################ +# Build CMake command line +############################ +def create_cmake_command_line(args, unknown_args, buildpath, installpath, hostconfigpath): + + import stat + + cmakeline = extract_cmake_location(hostconfigpath) + assert cmakeline, "Host config file doesn't contain valid cmake location, value was %s" % cmakeline + assert executable_exists( cmakeline ), "['%s'] invalid path to cmake executable or file does not have execute permissions" % cmakeline + + # create the ccmake command for convenience + cmakedir = os.path.dirname(cmakeline) + ccmake_cmd = cmakedir + "/ccmake" + if executable_exists( ccmake_cmd ): + # write the ccmake command to a file to use for convenience + with open( "%s/ccmake_cmd" % buildpath, "w" ) as ccmakefile: + ccmakefile.write("#!/usr/bin/env bash\n") + ccmakefile.write(ccmake_cmd) + ccmakefile.write(" $@") + ccmakefile.write("\n") + + st = os.stat("%s/ccmake_cmd" % buildpath) + os.chmod("%s/ccmake_cmd" % buildpath, st.st_mode | stat.S_IEXEC) + + # Add cache file option + cmakeline += " -C %s" % hostconfigpath + + # Add build type (opt or debug) + cmakeline += " -DCMAKE_BUILD_TYPE=" + args.buildtype + + # Set install dir + cmakeline += " -DCMAKE_INSTALL_PREFIX=%s" % installpath + + if args.exportcompilercommands: + cmakeline += " -DCMAKE_EXPORT_COMPILE_COMMANDS=on" + + if args.eclipse: + cmakeline += ' -G "Eclipse CDT4 - Unix Makefiles"' + + if args.ninja: + cmakeline += ' -G Ninja' + + if unknown_args: + cmakeline += " " + " ".join( unknown_args ) + + rootdir = os.path.dirname( os.path.abspath(sys.argv[0]) ) + cmakeline += " %s " % rootdir + + # Dump the cmake command to file for convenience + with open("%s/cmake_cmd" % buildpath, "w") as cmdfile: + cmdfile.write(cmakeline) + cmdfile.write("\n") + + st = os.stat("%s/cmake_cmd" % buildpath) + os.chmod("%s/cmake_cmd" % buildpath, st.st_mode | stat.S_IEXEC) + return cmakeline + + +############################ +# Run CMake +############################ +def run_cmake(buildpath, cmakeline): + print("Changing to build directory...") + os.chdir(buildpath) + print("Executing CMake line: '%s'" % cmakeline) + print() + returncode = subprocess.call(cmakeline, shell=True) + if not returncode == 0: + print("Error: CMake command failed with return code: {0}".format(returncode)) + return False + return True + + +############################ +# Main +############################ +def main(): + repodir = os.path.abspath(os.path.dirname(__file__)) + assert os.path.abspath(os.getcwd())==repodir, "config-build must be run from %s" % repodir + + args, unknown_args = parse_arguments() + + if args.print_machine_name: + machine_name = get_machine_name() + print(machine_name) + return True + + if args.print_default_host_config: + default_hc = get_default_host_config() + if default_hc != "": + print(os.path.splitext(default_hc)[0]) + return True + else: + return False + + if args.buildtype == None: + # Set default CMake build type + args.buildtype = "Release" + # If CMAKE_BUILD_TYPE was passed in as an argument, use that option instead + for unknown_arg in unknown_args: + if "-DCMAKE_BUILD_TYPE" in unknown_arg: + args.buildtype = unknown_arg.split("=")[1] + break + + basehostconfigpath = find_host_config(args, repodir) + platform_info = get_platform_info(basehostconfigpath) + buildpath = setup_build_dir(args, platform_info) + installpath = setup_install_dir(args, platform_info) + + cmakeline = create_cmake_command_line(args, unknown_args, buildpath, installpath, basehostconfigpath) + return run_cmake(buildpath, cmakeline) + +if __name__ == '__main__': + exit(0 if main() else 1) diff --git a/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake b/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake new file mode 100644 index 0000000..eb32e5d --- /dev/null +++ b/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake @@ -0,0 +1,134 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/tce/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/fmt-11.0.2-usm3fj6qxr75ga5p2ydlhearxsbtpckd;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/netlib-scalapack-2.2.2-exloohmk6uv52js7hiy74dkuzdaxgzho;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: gcc@13.3.1/hpiynx6mdjb57v77us3h6yyzxymdbr6d +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gcc" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/g++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gcc" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/g++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gfortran" CACHE PATH "") + +endif() + +set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6" CACHE PATH "") + +set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz" CACHE PATH "") + +# AMGX not built + +set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy" CACHE PATH "") + +# ENZYME not built + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/usr/WS2/smithdev/devtools/toss_4_x86_64_ib/2024_05_30_15_02_20/._view/psk2dcrijss6s4i6qmxplzthrzm3y7nh" CACHE PATH "") + +set(CLANGFORMAT_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-tidy" CACHE PATH "") + +set(ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "${DEVTOOLS_ROOT}/python-3.11.7/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/cppcheck-2.9/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/doxygen-1.9.8/bin/doxygen" CACHE PATH "") + + diff --git a/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake b/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake new file mode 100644 index 0000000..f279933 --- /dev/null +++ b/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake @@ -0,0 +1,134 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/tce/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/fmt-11.0.2-klyhttb7ma3ny2ksm6ywvoorqr6nrhie;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/netlib-scalapack-2.2.2-qeorvxwxdo6tahacqg5zqz4dznn5v2vs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: llvm@19.1.3/bmskmshy3mzlmo37b2pxkt76vqcffxvp +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/clang/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/clang/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/tce/packages/clang/clang-19.1.3-magic/bin/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/tce/packages/clang/clang-19.1.3-magic/bin/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gfortran" CACHE PATH "") + +endif() + +set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2" CACHE PATH "") + +set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek" CACHE PATH "") + +# AMGX not built + +set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw" CACHE PATH "") + +set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5" CACHE PATH "") + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/usr/WS2/smithdev/devtools/toss_4_x86_64_ib/2024_05_30_15_02_20/._view/psk2dcrijss6s4i6qmxplzthrzm3y7nh" CACHE PATH "") + +set(CLANGFORMAT_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-tidy" CACHE PATH "") + +set(ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "${DEVTOOLS_ROOT}/python-3.11.7/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/cppcheck-2.9/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/doxygen-1.9.8/bin/doxygen" CACHE PATH "") + + diff --git a/host-configs/docker/gcc@14.2.0.cmake b/host-configs/docker/gcc@14.2.0.cmake new file mode 100644 index 0000000..c3c0058 --- /dev/null +++ b/host-configs/docker/gcc@14.2.0.cmake @@ -0,0 +1,134 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/local/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/home/serac/serac_tpls/gcc-14.2.0/tribol-0.1.0.22-wazfmdbkalzczo7r5y2utwnimbwjkhnx;/home/serac/serac_tpls/gcc-14.2.0/axom-0.11.0.1-qs45ql23enjk5icq6yasgpjict4ovgge;/home/serac/serac_tpls/gcc-14.2.0/conduit-0.9.2-a2ql5k5t2bdur2yxekjzgznggvvrxtyn;/home/serac/serac_tpls/gcc-14.2.0/mfem-4.9.0.1-sgfrwx6qadkzigkocbwxfi2rxd4bdg5c;/home/serac/serac_tpls/gcc-14.2.0/raja-2024.07.0-hbxa5g4eqneaq3e2pnyaouk2mnrk47zc;/home/serac/serac_tpls/gcc-14.2.0/umpire-2024.07.0-yvluhnikhhswrlvuhfwbgcbur55jtxlu;/home/serac/serac_tpls/gcc-14.2.0/netcdf-c-4.7.4-n7hweek4e4l7z424tytkvm7zs7xkz2y5;/home/serac/serac_tpls/gcc-14.2.0/slepc-3.21.2-toj3h2dah2t5ptq456kgqkluo35h6h5m;/home/serac/serac_tpls/gcc-14.2.0/sundials-6.7.0-bnjclc6rr4tdcrye7s44cn5dlaoqbmeo;/home/serac/serac_tpls/gcc-14.2.0/camp-2024.07.0-r6yrhlse676pzry225kxim6w2ri4ywxs;/home/serac/serac_tpls/gcc-14.2.0/fmt-11.0.2-ht2idt2ah5wkaf2qxcobbccu6lzlmb33;/home/serac/serac_tpls/gcc-14.2.0/hdf5-1.8.23-crboya2gv7d3qwkz7l5sznsqorucooqn;/home/serac/serac_tpls/gcc-14.2.0/arpack-ng-3.9.1-f2o4etq7lzo7gyymjfpitasrhqdd6rt7;/home/serac/serac_tpls/gcc-14.2.0/petsc-3.21.6-dodsuk6hdprsvpfb7bzyv5nm7c2als43;/home/serac/serac_tpls/gcc-14.2.0/hypre-2.26.0-pamvjykkiskrudquhqh3tzmyafolowqf;/home/serac/serac_tpls/gcc-14.2.0/strumpack-8.0.0-uww3gzqgff2cuhqks65fz572svx3fk4r;/home/serac/serac_tpls/gcc-14.2.0/superlu-dist-8.1.2-tku2zum5uc4etnqubqsi3b4735ceoytk;/home/serac/serac_tpls/gcc-14.2.0/netlib-scalapack-2.2.2-wbnniby6qznaurgoco6vvsxm2aod5zmf;/home/serac/serac_tpls/gcc-14.2.0/parmetis-4.0.3-c3y4s5kwdhsprddhtcey42hej6f5ou3a;/home/serac/serac_tpls/gcc-14.2.0/metis-5.1.0-ypp5h6p4n6evogx2wng2eqnp74a4losv;/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u;/home/serac/serac_tpls/gcc-14.2.0/hwloc-2.11.1-shknwspkkbovk43s4cko23fvxfpxyahn;/home/serac/serac_tpls/gcc-14.2.0/libfabric-2.2.0-evvznwth4eytgtzrhbv43pg6qkcxped3;/home/serac/serac_tpls/gcc-14.2.0/yaksa-0.3-2b3vqz4dmnnfiomkz7escyx3ws7w5roo;/home/serac/serac_tpls/gcc-14.2.0/libpciaccess-0.17-lwsnk2jlatm34qsj2zbkthnl6h7twfed;/home/serac/serac_tpls/gcc-14.2.0/libxml2-2.13.5-b2zl6sf7caqugntrt2j27vmprqmv3c6w;/home/serac/serac_tpls/gcc-14.2.0/ncurses-6.5-20250705-gahbb26hdvnncrliitzzsubprxnentte;/home/serac/serac_tpls/gcc-14.2.0/libiconv-1.18-675kuqysxbbn3qyulkos2ktqm253hhc2;/home/serac/serac_tpls/gcc-14.2.0/xz-5.6.3-35m7lld4lmcwmq72r7ivi25ydxvgtvth;/home/serac/serac_tpls/none-none/gcc-runtime-14.2.0-732djrphgfjipas5vfbmlvwfci4ui4za;/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib;/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib64;;" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib;/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib64;;" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: gcc@14.2.0/na7vd37xl45hztvg4h4fojpnqlfxgd2r +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/gcc/gcc" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/gcc/g++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/bin/gcc-14" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/bin/g++-14" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/bin/gfortran-14" CACHE PATH "") + +endif() + +set(CMAKE_C_FLAGS "-fPIC -pthread" CACHE STRING "") + +set(CMAKE_CXX_FLAGS "-fPIC -pthread" CACHE STRING "") + +set(CMAKE_Fortran_FLAGS "-fPIC -pthread" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_EXECUTABLE "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpirun" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/home/serac/serac_tpls/gcc-14.2.0" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-qs45ql23enjk5icq6yasgpjict4ovgge" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-r6yrhlse676pzry225kxim6w2ri4ywxs" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-a2ql5k5t2bdur2yxekjzgznggvvrxtyn" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-sgfrwx6qadkzigkocbwxfi2rxd4bdg5c" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-crboya2gv7d3qwkz7l5sznsqorucooqn" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-pamvjykkiskrudquhqh3tzmyafolowqf" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-ypp5h6p4n6evogx2wng2eqnp74a4losv" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-c3y4s5kwdhsprddhtcey42hej6f5ou3a" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-n7hweek4e4l7z424tytkvm7zs7xkz2y5" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-tku2zum5uc4etnqubqsi3b4735ceoytk" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-f2o4etq7lzo7gyymjfpitasrhqdd6rt7" CACHE PATH "") + +# ADIAK not built + +# AMGX not built + +# CALIPER not built + +# ENZYME not built + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-dodsuk6hdprsvpfb7bzyv5nm7c2als43" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-hbxa5g4eqneaq3e2pnyaouk2mnrk47zc" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-toj3h2dah2t5ptq456kgqkluo35h6h5m" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-uww3gzqgff2cuhqks65fz572svx3fk4r" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-bnjclc6rr4tdcrye7s44cn5dlaoqbmeo" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-yvluhnikhhswrlvuhfwbgcbur55jtxlu" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.22-wazfmdbkalzczo7r5y2utwnimbwjkhnx" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +# Code checks disabled due to disabled devtools + +set(SMITH_ENABLE_CODE_CHECKS OFF CACHE BOOL "") + +set(ENABLE_CLANGFORMAT OFF CACHE BOOL "") + +set(ENABLE_CLANGTIDY OFF CACHE BOOL "") + +set(ENABLE_DOCS OFF CACHE BOOL "") + + diff --git a/host-configs/docker/llvm@19.1.1.cmake b/host-configs/docker/llvm@19.1.1.cmake new file mode 100644 index 0000000..c6638cd --- /dev/null +++ b/host-configs/docker/llvm@19.1.1.cmake @@ -0,0 +1,138 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/local/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/home/serac/serac_tpls/llvm-19.1.1/tribol-0.1.0.22-gvkf7l7tskcu7mwkwvf3m3mlo3fz2jpf;/home/serac/serac_tpls/llvm-19.1.1/axom-0.11.0.1-gvtvq2exv3yuvub5mgvnqvlsxfieas65;/home/serac/serac_tpls/llvm-19.1.1/conduit-0.9.2-pa56tobns52wm2xjfzqasd3prjrakypm;/home/serac/serac_tpls/llvm-19.1.1/mfem-4.9.0.1-3p5nnjxvmgjepqkhyyw5xvkwjzk3opzl;/home/serac/serac_tpls/llvm-19.1.1/raja-2024.07.0-fzfgpyaew3paebt7gliwbtkxr54bmt55;/home/serac/serac_tpls/llvm-19.1.1/umpire-2024.07.0-juxmhtd6mga7pu5bo6ergxw5urjxhlgb;/home/serac/serac_tpls/llvm-19.1.1/enzyme-0.0.180-5g64dp4gcya2376i4hubappazgsvr6yw;/home/serac/serac_tpls/llvm-19.1.1/netcdf-c-4.7.4-v5l5xmqciosurfpasm6zhtzwmvc4vi24;/home/serac/serac_tpls/llvm-19.1.1/slepc-3.21.2-ihsquwzjr6rpxu2l3czijifwfivlytqi;/home/serac/serac_tpls/llvm-19.1.1/sundials-6.7.0-dbvedpourx524pzytktiazxjfbeqntg3;/home/serac/serac_tpls/llvm-19.1.1/camp-2024.07.0-tcpdy6rxi7v4xbdojkwfufax2pf6x2ts;/home/serac/serac_tpls/llvm-19.1.1/fmt-11.0.2-vtj543jq2uuqliyilrg4qlp6ndxxiemd;/home/serac/serac_tpls/llvm-19.1.1/hdf5-1.8.23-rslupkamjuagcfeev6xnyc6qtjjyga3b;/home/serac/serac_tpls/llvm-19.1.1/arpack-ng-3.9.1-wrjgc6a3jx3wmjmoi2c5teydqp5brja2;/home/serac/serac_tpls/llvm-19.1.1/petsc-3.21.6-rzrmya4ointoadcopntezmqt4a5t6umr;/home/serac/serac_tpls/llvm-19.1.1/hypre-2.26.0-qs6fiqil4sdd7ozwrhjlsis6t4fc3fuq;/home/serac/serac_tpls/llvm-19.1.1/strumpack-8.0.0-jh2zzfyuwzzig5chae3u6m3ebyca7wk7;/home/serac/serac_tpls/llvm-19.1.1/superlu-dist-8.1.2-azhojsjwdpywpr5lzlwhhtqnphnxjllh;/home/serac/serac_tpls/llvm-19.1.1/netlib-scalapack-2.2.2-jc6yofrlspgow7asd7bxcxyrmxgeozy6;/home/serac/serac_tpls/llvm-19.1.1/parmetis-4.0.3-35b6dycnuuprcnbl7aayxif5odiupaq6;/home/serac/serac_tpls/llvm-19.1.1/metis-5.1.0-47i25u7hnn4xxny6b5z3pekjvj6kjlku;/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq;/home/serac/serac_tpls/none-none/gcc-runtime-13.3.0-6f3a7cf5tiwwl5jhia65h56s4qand7rx;/home/serac/serac_tpls/llvm-19.1.1/hwloc-2.11.1-en7owzmwvvphmona6vvxcvlcbxzbyfw2;/home/serac/serac_tpls/llvm-19.1.1/libfabric-2.2.0-vda63y7sdbg5b6h4hvpcmygunygyr7my;/home/serac/serac_tpls/llvm-19.1.1/yaksa-0.3-6ktpoilt36ux65qff3jperaisoriek3l;/home/serac/serac_tpls/llvm-19.1.1/libpciaccess-0.17-ok5focv2qbtj2nrouqkiswmj2wbfjygn;/home/serac/serac_tpls/llvm-19.1.1/libxml2-2.13.5-k25tezxwuznorvwtt3ddsjf3wc6olkcm;/home/serac/serac_tpls/llvm-19.1.1/ncurses-6.5-20250705-5gdsguofwtckkx6hgxav3vuwoffirzzp;/home/serac/serac_tpls/llvm-19.1.1/libiconv-1.18-b2hrlselsouogi5dw4qpplbwm4bzlyki;/home/serac/serac_tpls/llvm-19.1.1/xz-5.6.3-uiri5j3f4lnhngg2j5iadq7qzsgdsrqu;/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm;/usr/lib/llvm-19" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib;/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib64;;" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib;/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib64;;" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: llvm@19.1.1/yq5rjyb4vplepvexmd5okbdyoezvrvsz +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/clang/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/clang/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/lib/llvm-19/bin/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/lib/llvm-19/bin/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/bin/gfortran-13" CACHE PATH "") + +endif() + +set(CMAKE_C_FLAGS "-fPIC -pthread" CACHE STRING "") + +set(CMAKE_CXX_FLAGS "-fPIC -pthread" CACHE STRING "") + +set(CMAKE_Fortran_FLAGS "-fPIC -pthread" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_EXECUTABLE "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpirun" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/home/serac/serac_tpls/llvm-19.1.1" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-gvtvq2exv3yuvub5mgvnqvlsxfieas65" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-tcpdy6rxi7v4xbdojkwfufax2pf6x2ts" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-pa56tobns52wm2xjfzqasd3prjrakypm" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-3p5nnjxvmgjepqkhyyw5xvkwjzk3opzl" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-rslupkamjuagcfeev6xnyc6qtjjyga3b" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-qs6fiqil4sdd7ozwrhjlsis6t4fc3fuq" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-47i25u7hnn4xxny6b5z3pekjvj6kjlku" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-35b6dycnuuprcnbl7aayxif5odiupaq6" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-v5l5xmqciosurfpasm6zhtzwmvc4vi24" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-azhojsjwdpywpr5lzlwhhtqnphnxjllh" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-wrjgc6a3jx3wmjmoi2c5teydqp5brja2" CACHE PATH "") + +# ADIAK not built + +# AMGX not built + +# CALIPER not built + +set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-5g64dp4gcya2376i4hubappazgsvr6yw" CACHE PATH "") + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-rzrmya4ointoadcopntezmqt4a5t6umr" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-fzfgpyaew3paebt7gliwbtkxr54bmt55" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-ihsquwzjr6rpxu2l3czijifwfivlytqi" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-jh2zzfyuwzzig5chae3u6m3ebyca7wk7" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dbvedpourx524pzytktiazxjfbeqntg3" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-juxmhtd6mga7pu5bo6ergxw5urjxhlgb" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.22-gvkf7l7tskcu7mwkwvf3m3mlo3fz2jpf" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/usr" CACHE PATH "") + +set(CLANGFORMAT_EXECUTABLE "${DEVTOOLS_ROOT}/lib/llvm-19/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "${DEVTOOLS_ROOT}/lib/llvm-19/bin/clang-tidy" CACHE PATH "") + +set(ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "${DEVTOOLS_ROOT}/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/local/bin/doxygen" CACHE PATH "") + + diff --git a/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake b/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake new file mode 100644 index 0000000..9c525c5 --- /dev/null +++ b/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake @@ -0,0 +1,134 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/tce/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/fmt-11.0.2-usm3fj6qxr75ga5p2ydlhearxsbtpckd;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/netlib-scalapack-2.2.2-exloohmk6uv52js7hiy74dkuzdaxgzho;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: gcc@13.3.1/hpiynx6mdjb57v77us3h6yyzxymdbr6d +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gcc" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/g++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gcc" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/g++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gfortran" CACHE PATH "") + +endif() + +set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6" CACHE PATH "") + +set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz" CACHE PATH "") + +# AMGX not built + +set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy" CACHE PATH "") + +# ENZYME not built + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/usr/WS2/smithdev/devtools/toss_4_x86_64_ib/2024_05_30_15_09_55/._view/rkqkran3ydsuprr2wip5pdnz5wh7xwnr" CACHE PATH "") + +set(CLANGFORMAT_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-tidy" CACHE PATH "") + +set(ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "${DEVTOOLS_ROOT}/python-3.11.7/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/cppcheck-2.9/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/doxygen-1.9.8/bin/doxygen" CACHE PATH "") + + diff --git a/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake b/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake new file mode 100644 index 0000000..28f32d1 --- /dev/null +++ b/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake @@ -0,0 +1,134 @@ +#------------------------------------------------------------------------------ +# !!!! This is a generated file, edit at own risk !!!! +#------------------------------------------------------------------------------ +# CMake executable path: /usr/tce/bin/cmake +#------------------------------------------------------------------------------ + +set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/fmt-11.0.2-klyhttb7ma3ny2ksm6ywvoorqr6nrhie;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/netlib-scalapack-2.2.2-qeorvxwxdo6tahacqg5zqz4dznn5v2vs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") + +set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") + +set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") + +#------------------------------------------------------------------------------ +# Compilers +#------------------------------------------------------------------------------ +# Compiler Spec: llvm@19.1.3/bmskmshy3mzlmo37b2pxkt76vqcffxvp +#------------------------------------------------------------------------------ +if(DEFINED ENV{SPACK_CC}) + + set(CMAKE_C_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/clang/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/clang/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt/libexec/spack/gcc/gfortran" CACHE PATH "") + +else() + + set(CMAKE_C_COMPILER "/usr/tce/packages/clang/clang-19.1.3-magic/bin/clang" CACHE PATH "") + + set(CMAKE_CXX_COMPILER "/usr/tce/packages/clang/clang-19.1.3-magic/bin/clang++" CACHE PATH "") + + set(CMAKE_Fortran_COMPILER "/usr/tce/packages/gcc/gcc-13.3.1/bin/gfortran" CACHE PATH "") + +endif() + +set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") + +#------------------------------------------------------------------------------ +# MPI +#------------------------------------------------------------------------------ + +set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicc" CACHE PATH "") + +set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicxx" CACHE PATH "") + +set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpif90" CACHE PATH "") + +set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") + +set(ENABLE_MPI ON CACHE BOOL "") + +set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Hardware +#------------------------------------------------------------------------------ + +set(ENABLE_OPENMP ON CACHE BOOL "") + +#------------------------------------------------------------------------------ +# TPLs +#------------------------------------------------------------------------------ + +set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3" CACHE PATH "") + +set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv" CACHE PATH "") + +set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv" CACHE PATH "") + +set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh" CACHE PATH "") + +set(LUA_DIR "/usr" CACHE PATH "") + +set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf" CACHE PATH "") + +set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles" CACHE PATH "") + +set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e" CACHE PATH "") + +set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a" CACHE PATH "") + +set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze" CACHE PATH "") + +set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs" CACHE PATH "") + +set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy" CACHE PATH "") + +set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2" CACHE PATH "") + +set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek" CACHE PATH "") + +# AMGX not built + +set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw" CACHE PATH "") + +set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5" CACHE PATH "") + +set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu" CACHE PATH "") + +set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo" CACHE PATH "") + +set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii" CACHE PATH "") + +set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt" CACHE PATH "") + +set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq" CACHE PATH "") + +set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d" CACHE PATH "") + +set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy" CACHE PATH "") + +#------------------------------------------------------------------------------ +# Devtools +#------------------------------------------------------------------------------ + +set(DEVTOOLS_ROOT "/usr/WS2/smithdev/devtools/toss_4_x86_64_ib/2024_05_30_15_09_55/._view/rkqkran3ydsuprr2wip5pdnz5wh7xwnr" CACHE PATH "") + +set(CLANGFORMAT_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-format" CACHE PATH "") + +set(CLANGTIDY_EXECUTABLE "/usr/tce/packages/clang/clang-19.1.3/bin/clang-tidy" CACHE PATH "") + +set(ENABLE_DOCS ON CACHE BOOL "") + +set(SPHINX_EXECUTABLE "${DEVTOOLS_ROOT}/python-3.11.7/bin/sphinx-build" CACHE PATH "") + +set(CPPCHECK_EXECUTABLE "${DEVTOOLS_ROOT}/cppcheck-2.9/bin/cppcheck" CACHE PATH "") + +set(DOXYGEN_EXECUTABLE "${DEVTOOLS_ROOT}/doxygen-1.9.8/bin/doxygen" CACHE PATH "") + + diff --git a/scripts/check_for_missing_headers.py b/scripts/check_for_missing_headers.py new file mode 100755 index 0000000..ec8fb33 --- /dev/null +++ b/scripts/check_for_missing_headers.py @@ -0,0 +1,97 @@ +#!/bin/sh +"exec" "python3" "-u" "-B" "$0" "$@" +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (BSD-3-Clause) +############################################################################## + +""" + file: check_for_missing_headers.py + + description: + This script takes a Gretl install and source directory and checks to see + if install includes the same header files. + +""" + +import os +import sys +import argparse + +def parse_arguments(): + parser = argparse.ArgumentParser() + parser.add_argument("-i", + "--install-dir", + default="", + dest="install_dir", + help="specify path of the install directory.") + parser.add_argument("-s", + "--src-dir", + default="", + dest="src_dir", + help="specify path of the src directory.") + return parser.parse_known_args() + +# return list of relative paths to header files +def get_headers_from(dir): + headers = [] + for (dirpath, dirnames, filenames) in os.walk(dir, topdown=True): + # skip tests directories + if "tests" in dirnames: + dirnames.remove("tests") + for f in filenames: + if ".hpp" in f and ".in" not in f: + relative_header_path = dirpath.replace(dir + "/", "") + headers.append({"path": relative_header_path, "headerfile": f}) + return headers + +def main(): + args, unknown_args = parse_arguments() + + # ensure args are valid + install_dir = args.install_dir + if not os.path.isdir(install_dir): + print("Error: install_dir is not a directory or does not exist: {}".format(install_dir)) + return 1 + install_dir = os.path.abspath(install_dir) + + src_dir = args.src_dir + if not os.path.isdir(src_dir): + print("Error: src_dir is not a directory or does not exist: {}".format(src_dir)) + return 1 + src_dir = os.path.abspath(src_dir) + + print("============================================================") + print("check_for_missing_headers.py args") + print("install_dir: {0}".format(install_dir)) + print("src_dir: {0}".format(src_dir)) + print("============================================================") + + # grab headers from install and src + install_headers = get_headers_from(os.path.join(install_dir, "include", "gretl")) + src_headers = get_headers_from(os.path.join(src_dir, "gretl")) + + # check if each header in src is in install as well + res = 0 + for sh in src_headers: + found = False + for ih in install_headers: + src_relative_header = "{0}/{1}".format(sh["path"], sh["headerfile"]) + install_relative_header = "{0}/{1}".format(ih["path"], ih["headerfile"]) + if src_relative_header == install_relative_header: + found = True + break + if not found: + cmakelists_path = os.path.join(src_dir, sh["path"], "CMakeLists.txt") + print("Header '{0}' is missing; it should probably be listed in {1}".format(sh["headerfile"], cmakelists_path)) + res = 1 + + if res == 0: + print("No missing headers found.") + + return res + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/github-actions/linux-build_and_test.sh b/scripts/github-actions/linux-build_and_test.sh new file mode 100755 index 0000000..187d55c --- /dev/null +++ b/scripts/github-actions/linux-build_and_test.sh @@ -0,0 +1,43 @@ +#!/bin/bash +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for details. +# +# SPDX-License-Identifier: (BSD-3-Clause) +############################################################################## + +set -x + +function or_die () { + "$@" + local status=$? + if [[ $status != 0 ]] ; then + echo ERROR $status command: $@ + exit $status + fi +} + +echo "~~~~ helpful info ~~~~" +echo "USER="`id -u -n` +echo "PWD="`pwd` +echo "HOST_CONFIG=$HOST_CONFIG" +echo "CMAKE_EXTRA_FLAGS=$CMAKE_EXTRA_FLAGS" +echo "~~~~~~~~~~~~~~~~~~~~~~" + +export BUILD_TYPE=${BUILD_TYPE:-Debug} + + +echo "~~~~~~ FIND NUMPROCS ~~~~~~~~" +NUMPROCS=`python3 -c "import os; print(f'{os.cpu_count()}')"` +NUM_BUILD_PROCS=`python3 -c "import os; print(f'{max(2, os.cpu_count() * 8 // 10)}')"` + +echo "~~~~~~ RUNNING CMAKE ~~~~~~~~" +or_die python3 ./config-build.py -bp builddir -hc ./host-configs/docker/${HOST_CONFIG} -bt ${BUILD_TYPE} ${CMAKE_EXTRA_FLAGS} +or_die cd builddir + +echo "~~~~~~ BUILDING ~~~~~~~~" +or_die make -j $NUM_BUILD_PROCS VERBOSE=1 + +echo "~~~~~~ RUNNING TESTS ~~~~~~~~" +make CTEST_OUTPUT_ON_FAILURE=1 test ARGS='-T Test -VV -j$NUM_BUILD_PROCS' + diff --git a/scripts/github-actions/linux-check.sh b/scripts/github-actions/linux-check.sh new file mode 100755 index 0000000..b8962f3 --- /dev/null +++ b/scripts/github-actions/linux-check.sh @@ -0,0 +1,52 @@ +#!/bin/bash +############################################################################## +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for details. +# +# SPDX-License-Identifier: (BSD-3-Clause) +############################################################################## + +set -x + +function or_die () { + "$@" + local status=$? + if [[ $status != 0 ]] ; then + echo ERROR $status command: $@ + exit $status + fi +} + +echo "~~~~ helpful info ~~~~" +echo "USER="`id -u -n` +echo "PWD="`pwd` +echo "HOST_CONFIG=$HOST_CONFIG" +echo "CMAKE_EXTRA_FLAGS=$CMAKE_EXTRA_FLAGS" +echo "~~~~~~~~~~~~~~~~~~~~~~" + +echo "~~~~~~ RUNNING CMAKE ~~~~~~~~" +cmake_args="-DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DENABLE_CLANGTIDY=OFF" + +if [[ "$CHECK_TYPE" == "style" ]] ; then + CLANGFORMAT_EXECUTABLE=/usr/bin/clang-format + if [[ ! -f "$CLANGFORMAT_EXECUTABLE" ]]; then + echo "clang-format not found: $CLANGFORMAT_EXECUTABLE" + exit 1 + fi + cmake_args="$cmake_args -DENABLE_CLANGFORMAT=ON -DCLANGFORMAT_EXECUTABLE=$CLANGFORMAT_EXECUTABLE" +fi + +or_die ./config-build.py -hc host-configs/docker/${HOST_CONFIG} -bp build-check-debug -ip install-check-debug $cmake_args +or_die cd build-check-debug + +if [[ "$CHECK_TYPE" == "style" ]] ; then + or_die make VERBOSE=1 clangformat_check +fi + +if [[ "$CHECK_TYPE" == "header" ]] ; then + or_die make -j4 + or_die make install -j4 + or_die ../scripts/check_for_missing_headers.py -i ../install-check-debug -s ../src +fi + +exit 0 From 3b9585ab9300143f5838b9796c767de5a6a6a0ef Mon Sep 17 00:00:00 2001 From: Chris White Date: Tue, 25 Nov 2025 15:39:29 -0800 Subject: [PATCH 2/4] add build infrastructure, limit host-configs, move files around --- .clang-format | 24 ++ .gitignore | 29 +- .gitmodules | 3 + CMakeLists.txt | 135 ++++++--- cmake/GretlBasics.cmake | 27 ++ cmake/GretlCompilerFlags.cmake | 29 ++ cmake/GretlConfigHeader.cmake | 110 +++++++ cmake/GretlMacros.cmake | 283 ++++++++++++++++++ cmake/blt | 1 + cmake/gretl-config.cmake.in | 37 +++ .../dane-toss_4_x86_64_ib-gcc@13.3.1.cmake | 81 ----- .../dane-toss_4_x86_64_ib-llvm@19.1.3.cmake | 81 ----- host-configs/docker/gcc@14.2.0.cmake | 81 ----- host-configs/docker/llvm@19.1.1.cmake | 81 ----- ...zwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake | 81 ----- ...whippet-toss_4_x86_64_ib-llvm@19.1.3.cmake | 81 ----- scripts/github-actions/linux-check.sh | 2 +- src/CMakeLists.txt | 11 + src/gretl/CMakeLists.txt | 57 ++++ src/gretl/about.cpp | 60 ++++ src/gretl/about.hpp | 62 ++++ src/{ => gretl}/checkpoint.hpp | 0 src/gretl/config.hpp.in | 31 ++ src/{ => gretl}/create_state.hpp | 0 src/{ => gretl}/data_store.cpp | 0 src/{ => gretl}/data_store.hpp | 0 src/{ => gretl}/double_state.hpp | 0 src/gretl/git_sha.hpp.in | 17 ++ src/{ => gretl}/print_utils.hpp | 0 src/{ => gretl}/state.hpp | 0 src/{ => gretl}/state_base.cpp | 0 src/{ => gretl}/state_base.hpp | 0 src/{ => gretl}/test_utils.hpp | 0 src/{ => gretl}/upstream_state.hpp | 0 src/{ => gretl}/vector_state.cpp | 0 src/{ => gretl}/vector_state.hpp | 0 src/tests/CMakeLists.txt | 23 ++ .../tests}/test_gretl_checkpoint.cpp | 6 +- {tests => src/tests}/test_gretl_dynamics.cpp | 8 +- {tests => src/tests}/test_gretl_graph.cpp | 6 +- tests/CMakeLists.txt | 29 -- 41 files changed, 912 insertions(+), 564 deletions(-) create mode 100644 .clang-format create mode 100644 .gitmodules create mode 100644 cmake/GretlBasics.cmake create mode 100644 cmake/GretlCompilerFlags.cmake create mode 100644 cmake/GretlConfigHeader.cmake create mode 100644 cmake/GretlMacros.cmake create mode 160000 cmake/blt create mode 100644 cmake/gretl-config.cmake.in create mode 100644 src/CMakeLists.txt create mode 100644 src/gretl/CMakeLists.txt create mode 100644 src/gretl/about.cpp create mode 100644 src/gretl/about.hpp rename src/{ => gretl}/checkpoint.hpp (100%) create mode 100644 src/gretl/config.hpp.in rename src/{ => gretl}/create_state.hpp (100%) rename src/{ => gretl}/data_store.cpp (100%) rename src/{ => gretl}/data_store.hpp (100%) rename src/{ => gretl}/double_state.hpp (100%) create mode 100644 src/gretl/git_sha.hpp.in rename src/{ => gretl}/print_utils.hpp (100%) rename src/{ => gretl}/state.hpp (100%) rename src/{ => gretl}/state_base.cpp (100%) rename src/{ => gretl}/state_base.hpp (100%) rename src/{ => gretl}/test_utils.hpp (100%) rename src/{ => gretl}/upstream_state.hpp (100%) rename src/{ => gretl}/vector_state.cpp (100%) rename src/{ => gretl}/vector_state.hpp (100%) create mode 100644 src/tests/CMakeLists.txt rename {tests => src/tests}/test_gretl_checkpoint.cpp (98%) rename {tests => src/tests}/test_gretl_dynamics.cpp (97%) rename {tests => src/tests}/test_gretl_graph.cpp (97%) delete mode 100644 tests/CMakeLists.txt diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..6110960 --- /dev/null +++ b/.clang-format @@ -0,0 +1,24 @@ +BasedOnStyle: Google +AccessModifierOffset: -1 +ColumnLimit: 120 +BreakBeforeBraces: Custom +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: false + AfterEnum: true + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + SplitEmptyFunction: true + SplitEmptyRecord: true + SplitEmptyNamespace: true +DerivePointerAlignment: false +SortIncludes: false +PointerAlignment: Left diff --git a/.gitignore b/.gitignore index 796b86c..ceaa4fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,27 @@ -*~ -build \ No newline at end of file +/build*/ +/install*/ +*.swp +*.code-workspace +/uberenv_libs* +/spack* +/src/docs/doxygen/html/ +/src/docs/doxygen/xml/ +/src/docs/sphinx/_build/ +/src/docs/_build +/*.cmake +.vscode/ +*.orig +__pycache__/ +view +/_smith_build_and_test* +build-linux-*-*-* +build-darwin-*-*-* +*.core +radiuss +.cache +.dotnet +.vscode-server +.gitconfig +.bash_history +.sudo_as_admin_successful +.viminfo diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b25a296 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "cmake/blt"] + path = cmake/blt + url = https://github.com/LLNL/blt.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ad07e2f..1a57b11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,43 +5,106 @@ # SPDX-License-Identifier: (BSD-3-Clause) cmake_minimum_required(VERSION 3.16) -project(gretl LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS 1) - -file(GLOB_RECURSE cpp_sources - ${PROJECT_SOURCE_DIR}/src/*.cpp - ${PROJECT_SOURCE_DIR}/src/*.hpp) - -add_library(gretl ${cpp_sources}) - -target_include_directories(gretl PUBLIC - $ - $ - $ - ) - -file(GLOB_RECURSE gretl_headers - ${PROJECT_SOURCE_DIR}/src/*.hpp) - -# Specify public headers for the library -set_target_properties(gretl PROPERTIES PUBLIC_HEADER gretl_headers) - -# Install the library and its public headers -install(TARGETS gretl - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gretl) - -if (GRETL_ENABLE_ASAN) - add_link_options(-fsanitize=address) - add_compile_options(-fsanitize=address) +project(gretl LANGUAGES C CXX) + +#------------------------------------------------------------------------------ +# Setup BLT +#------------------------------------------------------------------------------ + +if(DEFINED BLT_SOURCE_DIR) + # Support having a shared BLT outside of the repository if given a BLT_SOURCE_DIR + if(NOT EXISTS ${BLT_SOURCE_DIR}/SetupBLT.cmake) + message(FATAL_ERROR "Given BLT_SOURCE_DIR does not contain SetupBLT.cmake") + endif() +else() + set(BLT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/cmake/blt" CACHE PATH "") + if (NOT EXISTS ${BLT_SOURCE_DIR}/SetupBLT.cmake) + message(FATAL_ERROR + "The BLT is not present. " + "Either run the following two commands in your git repository: \n" + " git submodule init\n" + " git submodule update\n" + "Or add -DBLT_SOURCE_DIR=/path/to/blt to your CMake command." ) + endif() +endif() + +# Tune BLT to our needs +if (NOT BLT_CXX_STD) + set(BLT_CXX_STD "c++17" CACHE STRING "") +endif() + +# These BLT tools are not used in Gretl, turn them off +set(_unused_blt_tools + CLANGQUERY + CLANGTIDY + DOXYGEN + SPHINX + VALGRIND + ASTYLE + CMAKEFORMAT + UNCRUSTIFY + YAPF) +foreach(_tool ${_unused_blt_tools}) + set(ENABLE_${_tool} OFF CACHE BOOL "") +endforeach() + +# These BLT tools are only used by Gretl developers, so turn them off +# unless an explicit executable path is given +set(_used_blt_tools + CLANGFORMAT + CPPCHECK) +foreach(_tool ${_used_blt_tools}) + if(NOT ${_tool}_EXECUTABLE) + set(ENABLE_${_tool} OFF CACHE BOOL "") + else() + set(ENABLE_${_tool} ON CACHE BOOL "") + endif() +endforeach() + +set(BLT_REQUIRED_CLANGFORMAT_VERSION "19" CACHE STRING "") + +set(ENABLE_ALL_WARNINGS ON CACHE BOOL "") +set(ENABLE_WARNINGS_AS_ERRORS ON CACHE BOOL "") + +set(BLT_EXPORT_THIRDPARTY OFF CACHE BOOL "") +if (BLT_EXPORT_THIRDPARTY) + message(FATAL_ERROR "Gretl does not use BLT's exporting of TPLs, it conflicts with the new blt_install_tpl_setups macro.") endif() -if (GRETL_ENABLE_TESTING) - enable_testing() - add_subdirectory(tests) +include(${BLT_SOURCE_DIR}/SetupBLT.cmake) + +#------------------------------------------------------------------------------ +# Setup Macros/Basics +#------------------------------------------------------------------------------ + +include(${PROJECT_SOURCE_DIR}/cmake/GretlMacros.cmake) +include(${PROJECT_SOURCE_DIR}/cmake/GretlBasics.cmake) +include(${PROJECT_SOURCE_DIR}/cmake/GretlCompilerFlags.cmake) +include(${PROJECT_SOURCE_DIR}/cmake/GretlConfigHeader.cmake) + +#------------------------------------------------------------------------------ +# Add Code Checks +#------------------------------------------------------------------------------ + +message(STATUS "Gretl Code Checks: ${GRETL_ENABLE_CODE_CHECKS}") + +if (GRETL_ENABLE_CODE_CHECKS) + gretl_add_code_checks(PREFIX gretl) endif() + +#------------------------------------------------------------------------------ +# Add subdirectories +#------------------------------------------------------------------------------ + +add_subdirectory(src) + + +#------------------------------------------------------------------------------ +# Export Targets +#------------------------------------------------------------------------------ + +install(EXPORT gretl-targets + NAMESPACE gretl:: + DESTINATION lib/cmake + ) diff --git a/cmake/GretlBasics.cmake b/cmake/GretlBasics.cmake new file mode 100644 index 0000000..6fc4e17 --- /dev/null +++ b/cmake/GretlBasics.cmake @@ -0,0 +1,27 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +#------------------------------------------------------------------------------ +# Options +#------------------------------------------------------------------------------ +option(ENABLE_ASAN "Enable AddressSanitizer for memory checking (Clang or GCC only)" OFF) +if(ENABLE_ASAN) + if(NOT (C_COMPILER_FAMILY_IS_CLANG OR C_COMPILER_FAMILY_IS_GNU)) + message(FATAL_ERROR "ENABLE_ASAN only supports Clang and GCC") + endif() +endif() + +# Only enable Gretl's code checks by default if it is the top-level project +# or a user overrides it +if("${CMAKE_PROJECT_NAME}" STREQUAL "gretl") + set(_enable_gretl_code_checks ON) +else() + set(_enable_gretl_code_checks OFF) +endif() +option(GRETL_ENABLE_CODE_CHECKS "Enable Gretl's code checks" ${_enable_gretl_code_checks}) + +cmake_dependent_option(GRETL_ENABLE_TESTS "Enables Gretl Tests" ON "ENABLE_TESTS" OFF) + diff --git a/cmake/GretlCompilerFlags.cmake b/cmake/GretlCompilerFlags.cmake new file mode 100644 index 0000000..d9f6bae --- /dev/null +++ b/cmake/GretlCompilerFlags.cmake @@ -0,0 +1,29 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +if(ENABLE_ASAN) + message(STATUS "AddressSanitizer is ON (ENABLE_ASAN)") + foreach(_flagvar CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS) + string(APPEND ${_flagvar} " -fsanitize=address -fno-omit-frame-pointer") + endforeach() +endif() + +# Need to add symbols to dynamic symtab in order to be visible from stacktraces +string(APPEND CMAKE_EXE_LINKER_FLAGS " -rdynamic") + +# Prevent unused -Xlinker arguments on Lassen Clang-10 +if(DEFINED ENV{SYS_TYPE} AND "$ENV{SYS_TYPE}" STREQUAL "blueos_3_ppc64le_ib_p9") + string(APPEND CMAKE_EXE_LINKER_FLAGS " -Wno-unused-command-line-argument") +endif() + +# Enable warnings for things not covered by -Wall -Wextra +set(_extra_flags "-Wshadow -Wdouble-promotion -Wconversion -Wundef -Wnull-dereference -Wold-style-cast") +blt_append_custom_compiler_flag(FLAGS_VAR CMAKE_CXX_FLAGS DEFAULT ${_extra_flags}) + +# Only clang has fine-grained control over the designated initializer warnings +# This can be added to the GCC flags when C++20 is available +# This should be compatible with Clang 8 through Clang 12 +blt_append_custom_compiler_flag(FLAGS_VAR CMAKE_CXX_FLAGS CLANG "-Wpedantic -Wno-c++2a-extensions -Wunused-private-field") diff --git a/cmake/GretlConfigHeader.cmake b/cmake/GretlConfigHeader.cmake new file mode 100644 index 0000000..deedd0c --- /dev/null +++ b/cmake/GretlConfigHeader.cmake @@ -0,0 +1,110 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +#------------------------------------------------------------------------------ +# Version information that go into the generated config header +#------------------------------------------------------------------------------ +set(GRETL_VERSION_MAJOR 0) +set(GRETL_VERSION_MINOR 0) +set(GRETL_VERSION_PATCH 1) +string(CONCAT GRETL_VERSION_FULL + "v${GRETL_VERSION_MAJOR}" + ".${GRETL_VERSION_MINOR}" + ".${GRETL_VERSION_PATCH}" ) + +if (Git_FOUND) + ## check to see if we are building from a Git repo or an exported tarball + blt_is_git_repo( OUTPUT_STATE is_git_repo ) + + if(${is_git_repo}) + blt_git_hashcode(HASHCODE sha1 RETURN_CODE rc) + if(NOT ${rc} EQUAL 0) + message(FATAL_ERROR "blt_git_hashcode failed!") + endif() + + set(GRETL_GIT_SHA ${sha1}) + endif() + +endif() + +message(STATUS "Configuring Gretl version ${GRETL_VERSION_FULL}") + + +#-------------------------------------------------------------------------- +# Add define we can use when debug builds are enabled +#-------------------------------------------------------------------------- +set(GRETL_DEBUG FALSE) +if(CMAKE_BUILD_TYPE MATCHES "(Debug|RelWithDebInfo)") + set(GRETL_DEBUG TRUE) + + # Controls various behaviors in Axom, like turning off/on SLIC debug and assert macros + set(AXOM_DEBUG TRUE) +endif() + + +#------------------------------------------------------------------------------ +# General Build Info +#------------------------------------------------------------------------------ +gretl_convert_to_native_escaped_file_path(${PROJECT_SOURCE_DIR} GRETL_REPO_DIR) +gretl_convert_to_native_escaped_file_path(${CMAKE_BINARY_DIR} GRETL_BINARY_DIR) + +#------------------------------------------------------------------------------ +# Create Config Header +#------------------------------------------------------------------------------ +gretl_configure_file( + ${PROJECT_SOURCE_DIR}/src/gretl/config.hpp.in + ${PROJECT_BINARY_DIR}/include/gretl/config.hpp +) + +install(FILES ${PROJECT_BINARY_DIR}/include/gretl/config.hpp DESTINATION include/gretl) + +#------------------------------------------------------------------------------ +# Generate gretl-config.cmake for importing Gretl into other CMake packages +#------------------------------------------------------------------------------ + +# Set up some paths, preserve existing cache values (if present) +set(GRETL_INSTALL_INCLUDE_DIR "include" CACHE STRING "") +set(GRETL_INSTALL_CONFIG_DIR "lib" CACHE STRING "") +set(GRETL_INSTALL_LIB_DIR "lib" CACHE STRING "") +set(GRETL_INSTALL_BIN_DIR "bin" CACHE STRING "") +set(GRETL_INSTALL_CMAKE_MODULE_DIR "${GRETL_INSTALL_CONFIG_DIR}/cmake" CACHE STRING "") + +set(GRETL_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE STRING "" FORCE) + + +include(CMakePackageConfigHelpers) + +# Add version helper +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/gretl-config-version.cmake + VERSION ${GRETL_VERSION_FULL} + COMPATIBILITY AnyNewerVersion +) + +# Set up cmake package config file +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/gretl-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/gretl-config.cmake + INSTALL_DESTINATION + ${GRETL_INSTALL_CONFIG_DIR} + PATH_VARS + GRETL_INSTALL_INCLUDE_DIR + GRETL_INSTALL_LIB_DIR + GRETL_INSTALL_BIN_DIR + GRETL_INSTALL_CMAKE_MODULE_DIR + ) + +# Install config files +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/gretl-config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/gretl-config-version.cmake + DESTINATION + ${GRETL_INSTALL_CMAKE_MODULE_DIR} +) + +# Install BLT files that recreate BLT targets in downstream projects +blt_install_tpl_setups(DESTINATION ${GRETL_INSTALL_CMAKE_MODULE_DIR}) diff --git a/cmake/GretlMacros.cmake b/cmake/GretlMacros.cmake new file mode 100644 index 0000000..4d1a0ed --- /dev/null +++ b/cmake/GretlMacros.cmake @@ -0,0 +1,283 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +##------------------------------------------------------------------------------ +## Adds code checks for all cpp/hpp files recursively under the current directory +## that regex match INCLUDES and excludes any files that regex match EXCLUDES +## +## This creates the following parent build targets: +## check - Runs a non file changing style check and CppCheck +## style - In-place code formatting +## +## Creates various child build targets that follow this pattern: +## gretl_ +## gretl__ +## +## This also creates targets for running clang-tidy on the src/ and test/ +## directories, with a more permissive set of checks for the tests, +## called gretl_guidelines_check and gretl_guidelines_check_tests, respectively +##------------------------------------------------------------------------------ +macro(gretl_add_code_checks) + + set(options) + set(singleValueArgs PREFIX) + set(multiValueArgs) + + # Parse the arguments to the macro + cmake_parse_arguments(arg + "${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN}) + + # Create file globbing expressions that only include directories that contain source + set(_base_dirs "tests" "src" "examples") + # Note: any extensions added here should also be added to BLT's lists in CMakeLists.txt + set(_ext_expressions "*.cpp" "*.hpp" "*.inl" "*.cuh" "*.cu" "*.cpp.in" "*.hpp.in") + + set(_glob_expressions) + foreach(_exp ${_ext_expressions}) + foreach(_base_dir ${_base_dirs}) + list(APPEND _glob_expressions "${PROJECT_SOURCE_DIR}/${_base_dir}/${_exp}") + endforeach() + endforeach() + + # Glob for list of files to run code checks on + set(_sources) + file(GLOB_RECURSE _sources ${_glob_expressions}) + + blt_add_code_checks(PREFIX ${arg_PREFIX} + SOURCES ${_sources} + CLANGFORMAT_CFG_FILE ${PROJECT_SOURCE_DIR}/.clang-format + CPPCHECK_FLAGS --enable=all --inconclusive) + + + set(_src_sources) + file(GLOB_RECURSE _src_sources "src/*.cpp" "src/*.hpp" "src/*.inl") + list(FILTER _src_sources EXCLUDE REGEX ".*/tests/.*pp") + + blt_add_clang_tidy_target(NAME ${arg_PREFIX}_guidelines_check + CHECKS "clang-analyzer-*,clang-analyzer-cplusplus*,cppcoreguidelines-*" + SRC_FILES ${_src_sources}) + + # Create list of recursive test directory glob expressions + # NOTE: GLOB operator ** did not appear to be supported by cmake and did not recursively find test subdirectories + # NOTE: Do not include all directories at root (for example: blt) + + file(GLOB_RECURSE _test_sources "${PROJECT_SOURCE_DIR}/src/*.cpp" "${PROJECT_SOURCE_DIR}/tests/*.cpp") + list(FILTER _test_sources INCLUDE REGEX ".*/tests/.*pp") + + blt_add_clang_tidy_target(NAME ${arg_PREFIX}_guidelines_check_tests + CHECKS "clang-analyzer-*,clang-analyzer-cplusplus*,cppcoreguidelines-*,-cppcoreguidelines-avoid-magic-numbers" + SRC_FILES ${_test_sources}) + + if (ENABLE_COVERAGE) + blt_add_code_coverage_target(NAME ${arg_PREFIX}_coverage + RUNNER ${CMAKE_MAKE_PROGRAM} test + SOURCE_DIRECTORIES ${PROJECT_SOURCE_DIR}/src ) + endif() + +endmacro(gretl_add_code_checks) + + +##------------------------------------------------------------------------------ +## gretl_convert_to_native_escaped_file_path( path output ) +## +## This macro converts a cmake path to a platform specific string literal +## usable in C++. (For example, on windows C:/Path will be come C:\\Path) +##------------------------------------------------------------------------------ +macro(gretl_convert_to_native_escaped_file_path path output) + file(TO_NATIVE_PATH ${path} ${output}) + string(REPLACE "\\" "\\\\" ${output} "${${output}}") +endmacro(gretl_convert_to_native_escaped_file_path) + + +##------------------------------------------------------------------------------ +## gretl_remove_string_prefix +## +## This macro removes a string prefix from a given string. +## +## PREFIX - String prefix to be removed +## INPUT - String with possible prefix to be removed +## OUTPUT_VAR - Possibly altered output string +## +##------------------------------------------------------------------------------ +macro(gretl_remove_string_prefix) + set(options) + set(singleValueArgs PREFIX INPUT OUTPUT_VAR) + set(multiValueArgs) + + # Parse the arguments to the macro + cmake_parse_arguments(arg + "${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(NOT DEFINED arg_PREFIX) + message(FATAL_ERROR "PREFIX is required") + endif() + + if(NOT DEFINED arg_INPUT) + message(FATAL_ERROR "INPUT is required") + endif() + + if(NOT DEFINED arg_OUTPUT_VAR) + message(FATAL_ERROR "OUTPUT_VAR is required") + endif() + + string(LENGTH "${arg_PREFIX}" _prefix_len) + string(SUBSTRING "${arg_INPUT}" 0 ${_prefix_len} _actual_prefix) + + if(_actual_prefix STREQUAL "${arg_PREFIX}") + string(REPLACE "${arg_PREFIX}" "" _stripped_path "${arg_INPUT}") + set(${arg_OUTPUT_VAR} "${_stripped_path}") + else() + set(${arg_OUTPUT_VAR} "${arg_INPUT}") + endif() +endmacro() + + +##------------------------------------------------------------------------------ +## gretl_configure_file +## +## This macro is a thin wrapper over the builtin configure_file command. +## It has the same arguments/options as configure_file but introduces an +## intermediate file that is only copied to the target file if the target differs +## from the intermediate. +##------------------------------------------------------------------------------ +macro(gretl_configure_file _source _target) + set(_tmp_target ${_target}.tmp) + configure_file(${_source} ${_tmp_target} ${ARGN}) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_tmp_target} ${_target}) + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${_tmp_target}) +endmacro(gretl_configure_file) + + +##------------------------------------------------------------------------------ +## gretl_remove_string_prefix +## +## This macro fills OUTPUT_VAR with the subdirectory relative to +## "/src" +## +## OUTPUT_VAR - Possibly altered output string +## +##------------------------------------------------------------------------------ +macro(gretl_get_src_subdirectory) + + set(options) + set(singleValueArgs OUTPUT_VAR) + set(multiValueArgs) + + # Parse the arguments to the macro + cmake_parse_arguments(arg + "${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(NOT DEFINED arg_OUTPUT_VAR) + message(FATAL_ERROR "OUTPUT_VAR is required") + endif() + + string(TOLOWER ${PROJECT_NAME} _project_name) + + # Convert both paths to absolute + file(REAL_PATH "${PROJECT_SOURCE_DIR}/src/${_project_name}" abs_base_dir) + file(REAL_PATH "${CMAKE_CURRENT_SOURCE_DIR}" abs_full_path) + + # Check if full path starts with the base directory + string(FIND "${abs_full_path}" "${abs_base_dir}" found_pos) + + if(NOT found_pos EQUAL 0) + message(FATAL_ERROR "The full path '${abs_full_path}' does not start with the base directory '${abs_base_dir}'") + endif() + + # Strip base directory from full path + gretl_remove_string_prefix(PREFIX "${abs_base_dir}/" + INPUT "${abs_full_path}" + OUTPUT_VAR ${arg_OUTPUT_VAR}) +endmacro(gretl_get_src_subdirectory) + + +##------------------------------------------------------------------------------ +## gretl_write_unified_header +## +## This macro writes the unified header (.hpp) +## to the build directory for the given NAME with the given HEADERS included +## inside of it. +## +## NAME - The name of the unified header. +## HEADERS - Headers to be included in the header. +## NO_PATH_MODIFICATION - ON/OFF(default) Stops include path modification if on, +## used for the project-level unified header +## +##------------------------------------------------------------------------------ +# List to hold all unified headers to be later used to create a master unified header +set(_${PROJECT_NAME}_unified_headers "" CACHE STRING "" FORCE) +macro(gretl_write_unified_header) + + set(options) + set(singleValueArgs NAME NO_PATH_MODIFICATION) + set(multiValueArgs HEADERS EXCLUDE) + + # Parse the arguments to the macro + cmake_parse_arguments(arg + "${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(NOT DEFINED arg_NO_PATH_MODIFICATION) + set(arg_NO_PATH_MODIFICATION OFF) + endif() + + string(TOLOWER ${arg_NAME} _unified_header_name) + string(TOLOWER ${PROJECT_NAME} _project_name) + set(_header ${PROJECT_BINARY_DIR}/include/${_project_name}/${_unified_header_name}.hpp) + set(_tmp_header ${_header}.tmp) + set(_src_subdir) + if(NOT arg_NO_PATH_MODIFICATION) + gretl_get_src_subdirectory(OUTPUT_VAR _src_subdir) + endif() + + file(WRITE ${_tmp_header} "\/\/ Copyright Lawrence Livermore National Security, LLC and +\/\/ other ${PROJECT_NAME} Project Developers. See the top-level LICENSE file for details. +\/\/ +\/\/ SPDX-License-Identifier: (BSD-3-Clause) +\n +") + + file(APPEND ${_tmp_header} "#pragma once\n\n") + + file(APPEND ${_tmp_header} "#include \"${_project_name}\/${_project_name}_config.hpp\"\n\n") + + foreach(_file ${arg_HEADERS}) + if("${_file}" IN_LIST arg_EXCLUDE) + continue() + elseif("${_file}" MATCHES "\\.inl$") + continue() + elseif("${_file}" MATCHES "(\/detail\/)|(\/internal\/)") + continue() + elseif(arg_NO_PATH_MODIFICATION) + file(APPEND ${_tmp_header} "#include \"${_file}\"\n") + else() + set(_headerPath) + gretl_remove_string_prefix(PREFIX "${PROJECT_BINARY_DIR}\/" + INPUT "${_file}" + OUTPUT_VAR _headerPath) + gretl_remove_string_prefix(PREFIX "include\/${_project_name}\/${arg_NAME}\/" + INPUT "${_headerPath}" + OUTPUT_VAR _headerPath) + set(_headerPath "${_project_name}\/${_src_subdir}\/${_headerPath}") + file(APPEND ${_tmp_header} "#include \"${_headerPath}\"\n") + endif() + endforeach() + + file(APPEND ${_tmp_header} "\n") + + execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_tmp_header} ${_header}) + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${_tmp_header}) + + install(FILES ${_header} + DESTINATION include/${_project_name}) + + # Add this component's unified header to the list to be added to the project specific unified header + set(_component_header "${_project_name}/${_unified_header_name}.hpp") + if("${_${PROJECT_NAME}_unified_headers}" STREQUAL "") + set(_${PROJECT_NAME}_unified_headers "${_component_header}" CACHE STRING "" FORCE) + else() + set(_${PROJECT_NAME}_unified_headers "${_${PROJECT_NAME}_unified_headers};${_component_header}" CACHE STRING "" FORCE) + endif() +endmacro(gretl_write_unified_header) diff --git a/cmake/blt b/cmake/blt new file mode 160000 index 0000000..532d150 --- /dev/null +++ b/cmake/blt @@ -0,0 +1 @@ +Subproject commit 532d15088b37d59b399299b0c7b706368470b805 diff --git a/cmake/gretl-config.cmake.in b/cmake/gretl-config.cmake.in new file mode 100644 index 0000000..0ae271b --- /dev/null +++ b/cmake/gretl-config.cmake.in @@ -0,0 +1,37 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (BSD-3-Clause) +#------------------------------------------------------------------------------ + +cmake_minimum_required(VERSION 3.16 FATAL_ERROR) + +@PACKAGE_INIT@ + +if(NOT GRETL_FOUND) + + #---------------------------------------------------------------------------- + # Set version and paths + #---------------------------------------------------------------------------- + + set(GRETL_VERSION "@GRETL_VERSION_FULL@") + set(GRETL_VERSION_MAJOR "@GRETL_VERSION_MAJOR@") + set(GRETL_VERSION_MINOR "@GRETL_VERSION_MINOR@") + set(GRETL_VERSION_PATCH "@GRETL_VERSION_PATCH@") + + set(GRETL_INSTALL_PREFIX "@GRETL_INSTALL_PREFIX@") + set(GRETL_INCLUDE_DIRS "${GRETL_INSTALL_PREFIX}/include") + + #---------------------------------------------------------------------------- + # Load BLT and Gretl targets + #---------------------------------------------------------------------------- + get_filename_component(GRETL_CMAKE_CONFIG_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + include(${GRETL_CMAKE_CONFIG_DIR}/BLTSetupTargets.cmake) + include(${GRETL_CMAKE_CONFIG_DIR}/gretl-targets.cmake) + + #---------------------------------------------------------------------------- + # Indicate that Gretl is correctly set up + #---------------------------------------------------------------------------- + set(GRETL_FOUND TRUE) + +endif() diff --git a/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake b/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake index eb32e5d..b45f50d 100644 --- a/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake +++ b/host-configs/dane-toss_4_x86_64_ib-gcc@13.3.1.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/tce/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/fmt-11.0.2-usm3fj6qxr75ga5p2ydlhearxsbtpckd;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/netlib-scalapack-2.2.2-exloohmk6uv52js7hiy74dkuzdaxgzho;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -39,79 +31,6 @@ endif() set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/gcc-13.3.1" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6" CACHE PATH "") - -set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz" CACHE PATH "") - -# AMGX not built - -set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy" CACHE PATH "") - -# ENZYME not built - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake b/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake index f279933..0022e66 100644 --- a/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake +++ b/host-configs/dane-toss_4_x86_64_ib-llvm@19.1.3.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/tce/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/fmt-11.0.2-klyhttb7ma3ny2ksm6ywvoorqr6nrhie;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/netlib-scalapack-2.2.2-qeorvxwxdo6tahacqg5zqz4dznn5v2vs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -39,79 +31,6 @@ endif() set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_10_47/llvm-19.1.3" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2" CACHE PATH "") - -set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek" CACHE PATH "") - -# AMGX not built - -set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw" CACHE PATH "") - -set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5" CACHE PATH "") - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/host-configs/docker/gcc@14.2.0.cmake b/host-configs/docker/gcc@14.2.0.cmake index c3c0058..204c04f 100644 --- a/host-configs/docker/gcc@14.2.0.cmake +++ b/host-configs/docker/gcc@14.2.0.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/local/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/home/serac/serac_tpls/gcc-14.2.0/tribol-0.1.0.22-wazfmdbkalzczo7r5y2utwnimbwjkhnx;/home/serac/serac_tpls/gcc-14.2.0/axom-0.11.0.1-qs45ql23enjk5icq6yasgpjict4ovgge;/home/serac/serac_tpls/gcc-14.2.0/conduit-0.9.2-a2ql5k5t2bdur2yxekjzgznggvvrxtyn;/home/serac/serac_tpls/gcc-14.2.0/mfem-4.9.0.1-sgfrwx6qadkzigkocbwxfi2rxd4bdg5c;/home/serac/serac_tpls/gcc-14.2.0/raja-2024.07.0-hbxa5g4eqneaq3e2pnyaouk2mnrk47zc;/home/serac/serac_tpls/gcc-14.2.0/umpire-2024.07.0-yvluhnikhhswrlvuhfwbgcbur55jtxlu;/home/serac/serac_tpls/gcc-14.2.0/netcdf-c-4.7.4-n7hweek4e4l7z424tytkvm7zs7xkz2y5;/home/serac/serac_tpls/gcc-14.2.0/slepc-3.21.2-toj3h2dah2t5ptq456kgqkluo35h6h5m;/home/serac/serac_tpls/gcc-14.2.0/sundials-6.7.0-bnjclc6rr4tdcrye7s44cn5dlaoqbmeo;/home/serac/serac_tpls/gcc-14.2.0/camp-2024.07.0-r6yrhlse676pzry225kxim6w2ri4ywxs;/home/serac/serac_tpls/gcc-14.2.0/fmt-11.0.2-ht2idt2ah5wkaf2qxcobbccu6lzlmb33;/home/serac/serac_tpls/gcc-14.2.0/hdf5-1.8.23-crboya2gv7d3qwkz7l5sznsqorucooqn;/home/serac/serac_tpls/gcc-14.2.0/arpack-ng-3.9.1-f2o4etq7lzo7gyymjfpitasrhqdd6rt7;/home/serac/serac_tpls/gcc-14.2.0/petsc-3.21.6-dodsuk6hdprsvpfb7bzyv5nm7c2als43;/home/serac/serac_tpls/gcc-14.2.0/hypre-2.26.0-pamvjykkiskrudquhqh3tzmyafolowqf;/home/serac/serac_tpls/gcc-14.2.0/strumpack-8.0.0-uww3gzqgff2cuhqks65fz572svx3fk4r;/home/serac/serac_tpls/gcc-14.2.0/superlu-dist-8.1.2-tku2zum5uc4etnqubqsi3b4735ceoytk;/home/serac/serac_tpls/gcc-14.2.0/netlib-scalapack-2.2.2-wbnniby6qznaurgoco6vvsxm2aod5zmf;/home/serac/serac_tpls/gcc-14.2.0/parmetis-4.0.3-c3y4s5kwdhsprddhtcey42hej6f5ou3a;/home/serac/serac_tpls/gcc-14.2.0/metis-5.1.0-ypp5h6p4n6evogx2wng2eqnp74a4losv;/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u;/home/serac/serac_tpls/gcc-14.2.0/hwloc-2.11.1-shknwspkkbovk43s4cko23fvxfpxyahn;/home/serac/serac_tpls/gcc-14.2.0/libfabric-2.2.0-evvznwth4eytgtzrhbv43pg6qkcxped3;/home/serac/serac_tpls/gcc-14.2.0/yaksa-0.3-2b3vqz4dmnnfiomkz7escyx3ws7w5roo;/home/serac/serac_tpls/gcc-14.2.0/libpciaccess-0.17-lwsnk2jlatm34qsj2zbkthnl6h7twfed;/home/serac/serac_tpls/gcc-14.2.0/libxml2-2.13.5-b2zl6sf7caqugntrt2j27vmprqmv3c6w;/home/serac/serac_tpls/gcc-14.2.0/ncurses-6.5-20250705-gahbb26hdvnncrliitzzsubprxnentte;/home/serac/serac_tpls/gcc-14.2.0/libiconv-1.18-675kuqysxbbn3qyulkos2ktqm253hhc2;/home/serac/serac_tpls/gcc-14.2.0/xz-5.6.3-35m7lld4lmcwmq72r7ivi25ydxvgtvth;/home/serac/serac_tpls/none-none/gcc-runtime-14.2.0-732djrphgfjipas5vfbmlvwfci4ui4za;/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib;/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib64;;" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib;/home/serac/serac_tpls/gcc-14.2.0/serac-develop-vt72oztqtxwepru3o2giletqdnxhqtma/lib64;;" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -43,79 +35,6 @@ set(CMAKE_CXX_FLAGS "-fPIC -pthread" CACHE STRING "") set(CMAKE_Fortran_FLAGS "-fPIC -pthread" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_EXECUTABLE "/home/serac/serac_tpls/gcc-14.2.0/mpich-4.2.0-nsv6egqtra6rlwyfouhma2bku23mjf4u/bin/mpirun" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/home/serac/serac_tpls/gcc-14.2.0" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-qs45ql23enjk5icq6yasgpjict4ovgge" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-r6yrhlse676pzry225kxim6w2ri4ywxs" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-a2ql5k5t2bdur2yxekjzgznggvvrxtyn" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-sgfrwx6qadkzigkocbwxfi2rxd4bdg5c" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-crboya2gv7d3qwkz7l5sznsqorucooqn" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-pamvjykkiskrudquhqh3tzmyafolowqf" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-ypp5h6p4n6evogx2wng2eqnp74a4losv" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-c3y4s5kwdhsprddhtcey42hej6f5ou3a" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-n7hweek4e4l7z424tytkvm7zs7xkz2y5" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-tku2zum5uc4etnqubqsi3b4735ceoytk" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-f2o4etq7lzo7gyymjfpitasrhqdd6rt7" CACHE PATH "") - -# ADIAK not built - -# AMGX not built - -# CALIPER not built - -# ENZYME not built - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-dodsuk6hdprsvpfb7bzyv5nm7c2als43" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-hbxa5g4eqneaq3e2pnyaouk2mnrk47zc" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-toj3h2dah2t5ptq456kgqkluo35h6h5m" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-uww3gzqgff2cuhqks65fz572svx3fk4r" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-bnjclc6rr4tdcrye7s44cn5dlaoqbmeo" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-yvluhnikhhswrlvuhfwbgcbur55jtxlu" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.22-wazfmdbkalzczo7r5y2utwnimbwjkhnx" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/host-configs/docker/llvm@19.1.1.cmake b/host-configs/docker/llvm@19.1.1.cmake index c6638cd..02aa3f5 100644 --- a/host-configs/docker/llvm@19.1.1.cmake +++ b/host-configs/docker/llvm@19.1.1.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/local/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/home/serac/serac_tpls/llvm-19.1.1/tribol-0.1.0.22-gvkf7l7tskcu7mwkwvf3m3mlo3fz2jpf;/home/serac/serac_tpls/llvm-19.1.1/axom-0.11.0.1-gvtvq2exv3yuvub5mgvnqvlsxfieas65;/home/serac/serac_tpls/llvm-19.1.1/conduit-0.9.2-pa56tobns52wm2xjfzqasd3prjrakypm;/home/serac/serac_tpls/llvm-19.1.1/mfem-4.9.0.1-3p5nnjxvmgjepqkhyyw5xvkwjzk3opzl;/home/serac/serac_tpls/llvm-19.1.1/raja-2024.07.0-fzfgpyaew3paebt7gliwbtkxr54bmt55;/home/serac/serac_tpls/llvm-19.1.1/umpire-2024.07.0-juxmhtd6mga7pu5bo6ergxw5urjxhlgb;/home/serac/serac_tpls/llvm-19.1.1/enzyme-0.0.180-5g64dp4gcya2376i4hubappazgsvr6yw;/home/serac/serac_tpls/llvm-19.1.1/netcdf-c-4.7.4-v5l5xmqciosurfpasm6zhtzwmvc4vi24;/home/serac/serac_tpls/llvm-19.1.1/slepc-3.21.2-ihsquwzjr6rpxu2l3czijifwfivlytqi;/home/serac/serac_tpls/llvm-19.1.1/sundials-6.7.0-dbvedpourx524pzytktiazxjfbeqntg3;/home/serac/serac_tpls/llvm-19.1.1/camp-2024.07.0-tcpdy6rxi7v4xbdojkwfufax2pf6x2ts;/home/serac/serac_tpls/llvm-19.1.1/fmt-11.0.2-vtj543jq2uuqliyilrg4qlp6ndxxiemd;/home/serac/serac_tpls/llvm-19.1.1/hdf5-1.8.23-rslupkamjuagcfeev6xnyc6qtjjyga3b;/home/serac/serac_tpls/llvm-19.1.1/arpack-ng-3.9.1-wrjgc6a3jx3wmjmoi2c5teydqp5brja2;/home/serac/serac_tpls/llvm-19.1.1/petsc-3.21.6-rzrmya4ointoadcopntezmqt4a5t6umr;/home/serac/serac_tpls/llvm-19.1.1/hypre-2.26.0-qs6fiqil4sdd7ozwrhjlsis6t4fc3fuq;/home/serac/serac_tpls/llvm-19.1.1/strumpack-8.0.0-jh2zzfyuwzzig5chae3u6m3ebyca7wk7;/home/serac/serac_tpls/llvm-19.1.1/superlu-dist-8.1.2-azhojsjwdpywpr5lzlwhhtqnphnxjllh;/home/serac/serac_tpls/llvm-19.1.1/netlib-scalapack-2.2.2-jc6yofrlspgow7asd7bxcxyrmxgeozy6;/home/serac/serac_tpls/llvm-19.1.1/parmetis-4.0.3-35b6dycnuuprcnbl7aayxif5odiupaq6;/home/serac/serac_tpls/llvm-19.1.1/metis-5.1.0-47i25u7hnn4xxny6b5z3pekjvj6kjlku;/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq;/home/serac/serac_tpls/none-none/gcc-runtime-13.3.0-6f3a7cf5tiwwl5jhia65h56s4qand7rx;/home/serac/serac_tpls/llvm-19.1.1/hwloc-2.11.1-en7owzmwvvphmona6vvxcvlcbxzbyfw2;/home/serac/serac_tpls/llvm-19.1.1/libfabric-2.2.0-vda63y7sdbg5b6h4hvpcmygunygyr7my;/home/serac/serac_tpls/llvm-19.1.1/yaksa-0.3-6ktpoilt36ux65qff3jperaisoriek3l;/home/serac/serac_tpls/llvm-19.1.1/libpciaccess-0.17-ok5focv2qbtj2nrouqkiswmj2wbfjygn;/home/serac/serac_tpls/llvm-19.1.1/libxml2-2.13.5-k25tezxwuznorvwtt3ddsjf3wc6olkcm;/home/serac/serac_tpls/llvm-19.1.1/ncurses-6.5-20250705-5gdsguofwtckkx6hgxav3vuwoffirzzp;/home/serac/serac_tpls/llvm-19.1.1/libiconv-1.18-b2hrlselsouogi5dw4qpplbwm4bzlyki;/home/serac/serac_tpls/llvm-19.1.1/xz-5.6.3-uiri5j3f4lnhngg2j5iadq7qzsgdsrqu;/home/serac/serac_tpls/none-none/compiler-wrapper-1.0-adr4m722sut3yibwgl2ehvjbtuzeozzm;/usr/lib/llvm-19" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib;/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib64;;" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib;/home/serac/serac_tpls/llvm-19.1.1/serac-develop-vburwg4cb7hbxxkom42k75yd3myyhqtj/lib64;;" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -43,79 +35,6 @@ set(CMAKE_CXX_FLAGS "-fPIC -pthread" CACHE STRING "") set(CMAKE_Fortran_FLAGS "-fPIC -pthread" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_EXECUTABLE "/home/serac/serac_tpls/llvm-19.1.1/mpich-4.2.0-bwz522ssj5775zpsjs2nxaj6gehd7tdq/bin/mpirun" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/home/serac/serac_tpls/llvm-19.1.1" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-gvtvq2exv3yuvub5mgvnqvlsxfieas65" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-tcpdy6rxi7v4xbdojkwfufax2pf6x2ts" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-pa56tobns52wm2xjfzqasd3prjrakypm" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-3p5nnjxvmgjepqkhyyw5xvkwjzk3opzl" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-rslupkamjuagcfeev6xnyc6qtjjyga3b" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-qs6fiqil4sdd7ozwrhjlsis6t4fc3fuq" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-47i25u7hnn4xxny6b5z3pekjvj6kjlku" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-35b6dycnuuprcnbl7aayxif5odiupaq6" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-v5l5xmqciosurfpasm6zhtzwmvc4vi24" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-azhojsjwdpywpr5lzlwhhtqnphnxjllh" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-wrjgc6a3jx3wmjmoi2c5teydqp5brja2" CACHE PATH "") - -# ADIAK not built - -# AMGX not built - -# CALIPER not built - -set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-5g64dp4gcya2376i4hubappazgsvr6yw" CACHE PATH "") - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-rzrmya4ointoadcopntezmqt4a5t6umr" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-fzfgpyaew3paebt7gliwbtkxr54bmt55" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-ihsquwzjr6rpxu2l3czijifwfivlytqi" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-jh2zzfyuwzzig5chae3u6m3ebyca7wk7" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dbvedpourx524pzytktiazxjfbeqntg3" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-juxmhtd6mga7pu5bo6ergxw5urjxhlgb" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.22-gvkf7l7tskcu7mwkwvf3m3mlo3fz2jpf" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake b/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake index 9c525c5..49c5168 100644 --- a/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake +++ b/host-configs/rzwhippet-toss_4_x86_64_ib-gcc@13.3.1.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/tce/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/fmt-11.0.2-usm3fj6qxr75ga5p2ydlhearxsbtpckd;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/netlib-scalapack-2.2.2-exloohmk6uv52js7hiy74dkuzdaxgzho;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1/serac-develop-z4njobo5mgy5du53ckmdif5iinxriidw/lib64;;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -39,79 +31,6 @@ endif() set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-13.3.1-magic/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/gcc-13.3.1" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-dfenolqzwiv5tihipn24dy4owcpqirx4" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-5hekan5rpn3dzadr3gucz7u5q4cglwwz" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-3zjitqyjo5hywwgvoiksoah3vo3xoxpo" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-j57zj7s43k757edvfjmhckira4ijyzxw" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-a5aevsftdqt4quek6v6eluljsazqs6ww" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-fip3pi45ru7ao6y4rcjwlrrtmyz56gd2" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-nbxqo5m7iy3uyjd32skqzpa4d5cev2dt" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-q4uej3qoobfln5vpx55kpxprhwfxahgz" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-bp24ixl6szluqobec5eicnqm5df6wfmo" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-l5xmnfrhhqqa7z5hnibp522ceevfibup" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-dmayqpcvmr6cb5lilfwbygkec2fmshj6" CACHE PATH "") - -set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-vcebqioolx5swnh5jh3vofbc7gwxbjnz" CACHE PATH "") - -# AMGX not built - -set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nnegy5dckpkmcjxr2d7p3bxftxnp7ugy" CACHE PATH "") - -# ENZYME not built - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-kc675eyn4s5ldwml6rygmvwjmipr5xw7" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-xgktxoswgbbqcqkrxl5nrfhabqjb7nqi" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-p3fl3xkwq3dszpyazj3uxjxwmu6upv4y" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-nikoevilkmzfxtoywzljgbcpgtpx2s62" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-pegrbubvgbbnxgklabb3hq4yeb7jfabc" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-2lgp2wihiz7gghci2euzhvj65xbfrgo3" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-yxlr52ve2o2wtqrlhh5qitztwdsey4jq" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake b/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake index 28f32d1..b123b61 100644 --- a/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake +++ b/host-configs/rzwhippet-toss_4_x86_64_ib-llvm@19.1.3.cmake @@ -4,14 +4,6 @@ # CMake executable path: /usr/tce/bin/cmake #------------------------------------------------------------------------------ -set(CMAKE_PREFIX_PATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/fmt-11.0.2-klyhttb7ma3ny2ksm6ywvoorqr6nrhie;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/netlib-scalapack-2.2.2-qeorvxwxdo6tahacqg5zqz4dznn5v2vs;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/gcc-runtime-13.3.1-uv6f6pcmzth37hskwtrhtbmbujh53k6y;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/none-none/compiler-wrapper-1.0-hxzxhboumtniaqs7qivgliluv4h2lbxt;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/python-3.11.7;/usr/tce;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/cppcheck-2.9;/usr/workspace/smithdev/devtools/toss_4_x86_64_ib/latest/doxygen-1.9.8;/usr/tce/packages/gcc/gcc-13.3.1;/usr/tce/packages/clang/clang-19.1.3;/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic;/usr/tce/packages/python/python-3.9.12" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH_USE_LINK_PATH "ON" CACHE STRING "") - -set(CMAKE_BUILD_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - -set(CMAKE_INSTALL_RPATH "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib;/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3/serac-develop-gdgryxh7gim7uyacp2qmxtk2qolmvxm7/lib64;;/usr/tce/backend/installations/linux-rhel8-x86_64/gcc-13.3.1/llvm-19.1.3-gy2lu5xbi4csr2k47emlajzfs5mlsd4g/lib/x86_64-unknown-linux-gnu;/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13;/usr/tce/packages/clang/clang-19.1.3/lib;/collab/usr/global/tools/tce4/packages/gcc/gcc-13.3.1/lib/gcc/x86_64-redhat-linux/13" CACHE STRING "") - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") #------------------------------------------------------------------------------ @@ -39,79 +31,6 @@ endif() set(CMAKE_Fortran_FLAGS "-fPIC" CACHE STRING "") -#------------------------------------------------------------------------------ -# MPI -#------------------------------------------------------------------------------ - -set(MPI_C_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicc" CACHE PATH "") - -set(MPI_CXX_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpicxx" CACHE PATH "") - -set(MPI_Fortran_COMPILER "/usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-19.1.3-magic/bin/mpif90" CACHE PATH "") - -set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "") - -set(ENABLE_MPI ON CACHE BOOL "") - -set(MPIEXEC_EXECUTABLE "/usr/bin/srun" CACHE PATH "") - -#------------------------------------------------------------------------------ -# Hardware -#------------------------------------------------------------------------------ - -set(ENABLE_OPENMP ON CACHE BOOL "") - -#------------------------------------------------------------------------------ -# TPLs -#------------------------------------------------------------------------------ - -set(TPL_ROOT "/usr/WS2/smithdev/libs/smith/toss_4_x86_64_ib/2025_09_25_10_50_56/llvm-19.1.3" CACHE PATH "") - -set(AXOM_DIR "${TPL_ROOT}/axom-0.11.0.1-ezlhr7rmy4bbuyw7y3kpv54awmt6xswv" CACHE PATH "") - -set(CAMP_DIR "${TPL_ROOT}/camp-2024.07.0-y2oepihweipevkkjgnyhvkw2fs37gpbv" CACHE PATH "") - -set(CONDUIT_DIR "${TPL_ROOT}/conduit-0.9.2-yz5fziquxcqrzxsoibtohkjghn3gwqzh" CACHE PATH "") - -set(LUA_DIR "/usr" CACHE PATH "") - -set(MFEM_DIR "${TPL_ROOT}/mfem-4.9.0.1-2zqzspuhyk22k2mwcbiwll7x3qiyoygf" CACHE PATH "") - -set(HDF5_DIR "${TPL_ROOT}/hdf5-1.8.23-3prkcsqw75gpmqy244zr72uq7s4dnles" CACHE PATH "") - -set(HYPRE_DIR "${TPL_ROOT}/hypre-2.26.0-yuzmo7lanmrkn2tefxtkngyestzhp55e" CACHE PATH "") - -set(METIS_DIR "${TPL_ROOT}/metis-5.1.0-2pu2cesnzoxhc53feelz6xnfos4rz43a" CACHE PATH "") - -set(PARMETIS_DIR "${TPL_ROOT}/parmetis-4.0.3-7pxu4ifofsjnj6bpm7v3yyag24adjwze" CACHE PATH "") - -set(NETCDF_DIR "${TPL_ROOT}/netcdf-c-4.7.4-ssvz6dnq434dzlcdpes77r2arssoh4bs" CACHE PATH "") - -set(SUPERLUDIST_DIR "${TPL_ROOT}/superlu-dist-8.1.2-ges7olrg4fbofm43fij7yalrcmh4lmxy" CACHE PATH "") - -set(ARPACK_DIR "${TPL_ROOT}/arpack-ng-3.9.1-ki5vt7m6djybol2y6v4lmlgt7ecymnj2" CACHE PATH "") - -set(ADIAK_DIR "${TPL_ROOT}/adiak-0.4.1-7ttshzflnc4rsmmjqmbz2qjfkj3frqek" CACHE PATH "") - -# AMGX not built - -set(CALIPER_DIR "${TPL_ROOT}/caliper-2.12.1-nz3lmb4qolrz7prhtoyugz74vnxcihtw" CACHE PATH "") - -set(ENZYME_DIR "${TPL_ROOT}/enzyme-0.0.180-xleormmofvptlsthvvypxjc6e5plzyh5" CACHE PATH "") - -set(PETSC_DIR "${TPL_ROOT}/petsc-3.21.6-2kazkxzachljuze4z5vspjo7g3ozq3pu" CACHE PATH "") - -set(RAJA_DIR "${TPL_ROOT}/raja-2024.07.0-yjwvxtexaphdxrgs333gamhjayjkt5eo" CACHE PATH "") - -set(SLEPC_DIR "${TPL_ROOT}/slepc-3.21.2-4dvwsscflircxhm3xz3gxqahjqs7vtii" CACHE PATH "") - -set(STRUMPACK_DIR "${TPL_ROOT}/strumpack-8.0.0-fu5524rjudtlevyooypmkiochtaakgxt" CACHE PATH "") - -set(SUNDIALS_DIR "${TPL_ROOT}/sundials-6.7.0-dybn2xdbel2rly4ycu6qsopvep4h2dgq" CACHE PATH "") - -set(UMPIRE_DIR "${TPL_ROOT}/umpire-2024.07.0-6p3ogm6uegmc7q3snwgsx2qkopyqte6d" CACHE PATH "") - -set(TRIBOL_DIR "${TPL_ROOT}/tribol-0.1.0.21-io3zjlwaagjs7nr43kr25ft2kk6jaqcy" CACHE PATH "") #------------------------------------------------------------------------------ # Devtools diff --git a/scripts/github-actions/linux-check.sh b/scripts/github-actions/linux-check.sh index b8962f3..c67ea6c 100755 --- a/scripts/github-actions/linux-check.sh +++ b/scripts/github-actions/linux-check.sh @@ -25,7 +25,7 @@ echo "CMAKE_EXTRA_FLAGS=$CMAKE_EXTRA_FLAGS" echo "~~~~~~~~~~~~~~~~~~~~~~" echo "~~~~~~ RUNNING CMAKE ~~~~~~~~" -cmake_args="-DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DENABLE_CLANGTIDY=OFF" +cmake_args="-DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=ON -DENABLE_CLANGTIDY=OFF -DGRETL_ENABLE_CODE_CHECKS=ON" if [[ "$CHECK_TYPE" == "style" ]] ; then CLANGFORMAT_EXECUTABLE=/usr/bin/clang-format diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..61b5373 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,11 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +add_subdirectory(gretl) + +if(GRETL_ENABLE_TESTS) + add_subdirectory(tests) +endif() diff --git a/src/gretl/CMakeLists.txt b/src/gretl/CMakeLists.txt new file mode 100644 index 0000000..2214177 --- /dev/null +++ b/src/gretl/CMakeLists.txt @@ -0,0 +1,57 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +# This file contains metadata that often changes (ie. git sha). +# Hide these changes in the source file so we do not force +# a full rebuild. +gretl_configure_file( + git_sha.hpp.in + ${PROJECT_BINARY_DIR}/include/gretl/git_sha.hpp + ) + +set(gretl_sources + about.cpp + data_store.cpp + state_base.cpp + vector_state.cpp) + +set(gretl_headers + about.hpp + checkpoint.hpp + create_state.hpp + data_store.hpp + double_state.hpp + ${PROJECT_BINARY_DIR}/include/gretl/git_sha.hpp + print_utils.hpp + state_base.hpp + state.hpp + test_utils.hpp + upstream_state.hpp + vector_state.hpp) + +blt_add_library(NAME gretl + SOURCES ${gretl_sources} + HEADERS ${gretl_headers}) + +gretl_write_unified_header( + NAME gretl + HEADERS ${gretl_headers} + ) + +target_include_directories(gretl PUBLIC + $ + $ + $ + ) + +install(FILES ${gretl_headers} ${PROJECT_BINARY_DIR}/include/gretl/gretl.hpp + DESTINATION include/gretl ) + +install(TARGETS gretl + EXPORT gretl-targets + DESTINATION lib + ) + diff --git a/src/gretl/about.cpp b/src/gretl/about.cpp new file mode 100644 index 0000000..5d12356 --- /dev/null +++ b/src/gretl/about.cpp @@ -0,0 +1,60 @@ +// Copyright (c) Lawrence Livermore National Security, LLC and +// other Gretl Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +#include "gretl/about.hpp" +#include "gretl/config.hpp" +#include "gretl/git_sha.hpp" + +#include + +namespace gretl { + +std::string about() +{ + std::string about = "\n"; + + // Version info + about += std::string("Gretl Version: ") + version() + "\n"; + about += "\n"; + + // General configuration +#ifdef GRETL_DEBUG + about += std::string("Debug Build: ON\n"); +#else + about += std::string("Debug Build: OFF\n"); +#endif + + about += std::string("\n"); + + return about; +} + +std::string gitSHA() { return GRETL_GIT_SHA; } + +std::string version(bool add_SHA) +{ + std::string version = GRETL_VERSION_FULL; + + std::string sha = gitSHA(); + if (add_SHA && !sha.empty()) { + version += "-" + sha; + } + + return version; +} + +std::string compiler() { return std::string(GRETL_COMPILER_NAME) + " version " + std::string(GRETL_COMPILER_VERSION); } + +std::string buildType() +{ +#ifdef GRETL_DEBUG + return "Debug"; +#else + return "Release"; +#endif +} + +} // namespace gretl diff --git a/src/gretl/about.hpp b/src/gretl/about.hpp new file mode 100644 index 0000000..76cf9da --- /dev/null +++ b/src/gretl/about.hpp @@ -0,0 +1,62 @@ +// Copyright (c) Lawrence Livermore National Security, LLC and +// other Gretl Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +/** + * @file about.hpp + * + * @brief This file contains the interface used for retrieving information + * about how the driver is configured. + */ + +#pragma once + +#include +#include + +namespace gretl { + +/** + * @brief Returns a string about the configuration of Gretl + * + * @return string containing various configuration information about Gretl + */ +std::string about(); + +/** + * @brief Returns a string for the Git SHA when the driver was built + * + * Note: This will not update unless you reconfigure CMake after a commit. + * + * @return string value of the Git SHA if built in a Git repo, empty if not + */ +std::string gitSHA(); + + +/** + * @brief Returns a string for the version of Gretl + * + * @param[in] add_SHA boolean for whether to add the Git SHA to the version if available + * + * @return string value of the version of Gretl + */ +std::string version(bool add_SHA = true); + +/** + * @brief Returns a string for the current compiler name and version + * + * @return string value of the current compiler name and version + */ +std::string compiler(); + +/** + * @brief Returns a string for the current CMake build type (e.g. Debug, Release) + * + * @return string value of the build type + */ +std::string buildType(); + + +} // namespace gretl diff --git a/src/checkpoint.hpp b/src/gretl/checkpoint.hpp similarity index 100% rename from src/checkpoint.hpp rename to src/gretl/checkpoint.hpp diff --git a/src/gretl/config.hpp.in b/src/gretl/config.hpp.in new file mode 100644 index 0000000..8688c08 --- /dev/null +++ b/src/gretl/config.hpp.in @@ -0,0 +1,31 @@ +// Copyright (c) Lawrence Livermore National Security, LLC and +// other Gretl Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +#pragma once + +// Gretl Version Information +// clang-format off +#define GRETL_VERSION_MAJOR @GRETL_VERSION_MAJOR@ +#define GRETL_VERSION_MINOR @GRETL_VERSION_MINOR@ +#define GRETL_VERSION_PATCH @GRETL_VERSION_PATCH@ +#define GRETL_VERSION_FULL "@GRETL_VERSION_FULL@" +// clang-format on +/*NOTE: Do not add GRETL_GIT_SHA here. This will force + * full rebuild on all local changes. It is added in gretl::version() + * and gretl::about(), as well as accessible from gretl::gitSha(). + */ + +// Gretl Locations +#define GRETL_REPO_DIR "@GRETL_REPO_DIR@" +#define GRETL_BINARY_DIR "@GRETL_BINARY_DIR@" + +// Compiler Information +#define GRETL_COMPILER_NAME "@CMAKE_CXX_COMPILER_ID@" +#define GRETL_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@" + +// General defines +#cmakedefine GRETL_DEBUG + diff --git a/src/create_state.hpp b/src/gretl/create_state.hpp similarity index 100% rename from src/create_state.hpp rename to src/gretl/create_state.hpp diff --git a/src/data_store.cpp b/src/gretl/data_store.cpp similarity index 100% rename from src/data_store.cpp rename to src/gretl/data_store.cpp diff --git a/src/data_store.hpp b/src/gretl/data_store.hpp similarity index 100% rename from src/data_store.hpp rename to src/gretl/data_store.hpp diff --git a/src/double_state.hpp b/src/gretl/double_state.hpp similarity index 100% rename from src/double_state.hpp rename to src/gretl/double_state.hpp diff --git a/src/gretl/git_sha.hpp.in b/src/gretl/git_sha.hpp.in new file mode 100644 index 0000000..7131b5d --- /dev/null +++ b/src/gretl/git_sha.hpp.in @@ -0,0 +1,17 @@ +// Copyright (c) Lawrence Livermore National Security, LLC and +// other Gretl Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +#pragma once + +/*NOTE: Do not include this file in anywhere other than about.cpp. + * This variable changes often and will force a full rebuild on all dependent files + * any time you git commit and re-run cmake. It is added in gretl::version() + * and gretl::about(), as well as accessible from gretl::gitSha(). + */ + +// clang-format off +#define GRETL_GIT_SHA "@GRETL_GIT_SHA@" +// clang-format on diff --git a/src/print_utils.hpp b/src/gretl/print_utils.hpp similarity index 100% rename from src/print_utils.hpp rename to src/gretl/print_utils.hpp diff --git a/src/state.hpp b/src/gretl/state.hpp similarity index 100% rename from src/state.hpp rename to src/gretl/state.hpp diff --git a/src/state_base.cpp b/src/gretl/state_base.cpp similarity index 100% rename from src/state_base.cpp rename to src/gretl/state_base.cpp diff --git a/src/state_base.hpp b/src/gretl/state_base.hpp similarity index 100% rename from src/state_base.hpp rename to src/gretl/state_base.hpp diff --git a/src/test_utils.hpp b/src/gretl/test_utils.hpp similarity index 100% rename from src/test_utils.hpp rename to src/gretl/test_utils.hpp diff --git a/src/upstream_state.hpp b/src/gretl/upstream_state.hpp similarity index 100% rename from src/upstream_state.hpp rename to src/gretl/upstream_state.hpp diff --git a/src/vector_state.cpp b/src/gretl/vector_state.cpp similarity index 100% rename from src/vector_state.cpp rename to src/gretl/vector_state.cpp diff --git a/src/vector_state.hpp b/src/gretl/vector_state.hpp similarity index 100% rename from src/vector_state.hpp rename to src/gretl/vector_state.hpp diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 0000000..92725bb --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright (c) Lawrence Livermore National Security, LLC and +# other Gretl Project Developers. See the top-level LICENSE file for +# details. +# +# SPDX-License-Identifier: (BSD-3-Clause) + +set(gretl_test_sources + test_gretl_checkpoint.cpp + test_gretl_dynamics.cpp + test_gretl_graph.cpp) + +foreach(test ${gretl_test_sources}) + get_filename_component( test_name ${test} NAME_WE ) + blt_add_executable(NAME ${test_name} + SOURCES ${test} + OUTPUT_DIR ${TEST_OUTPUT_DIRECTORY} + DEPENDS_ON gretl gtest + FOLDER gretl/tests ) + + blt_add_test(NAME ${test_name} + COMMAND ${test_name} ) +endforeach() + diff --git a/tests/test_gretl_checkpoint.cpp b/src/tests/test_gretl_checkpoint.cpp similarity index 98% rename from tests/test_gretl_checkpoint.cpp rename to src/tests/test_gretl_checkpoint.cpp index 0079cf6..eef2f10 100644 --- a/tests/test_gretl_checkpoint.cpp +++ b/src/tests/test_gretl_checkpoint.cpp @@ -8,9 +8,9 @@ #include #include #include "gtest/gtest.h" -#include "checkpoint.hpp" -#include "state.hpp" -#include "data_store.hpp" +#include "gretl/checkpoint.hpp" +#include "gretl/state.hpp" +#include "gretl/data_store.hpp" static size_t count = 0; diff --git a/tests/test_gretl_dynamics.cpp b/src/tests/test_gretl_dynamics.cpp similarity index 97% rename from tests/test_gretl_dynamics.cpp rename to src/tests/test_gretl_dynamics.cpp index cfbac3b..17dcb8a 100644 --- a/tests/test_gretl_dynamics.cpp +++ b/src/tests/test_gretl_dynamics.cpp @@ -11,10 +11,10 @@ #include #include #include "gtest/gtest.h" -#include "checkpoint.hpp" -#include "state.hpp" -#include "test_utils.hpp" -#include "vector_state.hpp" +#include "gretl/checkpoint.hpp" +#include "gretl/state.hpp" +#include "gretl/test_utils.hpp" +#include "gretl/vector_state.hpp" static constexpr size_t numParams = 4; diff --git a/tests/test_gretl_graph.cpp b/src/tests/test_gretl_graph.cpp similarity index 97% rename from tests/test_gretl_graph.cpp rename to src/tests/test_gretl_graph.cpp index d6e5035..55edfb0 100644 --- a/tests/test_gretl_graph.cpp +++ b/src/tests/test_gretl_graph.cpp @@ -8,10 +8,10 @@ #include #include #include -#include "vector_state.hpp" -#include "data_store.hpp" -#include "test_utils.hpp" #include "gtest/gtest.h" +#include "gretl/vector_state.hpp" +#include "gretl/data_store.hpp" +#include "gretl/test_utils.hpp" using gretl::print; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt deleted file mode 100644 index 6bd32b7..0000000 --- a/tests/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) Lawrence Livermore National Security, LLC and -# other Gretl Project Developers. See the top-level LICENSE file for -# details. -# -# SPDX-License-Identifier: (BSD-3-Clause) - -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz -) -# For Windows: Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -FetchContent_MakeAvailable(googletest) - -file(GLOB_RECURSE cpp_tests ${PROJECT_SOURCE_DIR}/tests/*.cpp) - -foreach(filename ${cpp_tests}) - - get_filename_component(testname ${filename} NAME_WE) - - add_executable(${testname} ${filename}) - target_link_libraries(${testname} PUBLIC ${CMAKE_PROJECT_NAME} GTest::gtest_main) - - add_test(${testname} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testname}) - -endforeach(filename ${cpp_tests}) - - From 6eac3b932c3c5c112f258c9a9f537e6d516a6c7c Mon Sep 17 00:00:00 2001 From: Chris White Date: Wed, 26 Nov 2025 14:27:59 -0800 Subject: [PATCH 3/4] fix header check --- scripts/check_for_missing_headers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/check_for_missing_headers.py b/scripts/check_for_missing_headers.py index ec8fb33..ed1f29b 100755 --- a/scripts/check_for_missing_headers.py +++ b/scripts/check_for_missing_headers.py @@ -70,8 +70,8 @@ def main(): print("============================================================") # grab headers from install and src - install_headers = get_headers_from(os.path.join(install_dir, "include", "gretl")) - src_headers = get_headers_from(os.path.join(src_dir, "gretl")) + install_headers = get_headers_from(os.path.join(install_dir, "include")) + src_headers = get_headers_from(os.path.join(src_dir)) # check if each header in src is in install as well res = 0 From 2ce717596d4cc16ba29ada669e81c8e46018db04 Mon Sep 17 00:00:00 2001 From: Chris White Date: Mon, 1 Dec 2025 15:15:06 -0800 Subject: [PATCH 4/4] style --- src/gretl/about.hpp | 2 -- src/tests/test_gretl_checkpoint.cpp | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gretl/about.hpp b/src/gretl/about.hpp index 76cf9da..46abd79 100644 --- a/src/gretl/about.hpp +++ b/src/gretl/about.hpp @@ -34,7 +34,6 @@ std::string about(); */ std::string gitSHA(); - /** * @brief Returns a string for the version of Gretl * @@ -58,5 +57,4 @@ std::string compiler(); */ std::string buildType(); - } // namespace gretl diff --git a/src/tests/test_gretl_checkpoint.cpp b/src/tests/test_gretl_checkpoint.cpp index eef2f10..94eb6b7 100644 --- a/src/tests/test_gretl_checkpoint.cpp +++ b/src/tests/test_gretl_checkpoint.cpp @@ -150,7 +150,7 @@ TEST_F(CheckpointFixture, Automated) std::vector advanceStates(N + 1); gretl::DataStore dataStore(S); - gretl::State X = dataStore.create_state(x); + gretl::State X = dataStore.create_state(x); advanceStates[0] = X.get(); for (size_t n = 0; n < N; ++n) {