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 \
>
No comments:
Post a Comment