https://github.com/feelpp/feelpp
Raw File
Tip revision: af95ebee56ded70cd0f5594605be893a585e6b3d authored by Christophe Prud'homme on 29 March 2024, 12:12:36 UTC
Update pkg.yml
Tip revision: af95ebe
CMakePresets.json
{
    "version": 3,
    "cmakeMinimumRequired": {
        "major": 3,
        "minor": 21,
        "patch": 0
    },
    "configurePresets": [
        {
            "name": "default",
            "displayName": "Default Config",
            "description": "Default build using Makefile generator",
            "generator": "Unix Makefiles",
            "binaryDir": "${sourceDir}/build/${presetName}$env{DISTRIBUTION}$env{ARCH}",
            "cacheVariables": {
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/install/${presetName}$env{DISTRIBUTION}$env{ARCH}",
                "CMAKE_CXX_COMPILER": "clang++",
                "CMAKE_C_COMPILER": "clang",
                "FEELPP_STD_CPP": "17",
                "FEELPP_ENABLE_TOOLBOXES": "ON",
                "FEELPP_ENABLE_MOR": "ON",
                "FEELPP_ENABLE_FEELPP_PYTHON": "ON",
                "FEELPP_ENABLE_FMILIB": "OFF",
                "FEELPP_ENABLE_BENCHMARKS": "ON",
                "FEELPP_USE_EXTERNAL_EIGEN3": "OFF",
                "CMAKE_EXPORT_COMPILE_COMMANDS": "TRUE"
            },
            "environment": {
                "LDFLAGS": "-Wl,--copy-dt-needed-entries",
                "NINJA_STATUS": "[run %r|beg %s|fin %f|tot %t|rate %o|time %e]:"
            },
            "vendor": {
                "example.com/ExampleIDE/1.0": {
                    "autoFormat": true
                }
            }
        },
        {
            "name": "warnings",
            "hidden": true,
            "description": "Enable compiler warnings on linux and osx",
            "cacheVariables": {
                "CMAKE_CXX_FLAGS": "-Wall -Wextra -Wpedantic -Wconversion -Wunused",
                "CMAKE_C_FLAGS": "-Wall -Wextra -Wpedantic -Wconversion -Wunused"
            }
        },
        {
            "name": "usrlocal",
            "hidden": true,
            "description": "Install in /usr/local",
            "cacheVariables": {
                "CMAKE_INSTALL_PREFIX": "/usr/local"
            }
        },
        {
            "name": "cpp20",
            "hidden": true,
            "description": "Enable compiler C++20",
            "cacheVariables": {
                "FEELPP_STD_CPP": "20"
            }
        },
        {
            "name": "cpp23",
            "hidden": true,
            "description": "Enable compiler C++23",
            "cacheVariables": {
                "FEELPP_STD_CPP": "23"
            }
        },
        {
            "name": "release",
            "hidden": false,
            "displayName": "Release|no package manager",
            "description": "Plain release build without dependency handling.",
            "inherits": [
                "default"
            ],
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release"
            }
        },
        {
            "name": "debug",
            "hidden": false,
            "displayName": "Debug|no package manager",
            "description": "Plain debug build without dependency handling.",
            "inherits": [
                "default"
            ],
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "CMAKE_VERBOSE_MAKEFILE": "TRUE",
                "CMAKE_MESSAGE_LOG_LEVEL": "VERBOSE",
                "H5PP_ENABLE_TESTS": "TRUE",
                "H5PP_BUILD_EXAMPLES": "TRUE",
                "H5PP_ENABLE_ASAN": "TRUE",
                "H5PP_ENABLE_PCH": "FALSE",
                "H5PP_ENABLE_CCACHE": "FALSE",
                "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "FALSE",
                "CMAKE_COMPILE_WARNING_AS_ERROR": "FALSE"
            },
            "environment": {
                "VERBOSE": "1"
            }
        },
        {
            "name": "gcc",
            "hidden": true,
            "cacheVariables": {
                "CMAKE_C_COMPILER": "gcc",
                "CMAKE_CXX_COMPILER": "g++"
            }
        },
        {
            "name": "clang",
            "hidden": true,
            "cacheVariables": {
                "CMAKE_C_COMPILER": "clang",
                "CMAKE_CXX_COMPILER": "clang++"
            }
        },
        {
            "name": "release-cmake",
            "displayName": "Release|cmake package manager",
            "description": "Uses a custom wrapper for external_project_add at CMake configure time",
            "inherits": [
                "release",
                "default"
            ]
        },
        {
            "name": "release-cpp20-cmake",
            "displayName": "Release|c++20|cmake package manager",
            "description": "Uses a custom wrapper for external_project_add at CMake configure time",
            "inherits": [
                "release",
                "cpp20",
                "default"
            ]
        },
        {
            "name": "release-cpp23-cmake",
            "displayName": "Release|c++23|cmake package manager",
            "description": "Uses a custom wrapper for external_project_add at CMake configure time",
            "inherits": [
                "release",
                "cpp23",
                "default"
            ]
        },
        {
            "name": "release-gcc-cmake",
            "displayName": "Release|gcc|cmake package manager",
            "inherits": [
                "gcc",
                "release-cmake"
            ]
        },
        {
            "name": "release-clang-cmake",
            "displayName": "Release|clang|cmake package manager",
            "inherits": [
                "clang",
                "release-cmake"
            ]
        },
        {
            "name": "release-gcc-cpp20-cmake",
            "displayName": "Release|gcc|c++20|cmake package manager",
            "inherits": [
                "gcc",
                "cpp20",
                "release-cmake"
            ]
        },
        {
            "name": "release-clang-cpp20-cmake",
            "displayName": "Release|clang|c++20|cmake package manager",
            "inherits": [
                "clang",
                "cpp20",
                "release-cmake"
            ]
        },
        {
            "name": "release-gcc-cpp23-cmake",
            "displayName": "Release|gcc|c++23|cmake package manager",
            "inherits": [
                "gcc",
                "cpp23",
                "release-cmake"
            ]
        },
        {
            "name": "release-clang-cpp23-cmake",
            "displayName": "Release|clang|c++23|cmake package manager",
            "inherits": [
                "clang",
                "cpp23",
                "release-cmake"
            ]
        },
        {
            "name": "debug-cmake",
            "displayName": "Debug|cmake package manager",
            "description": "Uses a custom wrapper for external_project_add at CMake configure time",
            "inherits": [
                "debug",
                "default"
            ]
        },
        {
            "name": "debug-gcc-cmake",
            "displayName": "Debug|gcc|cmake package manager",
            "inherits": [
                "gcc",
                "debug-cmake"
            ]
        },
        {
            "name": "debug-clang-cmake",
            "displayName": "Debug|clang|cmake package manager",
            "inherits": [
                "clang",
                "debug-cmake"
            ]
        },
        {
            "name": "dbg",
            "displayName": "Debug Config",
            "description": "Debug build using Makefile generator",
            "generator": "Unix Makefiles",
            "binaryDir": "${sourceDir}/build/dbg",
            "cacheVariables": {
                "CMAKE_CXX_COMPILER": "clang++",
                "CMAKE_BUILD_TYPE": "Debug",
                "FEELPP_ENABLE_TOOLBOXES": {
                    "type": "BOOL",
                    "value": "OFF"
                },
                "FEELPP_ENABLE_MOR": "OFF"
            },
            "environment": {
                "MY_ENVIRONMENT_VARIABLE": "Test"
            },
            "vendor": {
                "example.com/ExampleIDE/1.0": {
                    "autoFormat": true
                }
            }
        },
        {
            "name": "feelpp",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "feelpp|clang|release|cmake package manager",
            "description": "Build only the Feel++ library Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "feelpp",
                "FEELPP_ENABLE_MOR": "OFF",
                "FEELPP_ENABLE_TOOLBOXES": "OFF",
                "FEELPP_ENABLE_FEELPP_PYTHON": "OFF",
                "FEELPP_ENABLE_TESTS": "OFF",
                "FEELPP_ENABLE_FMILIB": "OFF",
                "FEELPP_ENABLE_BENCHMARKS": "OFF"
            }
        },
        {
            "name": "feelpp-usrlocal",
            "inherits": [
                "usrlocal",
                "feelpp"
            ],
            "displayName": "feelpp|usrlocal|clang|release|cmake package manager",
            "description": "Build only the Feel++ library Component and install in /usr/local"
        },
        {
            "name": "feelpp+specx",
            "inherits": "default",
            "displayName": "feelpp+specx",
            "description": "Build only the Feel++ library Component with specx runtime",
            "generator": "Unix Makefiles",
            "binaryDir": "${sourceDir}/build/feelpp+specx",
            "cacheVariables": {
                "FEELPP_COMPONENT": "feelpp",
                "FEELPP_ENABLE_MOR": "OFF",
                "FEELPP_ENABLE_TOOLBOXES": "OFF",
                "FEELPP_ENABLE_FEELPP_PYTHON": "OFF",
                "FEELPP_ENABLE_TESTS": "OFF",
                "FEELPP_ENABLE_FMILIB": "OFF",
                "FEELPP_ENABLE_BENCHMARKS": "ON",
                "FEELPP_ENABLE_SPECX": "ON"
            }
        },
        {
            "name": "toolboxes",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "toolboxes|clang|release|cmake package manager",
            "description": "Build only the Feel++ Toolboxes Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "toolboxes"
            }
        },
        {
            "name": "mor",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "mor|clang|release|cmake package manager",
            "description": "Build only the Feel++ MOR Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "mor",
                "FEELPP_ENABLE_RESEARCH": "OFF",
                "FEELPP_ENABLE_OPENTURNS": "ON"
            }
        },
        {
            "name": "mor-dbg",
            "inherits": "mor",
            "displayName": "mor-dbg",
            "description": "Build only the Feel++ MOR Component in Debug",
            "binaryDir": "${sourceDir}/build/mor-dbg",
            "cacheVariables": {
                "CMAKE_CXX_FLAGS_DEBUG": "-g -O0",
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/mor-dbg/install/",
                "FEELPP_COMPONENT": "mor",
                "FEELPP_ENABLE_RESEARCH": "OFF",
                "CMAKE_BUILD_TYPE": "Debug",
                "FEELPP_ENABLE_OPENTURNS": "ON",
                "CMAKE_VERBOSE_MAKEFILE": "OFF"
            }
        },
        {
            "name": "research-mor",
            "inherits": "default",
            "displayName": "resarch-mor",
            "description": "Build only the Feel++ MOR and Research Components",
            "binaryDir": "${sourceDir}/build/research-mor",
            "cacheVariables": {
                "FEELPP_COMPONENT": "mor",
                "FEELPP_ENABLE_RESEARCH": "ON"
            }
        },
        {
            "name": "feelpp-python",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "python|clang|release|cmake package manager",
            "description": "Build only the Feel++ python Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "python"
            }
        },
        {
            "name": "python",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "python|clang|release|cmake package manager",
            "description": "Build only the Feel++ python Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "python"
            }
        },
        {
            "name": "feelpp-python-dbg",
            "inherits": "default",
            "displayName": "feelpp-python-dbg",
            "description": "Build only the Feel++ python Component in Debug mode",
            "binaryDir": "${sourceDir}/build/python-dbg",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "FEELPP_COMPONENT": "python"
            }
        },
        {
            "name": "mor_python",
            "inherits": [
                "mor",
                "python"
            ],
            "displayName": "mor_python|clang|release|cmake package manager",            
            "description": "Build the Feel++ MOR and Python Components",
            "cacheVariables": {
                "FEELPP_COMPONENT": "mor;python"
            }
        },
        {
            "name": "testsuite",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "testsuite|clang|release|cmake package manager",
            "description": "Build only the Feel++ Testsuite library Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "testsuite"
            }
        },
        {
            "name": "testsuite-install",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "testsuite|clang|release|cmake package manager",            
            "description": "Build only the Feel++ testsuite Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "testsuite"
            }
        },
        {
            "name": "benchmarks",
            "inherits": [
                "clang",
                "release-cmake"
            ],
            "displayName": "benchmarks|clang|release|cmake package manager",            
            "description": "Build only the Feel++ benchmarks Component",
            "cacheVariables": {
                "FEELPP_COMPONENT": "benchmarks"
            }
        },
        {
            "name": "windows-only",
            "inherits": "default",
            "displayName": "Windows-only configuration",
            "description": "This build is only available on Windows",
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            }
        },
        {
            "name": "macos-homebrew",
            "inherits": "default",
            "displayName": "MacOS configuration using Homebrew",
            "description": "This build is only available on MacOS",
            "binaryDir": "${sourceDir}/build/macos-homebrew",
            "cacheVariables": {
                "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/macos-homebrew/install/",
                "CMAKE_CXX_COMPILER": "/opt/homebrew/opt/llvm/bin/clang++",
                "CMAKE_C_COMPILER": "/opt/homebrew/opt/llvm/bin/clang",
                "FEELPP_STD_CPP": "20",
                "CMAKE_CXX_FLAGS": "-D_HAS_AUTO_PTR_ETC=0"
            }
        },
        {
            "name": "doxygen",
            "inherits": "default",
            "displayName": "doxygen",
            "description": "Build Feel++ doxygen documentation",
            "cacheVariables": {
                "FEELPP_ENABLE_DOXYGEN": "ON"
            }
        }
    ],
    "buildPresets": [
        {
            "name": "default",
            "configurePreset": "default",
            "jobs": 25
        },
        {
            "name": "release",
            "configurePreset": "release",
            "inherits": "default"
        },
        {
            "name": "release-cmake",
            "configurePreset": "release-cmake",
            "inherits": "release"
        },
        {
            "name": "release-gcc-cmake",
            "configurePreset": "release-gcc-cmake",
            "inherits": "release"
        },
        {
            "name": "release-clang-cmake",
            "configurePreset": "release-clang-cmake",
            "inherits": "release"
        },
        {
            "name": "release-gcc-cpp20-cmake",
            "configurePreset": "release-gcc-cpp20-cmake",
            "inherits": "release"
        },
        {
            "name": "release-clang-cpp20-cmake",
            "configurePreset": "release-clang-cpp20-cmake",
            "inherits": "release"
        },
        {
            "name": "debug",
            "configurePreset": "debug",
            "inherits": "default"
        },
        {
            "name": "debug-clang-cmake",
            "configurePreset": "debug-clang-cmake",
            "inherits": "debug"
        },
        {
            "name": "dbg",
            "configurePreset": "dbg",
            "jobs": 10,
            "targets": [
                "feelpp",
                "pyfeelpp",
                "install"
            ]
        },
        {
            "name": "macos-homebrew",
            "configurePreset": "macos-homebrew",
            "jobs": 2
        },
        {
            "name": "feelpp",
            "configurePreset": "feelpp",
            "inherits": "default",
            "targets": [
                "all",
                "install"
            ]
        },
        {
            "name": "feelpp-usrlocal",
            "configurePreset": "feelpp-usrlocal",
            "inherits": "default",
            "targets": [
                "all",
                "install"
            ]
        },
        {
            "name": "toolboxes",
            "inherits": "default",
            "configurePreset": "toolboxes",
            "targets": [
                "all",
                "install"
            ]
        },
        {
            "name": "mor",
            "inherits": "default",
            "configurePreset": "mor"
        },
        {
            "name": "mor-dbg",
            "inherits": "default",
            "configurePreset": "mor-dbg",
            "configuration": "Debug"
        },
        {
            "name": "feelpp-python",
            "inherits": "default",
            "configurePreset": "feelpp-python"
        },
        {
            "name": "python",
            "inherits": "default",
            "configurePreset": "python"
        },
        {
            "name": "feelpp-python-dbg",
            "inherits": "default",
            "configurePreset": "feelpp-python-dbg",
            "targets": [
                "all",
                "install"
            ]
        },
        {
            "name": "mor_python",
            "inherits": "default",
            "configurePreset": "mor_python"
        },
        {
            "name": "testsuite",
            "configurePreset": "testsuite",
            "inherits": "default",
            "targets": [
                "all"
            ]
        },
        {
            "name": "doxygen",
            "configurePreset": "doxygen",
            "targets": ["doxygen"]
        }
    ],
    "testPresets": [
        {
            "name": "default",
            "configurePreset": "default",
            "filter":{
                "include":{
                    "name":"feelpp"
                }
            },
            "output": {
                "outputOnFailure": true
            },
            "execution": {
                "jobs":2,
                "noTestsAction": "error",
                "stopOnFailure": false,
                "repeat": {
                    "mode": "until-pass",
                    "count": 3
                }
            }
        },
        {
            "name": "release",
            "configurePreset": "release",
            "configuration": "Release",
            "inherits": "default"
        },
        {
            "name": "debug",
            "configurePreset": "debug",
            "configuration": "Debug",
            "inherits": "default"
        },
        {
            "name": "release-cmake",
            "configurePreset": "release-cmake",
            "configuration": "Release",
            "inherits": "default"
        },
        {
            "name": "release-clang-cmake",
            "configurePreset": "release-clang-cmake",
            "configuration": "Release",
            "inherits": "default"
        },
        {
            "name": "release-clang-cpp20-cmake",
            "configurePreset": "release-clang-cpp20-cmake",
            "configuration": "Release",
            "inherits": ["default"]
        },
        {
            "name": "release-gcc-cpp20-cmake",
            "configurePreset": "release-gcc-cpp20-cmake",
            "configuration": "Release",
            "inherits": ["default"]
        },
        {
            "name": "feelpp",
            "configurePreset": "feelpp",
            "inherits":"default",
            "execution": {
                "timeout": 80
            }
        },
        {
            "name": "toolboxes",
            "configurePreset": "toolboxes",
            "inherits": "feelpp",
            "execution": {
                "timeout": 460
            }
        },
        {
            "name": "mor",
            "configurePreset": "mor",
            "inherits": "feelpp",
            "execution": {
                "timeout": 240
            }
        },
        {
            "name": "feelpp-python",
            "configurePreset": "feelpp-python",
            "inherits": "feelpp",
            "execution": {
                "timeout": 600
            }
        },
        {
            "name": "mor_python",
            "configurePreset": "mor_python",
            "inherits": "feelpp"
        },
        {
            "name": "testsuite",
            "configurePreset": "testsuite",
            "inherits": "feelpp"
        }
    ],
    "vendor": {
        "example.com/ExampleIDE/1.0": {
            "autoFormat": false
        }
    }
}
back to top