From 2bdf9dccf71f8e0273eb91872d26fee1b6db2003 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 9 Dec 2025 22:33:14 -0600 Subject: [PATCH 1/3] MNT: Update cmake dependency to allow for CMake policy v4 --- pixi.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pixi.toml b/pixi.toml index ed18292e..1b6c0127 100644 --- a/pixi.toml +++ b/pixi.toml @@ -26,10 +26,10 @@ ctest --verbose --test-dir build/ [dependencies] cxx-compiler = ">=1.11.0,<2" -cmake = "<4" +cmake = ">=4.2.1,<5" make = ">=4.4.1,<5" vtk = ">=9.5.2,<10" yaml-cpp = ">=0.8.0,<0.9" metis = ">=5.2.1,<6" openmpi = ">=5.0.8,<6" -gmsh = ">=4.13.1,<5" # for tests \ No newline at end of file +gmsh = ">=4.15.0,<5" # for tests From dacd8e413227d7e28fad3267b36070c685df4f57 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 9 Dec 2025 22:33:45 -0600 Subject: [PATCH 2/3] ENH: Add 'start' and additional tasks to Pixi manifest * Separate tasks out in Pixi manifest to allow for running build, testing, and install tasks separately. Add canonical 'start' task to build and install software. Add 'test' task that will do a clean build and run ctests. * Update task name from 'build' to 'test' in README. * Remove 'rm' of build directory from 'build' task to allow for potentially skipping files that do not need to be regenerated and to give user slightly more control. --- README.md | 2 +- pixi.toml | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 198cb455..34daf291 100644 --- a/README.md +++ b/README.md @@ -332,7 +332,7 @@ export PATH="/root/.pixi/bin:$PATH" cd user/ git clone git@github.com:prashjha/PeriDEM.git cd PeriDEM/ -pixi run build +pixi run test ``` ### Future plans diff --git a/pixi.toml b/pixi.toml index 1b6c0127..0c7234dd 100644 --- a/pixi.toml +++ b/pixi.toml @@ -4,11 +4,9 @@ name = "PeriDEM" platforms = ["linux-64", "osx-arm64"] version = "v0.2.1" -# Currently can't install, only build? -# c.f. https://github.com/prashjha/PeriDEM/blob/8f73cbd12fbf8d483bb46670661f9f2641d03c37/README.md?plain=1#L264 [tasks.build] +description = "Build PeriDEM from local source" cmd = """ -rm -rf build && \ cmake -DEnable_Documentation=OFF \ -DEnable_Tests=ON \ -DEnable_High_Load_Tests=OFF \ @@ -20,10 +18,25 @@ cmake -DEnable_Documentation=OFF \ -S . \ -B build && \ cmake build -LH && \ -cmake --build build --clean-first --parallel "$(nproc --ignore=2)" && \ -ctest --verbose --test-dir build/ +cmake --build build --clean-first --parallel "$(nproc --ignore=2)" """ +[tasks.ctest] +description = "Run tests with ctest" +cmd = "ctest --verbose --test-dir ./build/" + +[tasks.install-peridem] +description = "Install PeriDEM under CMAKE_INSTALL_PREFIX defined in build" +cmd = "cmake --install build" + +[tasks.start] +description = "Build and install PeriDEM" +depends-on = ["build", "install-peridem"] + +[tasks.test] +description = "Do a clean build of PeriDEM and run ctest tests" +depends-on = ["build", "ctest"] + [dependencies] cxx-compiler = ">=1.11.0,<2" cmake = ">=4.2.1,<5" From 8d6fc46de38dc31f398f23c7754013ed50e1d840 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 9 Dec 2025 22:51:43 -0600 Subject: [PATCH 3/3] MNT: Enable Pixi 'insecure' post link scripts locally * To fully use some tools in the environment, allow for Pixi to locally execute post-link shell scripts defined by project dependencies. - c.f. https://pixi.sh/dev/reference/pixi_configuration/#run-post-link-scripts --- .pixi/config.toml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .pixi/config.toml diff --git a/.pixi/config.toml b/.pixi/config.toml new file mode 100644 index 00000000..09a78b9c --- /dev/null +++ b/.pixi/config.toml @@ -0,0 +1 @@ +run-post-link-scripts = "insecure"