Created attachment 250163 [details] git format-patch (to apply with git am) patch to fix cmake.mk's do-test: environment * the actual test run used MAKE_ENV but should use TEST_ENV * also, ctest(1) defaults to running tests serially, so add CTEST_PARALLEL_LEVEL here and set it to _MAKE_JOBS_NUMBER. NOTE: cmake 3.29 changes semantics for _MAKE_JOBS_NUMBER empty or 0. (Also note that Uses/cmake.mk advertises itself as supporting ctest... then it should deliver on that promise. Make it so.) NOTE: please DO apply with git-am and then DO amend the commit message with this PR's number.
The change makes sense to me.
I'm a bit concerned about enforcing multiple jobs by default as that doesn't seem to be common practice
That's a valid point, but if I read this right, CMake changed the default in 3.29: https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-j
Two things: 1. WITH_TESTING is opt-in (= disabled by default) 2. We shouldn't punish working ports, but let those broken ports sort their fall-out.
lgtm
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=cbee39bcd1a2472b8f3e24754f5bb3a3429b79a0 commit cbee39bcd1a2472b8f3e24754f5bb3a3429b79a0 Author: Matthias Andree <mandree@FreeBSD.org> AuthorDate: 2024-04-22 18:51:41 +0000 Commit: Matthias Andree <mandree@FreeBSD.org> CommitDate: 2024-05-03 18:44:39 +0000 Mk/Uses/cmake.mk: use proper environment in do-test * the actual test run used MAKE_ENV but should use TEST_ENV * also, ctest(1) defaults to running tests serially, so add CTEST_PARALLEL_LEVEL here and set it to _MAKE_JOBS_NUMBER. NOTE: cmake 3.29 changes semantics for _MAKE_JOBS_NUMBER empty or 0. This was developed together with diizzy@ as a result of analysing performance regressions from PR 278500. PR: 278533 Approved by: portmgr@ (tcberner@) Mk/Uses/cmake.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)