[project] name = "ponio" version = "0.0.1" authors = ["Josselin Massot "] channels = ["conda-forge"] platforms = ["win-64", "linux-64", "osx-64", "osx-arm64"] [tasks] configure = { cmd = [ "cmake", # source ".", # generator "-G", "Ninja Multi-Config", # build directory "-B", "./build", ] } configure_test = { cmd = "cmake . -G 'Ninja Multi-Config' -B ./build -DBUILD_TESTS=ON" } configure_long_test = { cmd = "cmake . -G 'Ninja Multi-Config' -B ./build -DBUILD_TESTS=ON -DBUILD_SAMURAI_DEMOS=ON" } configure_debug = { cmd = "cmake . -G 'Ninja Multi-Config' -B ./build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -DBUILD_DEMOS=ON" } build_ninja = { cmd = "cmake --build ./build --config Release" } # don't call this rule alone build = { depends_on = ["configure", "build_ninja"] } build_test = { depends_on = ["configure_test", "build_ninja"] } build_long_test = { depends_on = ["configure_long_test", "build_ninja"] } build_debug = { cmd = "ninja -C build ponio", depends_on = ["configure_debug"] } test = { cmd = "./build/ponio/test/Release/ponio_tests", depends_on = [ "build_test", ] } long_test = { cmd = "./build/ponio/test/Release/ponio_tests", depends_on = [ "build_long_test", ] } nbval = { cmd = "pytest --nbval --nbval-current-env -p no:warnings", cwd = "./ponio/notebooks", depends_on = [ "build", ] } cppcheck = { cmd = "cppcheck --enable=all --check-level=exhaustive -q --project=./build/compile_commands.json --suppressions-list=.cppcheck --inline-suppr 2> cppcheck_err.txt", depends_on = [ "build_debug", ] } [target.win-64.tasks] configure = { cmd = "cmake . -G 'Visual Studio 17 2022' -B ./build" } configure_test = { cmd = "cmake . -G 'Visual Studio 17 2022' -B ./build -DBUILD_TESTS=ON" } configure_test_samurai = { cmd = "cmake . -G 'Visual Studio 17 2022' -B ./build -DBUILD_TESTS=ON -DBUILD_SAMURAI_DEMOS=ON" } [dependencies] notebook = ">=7.0.7,<7.1" cmake = ">=3.28.2,<3.29" scipy = ">=1.12.0,<1.13" jinja2 = ">=3.1.3,<3.2" nbval = ">=0.10.0,<0.11" pytest = ">=8.0.0,<8.1" cli11 = ">=2.3.2,<2.4" pkg-config = ">=0.29.2,<0.30" matplotlib = ">=3.8.2,<3.9" ninja = ">=1.11.1,<1.12" doctest = ">=2.4.11,<2.5" sympy = ">=1.12,<2" eigen = ">=3.4.0,<3.5" numpy = ">=1.26.3,<1.27" samurai = ">=0.16.0,<0.17" [target.linux-64.dependencies] petsc = "3.20.*" pkg-config = ">=0.29.2,<0.30" [target.osx-64.dependencies] petsc = "3.20.*" pkg-config = ">=0.29.2,<0.30" [target.osx-arm64.dependencies] petsc = "3.20.*" pkg-config = ">=0.29.2,<0.30"