On Thu, Sep 01, 2022 at 09:25:56PM +0200, Rafael Sadowski wrote: > During g2k22 I looked at cmake.port.mk. The following change includes 3 > main parts: > > - Use cmake(1) and ctest(1) > > cmake(1) controls the build and install task/jobs. This is the way > CMake prefers and it works very well for us. Full bulk build passed! > Victims already fixed. > > - USE_NINJA > Is no longer necessary but still optional (requested by sthen@). This diff > removes all usage. Expect www/h2o (see at ports@) This is possible because > of > the use of cmake(1). > > - verbose > > IMHO It helps use to see easier what's going wrong and show up if other > languages are calling. Example below.
OK kn > > Before: > > ===> Regression tests for cmark-0.30.2p0 > Test project /usr/ports/pobj/cmark-0.30.2/build-amd64 > Start 1: api_test > 1/9 Test #1: api_test ......................... Passed 0.01 sec > Start 2: html_normalization > 2/9 Test #2: html_normalization ............... Passed 0.16 sec > Start 3: spectest_library > > With the new option: > > ===> Regression tests for cmark-0.30.2p0 > UpdateCTestConfiguration from > :/usr/ports/pobj/cmark-0.30.2/build-amd64/DartConfiguration.tcl > > 21:09:28 [17/151] > Test project /usr/ports/pobj/cmark-0.30.2/build-amd64 > Constructing a list of tests > Done constructing a list of tests > Updating test list for fixtures > Added 0 tests to meet fixture requirements > Checking test dependency graph... > Checking test dependency graph end > test 1 > Start 1: api_test > > 1: Test command: /usr/ports/pobj/cmark-0.30.2/build-amd64/api_test/api_test > 1: Working Directory: /usr/ports/pobj/cmark-0.30.2/build-amd64/testdir > 1: Test timeout computed to be: 10000000 > 1: 539 tests passed, 0 failed, 0 skipped > 1: PASS > 1/9 Test #1: api_test ......................... Passed 0.01 sec > test 2 > Start 2: html_normalization > > 2: Test command: /usr/local/bin/python3.9 "-m" "doctest" > "/usr/ports/pobj/cmark-0.30.2/cmark-0.30.2/test/normalize.py" > 2: Working Directory: /usr/ports/pobj/cmark-0.30.2/build-amd64/testdir > 2: Test timeout computed to be: 10000000 > 2/9 Test #2: html_normalization ............... Passed 0.16 sec > > This diff has survived a full bulk build. (THANKS tb@) Victims already fixed > and I got an OK from tb@ > > Thoughts, other OKs? > > Rafael > > Index: devel/cmake/cmake.port.mk > =================================================================== > RCS file: /cvs/ports/devel/cmake/cmake.port.mk,v > retrieving revision 1.75 > diff -u -p -r1.75 cmake.port.mk > --- devel/cmake/cmake.port.mk 6 Jun 2022 09:31:51 -0000 1.75 > +++ devel/cmake/cmake.port.mk 1 Sep 2022 18:56:54 -0000 > @@ -16,26 +16,22 @@ MAKE_ENV += MODCMAKE_USE_SHARED_LIBS=yes > USE_NINJA ?= Yes > > .if ${USE_NINJA:L} == "yes" > -BUILD_DEPENDS += devel/ninja>=1.5.1 > -NINJA ?= ninja > -NINJA_FLAGS ?= -v -j ${MAKE_JOBS} > +BUILD_DEPENDS += devel/ninja > .elif ${USE_NINJA:L} == "samurai" > BUILD_DEPENDS += devel/samurai > -NINJA ?= samu > -NINJA_FLAGS ?= -v -j ${MAKE_JOBS} > -CONFIGURE_ARGS += -DCMAKE_MAKE_PROGRAM=${NINJA} > +CONFIGURE_ARGS += -DCMAKE_MAKE_PROGRAM=samu > .endif > > .if ${USE_NINJA:L} == "yes" || ${USE_NINJA:L} == "samurai" > _MODCMAKE_GEN = Ninja > MODCMAKE_BUILD_TARGET = cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \ > - ${NINJA} ${NINJA_FLAGS} ${ALL_TARGET} > + cmake --build ${WRKBUILD} ${_MAKE_VERBOSE} -j ${MAKE_JOBS} > > MODCMAKE_INSTALL_TARGET = cd ${WRKBUILD} && exec ${SETENV} ${MAKE_ENV} \ > - ${FAKE_SETUP} ${NINJA} ${NINJA_FLAGS} ${FAKE_TARGET} > + ${FAKE_SETUP} cmake --install ${WRKBUILD} > > MODCMAKE_TEST_TARGET = cd ${WRKBUILD} && exec ${SETENV} ${ALL_TEST_ENV} \ > - ${NINJA} ${NINJA_FLAGS} ${TEST_FLAGS} ${TEST_TARGET} > + ctest ${_MAKE_VERBOSE} -j ${MAKE_JOBS} > > .if !target(do-build) > do-build: > @@ -99,7 +95,6 @@ CONFIGURE_ENV += MODTK_VERSION=${MODTK_V > MODTK_LIB=${MODTK_LIB} > .endif > > - > .if ! empty(MODCMAKE_LDFLAGS) > # https://cmake.org/cmake/help/latest/envvar/LDFLAGS.html > # Will only be used by CMake on the first configuration to determine the > @@ -120,9 +115,12 @@ MODCMAKE_configure = cd ${WRKBUILD} && $ > CC="${CC}" CFLAGS="${CFLAGS}" \ > CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \ > ${CONFIGURE_ENV} ${LOCALBASE}/bin/cmake \ > + -B ${WRKBUILD} \ > + -S ${WRKSRC} \ > + -G ${_MODCMAKE_GEN} \ > -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON \ > -DCMAKE_SUPPRESS_REGENERATION=ON \ > - -G ${_MODCMAKE_GEN} ${CONFIGURE_ARGS} ${WRKSRC} > + ${CONFIGURE_ARGS} > > .if !defined(CONFIGURE_ARGS) || ! ${CONFIGURE_ARGS:M*CMAKE_BUILD_TYPE*} > . if ${MODCMAKE_DEBUG:L} == "yes" > @@ -137,11 +135,6 @@ SUBST_VARS += MODCMAKE_BUILD_SUFFIX > > SEPARATE_BUILD ?= Yes > > -TEST_TARGET ?= test > - > -MODCMAKE_WANTCOLOR ?= No > -MODCMAKE_VERBOSE ?= Yes > - > # https://cmake.org/cmake/help/latest/command/enable_language.html > # 3.23: Swift OBJCXX OBJC ISPC HIP Fortran CXX CUDA C > _CMAKE_PROCESSING_LANGUAGE = ASM OBJCXX OBJC Fortran CXX C > @@ -163,10 +156,14 @@ CONFIGURE_ARGS := -DCMAKE_ADDR2LINE:FILE > CONFIGURE_ENV += MODCMAKE_PORT_BUILD=yes > MAKE_ENV += MODCMAKE_PORT_BUILD=yes > > +MODCMAKE_WANTCOLOR ?= No > + > .if ${MODCMAKE_WANTCOLOR:L} == "yes" && defined(TERM) > MAKE_ENV += TERM=${TERM} > .endif > > +MODCMAKE_VERBOSE ?= Yes > + > .if ${MODCMAKE_VERBOSE:L} == "yes" > -MAKE_ENV += VERBOSE=1 > +_MAKE_VERBOSE = --verbose > .endif > Index: games/openclonk/Makefile > =================================================================== > RCS file: /cvs/ports/games/openclonk/Makefile,v > retrieving revision 1.13 > diff -u -p -r1.13 Makefile > --- games/openclonk/Makefile 28 May 2022 06:20:00 -0000 1.13 > +++ games/openclonk/Makefile 1 Sep 2022 18:56:54 -0000 > @@ -49,9 +49,6 @@ CONFIGURE_ARGS += -DFREETYPE_INCLUDE_DIR > CXXFLAGS += -I${LOCALBASE}/include -I${X11BASE}/include > MODCMAKE_LDFLAGS = -L${LOCALBASE}/lib > > -# Random, intermittent failures with Ninja during fake. > -USE_NINJA = No > - > NO_TEST = Yes > > WRKDIST = ${WRKDIR}/openclonk-release-${V}-src > Index: math/mlpack/Makefile > =================================================================== > RCS file: /cvs/ports/math/mlpack/Makefile,v > retrieving revision 1.22 > diff -u -p -r1.22 Makefile > --- math/mlpack/Makefile 31 Mar 2022 17:16:30 -0000 1.22 > +++ math/mlpack/Makefile 1 Sep 2022 18:56:54 -0000 > @@ -89,9 +89,6 @@ CONFIGURE_ARGS += -DCMAKE_DISABLE_FIND_ > -DBUILD_PYTHON_BINDINGS=ON \ > -DCMAKE_INSTALL_MANDIR=${PREFIX}/man/man1 > > -# naddy reported a burp > -USE_NINJA = No > - > # XXX note that some of the tests WILL fail. You've got to love probabilistic > # software... > TEST_ENV = CTEST_OUTPUT_ON_FAILURE=1 > Index: math/plplot/Makefile > =================================================================== > RCS file: /cvs/ports/math/plplot/Makefile,v > retrieving revision 1.71 > diff -u -p -r1.71 Makefile > --- math/plplot/Makefile 26 Apr 2022 14:48:53 -0000 1.71 > +++ math/plplot/Makefile 1 Sep 2022 18:56:54 -0000 > @@ -38,9 +38,6 @@ myRUN_DEPENDS = print/ghostscript/gnu-fo > > MODULES += devel/cmake > > -# Until the cmake ninja generator supports fortran > -USE_NINJA = No > - > CONFIGURE_ARGS = -D ENABLE_ada=OFF \ > -D ENABLE_cxx=ON \ > -D ENABLE_d=OFF \ >