06.02.2023 14:16, Klemens Nanni пишет:
> (Improved parts of backed out "devel/cmake: handle build and install targets"
>  which broke the install target as ALL_TARGET and INSTALL_TARGET are handled
>  differently, see port-modules(5).)
> 
> 
> Honour ALL_TARGET in cmake.port.mk and use it if and only if it has been set
> explicitly.   This already worked in the first diff.
> 
> This time, do not append to MODCMAKE_BUILD_TARGET and instead pass it in
> do-build conditionally.
> 
> Then CMAKE_* variables don't change and ports can keep reusing them, which is
> currently done so in a few pre-test targets to build tests
> 
> Custom do-build targets can be dropped, in one commit or separately makes no
> difference as cmake.port.mk only changes behaviour if do-build is undefined.
> Either way, the resulting do-build contents are identical in all cases.
> 
> Next up, we can automate deferred test compilation and get rid of those
> `@${MODCMAKE_BUILD_TARGET}' lines in pre-test, too.
> 
> Feedback? Objection? OK?
> 
> (cmake first, then the same - hunk in all ports with the same do-build 
> target.)

Ping.

Can someone try this in a bulk for me, please?


Index: devel/cmake/cmake.port.mk
===================================================================
RCS file: /cvs/ports/devel/cmake/cmake.port.mk,v
retrieving revision 1.82
diff -u -p -r1.82 cmake.port.mk
--- devel/cmake/cmake.port.mk   28 Jan 2023 22:03:46 -0000      1.82
+++ devel/cmake/cmake.port.mk   6 Feb 2023 13:36:05 -0000
@@ -33,9 +33,20 @@ MODCMAKE_INSTALL_TARGET = cd ${WRKBUILD}
 MODCMAKE_TEST_TARGET = cd ${WRKBUILD} && exec ${SETENV} ${ALL_TEST_ENV} \
        ctest ${_MAKE_VERBOSE} -j ${MAKE_JOBS}
 
+# Default targets are only known after configure, see cmake-buildsystem(7) and
+# cmake-properties(7) BUILDSYSTEM_TARGETS.
+# Overrule bsd.port.mk defaults.
+ALL_TARGET ?= # empty
+
+# Only pass explicitly set targets.
+# Do not quote, cmake(1) -t takes multiple target arguments.
 .if !target(do-build)
 do-build:
+.  if empty(ALL_TARGET)
        @${MODCMAKE_BUILD_TARGET}
+.  else
+       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
+.  endif
 .endif
 
 .if !target(do-install)
Index: audio/mumble/Makefile
===================================================================
RCS file: /cvs/ports/audio/mumble/Makefile,v
retrieving revision 1.71
diff -u -p -r1.71 Makefile
--- audio/mumble/Makefile       2 Feb 2023 23:58:01 -0000       1.71
+++ audio/mumble/Makefile       6 Feb 2023 13:29:39 -0000
@@ -99,9 +99,6 @@ ALL_TARGET =                  mumble mumble-server
 pre-configure:
        ${SUBST_CMD} ${SERVER_CONFIG_FILE}
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 63 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: audio/taglib/Makefile
===================================================================
RCS file: /cvs/ports/audio/taglib/Makefile,v
retrieving revision 1.50
diff -u -p -r1.50 Makefile
--- audio/taglib/Makefile       2 Feb 2023 23:19:13 -0000       1.50
+++ audio/taglib/Makefile       6 Feb 2023 13:33:24 -0000
@@ -29,9 +29,6 @@ TEST_TARGET=  check
 # evertyhing except tests
 ALL_TARGET=    tag tag_c
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 40 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/abseil-cpp/Makefile
===================================================================
RCS file: /cvs/ports/devel/abseil-cpp/Makefile,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile
--- devel/abseil-cpp/Makefile   4 Feb 2023 17:37:58 -0000       1.12
+++ devel/abseil-cpp/Makefile   6 Feb 2023 13:33:37 -0000
@@ -79,9 +79,6 @@ TEST_ENV +=           TEST_TMPDIR=${WRKBUILD}/tes
                        LD_LIBRARY_PATH=/usr/lib:${WRKBUILD}/test_lib
 .endif
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 400 test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/ccache/Makefile
===================================================================
RCS file: /cvs/ports/devel/ccache/Makefile,v
retrieving revision 1.87
diff -u -p -r1.87 Makefile
--- devel/ccache/Makefile       2 Feb 2023 22:54:55 -0000       1.87
+++ devel/ccache/Makefile       6 Feb 2023 13:33:51 -0000
@@ -35,9 +35,6 @@ TEST_ENV =            CC="${CC}"
 # evertyhing except tests
 ALL_TARGET =           ccache doc
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 35 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/cjson/Makefile
===================================================================
RCS file: /cvs/ports/devel/cjson/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- devel/cjson/Makefile        3 Feb 2023 02:09:38 -0000       1.3
+++ devel/cjson/Makefile        6 Feb 2023 13:33:44 -0000
@@ -23,9 +23,6 @@ MODULES =     devel/cmake
 # evertyhing except tests
 ALL_TARGET =   cjson
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 43 C test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/cmocka/Makefile
===================================================================
RCS file: /cvs/ports/devel/cmocka/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- devel/cmocka/Makefile       3 Feb 2023 00:34:20 -0000       1.16
+++ devel/cmocka/Makefile       6 Feb 2023 13:34:24 -0000
@@ -23,9 +23,6 @@ CONFIGURE_ARGS +=     -DUNIT_TESTING=ON
 # evertyhing except tests
 ALL_TARGET =           cmocka
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 64 C test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/cpputest/Makefile
===================================================================
RCS file: /cvs/ports/devel/cpputest/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- devel/cpputest/Makefile     3 Feb 2023 00:55:49 -0000       1.5
+++ devel/cpputest/Makefile     6 Feb 2023 13:34:28 -0000
@@ -28,9 +28,6 @@ CONFIGURE_ARGS +=     -DMEMORY_LEAK_DETECTIO
 # evertyhing except tests
 ALL_TARGET =           CppUTest CppUTestExt
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 61 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/flatbuffers/Makefile
===================================================================
RCS file: /cvs/ports/devel/flatbuffers/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- devel/flatbuffers/Makefile  3 Feb 2023 01:31:33 -0000       1.5
+++ devel/flatbuffers/Makefile  6 Feb 2023 13:34:31 -0000
@@ -27,9 +27,6 @@ CONFIGURE_ARGS=       -DFLATBUFFERS_BUILD_SHAR
 # evertyhing except tests
 ALL_TARGET =   flatbuffers_shared flatc
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 40 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/gflags/Makefile
===================================================================
RCS file: /cvs/ports/devel/gflags/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- devel/gflags/Makefile       3 Feb 2023 02:05:04 -0000       1.22
+++ devel/gflags/Makefile       6 Feb 2023 13:34:35 -0000
@@ -28,9 +28,6 @@ CONFIGURE_ARGS +=     -DBUILD_SHARED_LIBS=ON
 # evertyhing except tests
 ALL_TARGET =           ${SHARED_LIBS:Mgflags*}
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 11 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/glog/Makefile
===================================================================
RCS file: /cvs/ports/devel/glog/Makefile,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile
--- devel/glog/Makefile 3 Feb 2023 00:33:27 -0000       1.22
+++ devel/glog/Makefile 6 Feb 2023 13:29:25 -0000
@@ -25,9 +25,6 @@ CONFIGURE_ARGS +=     -DBUILD_SHARED_LIBS=ON
 # evertyhing except tests
 ALL_TARGET =           glog
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 10 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/gtest/Makefile
===================================================================
RCS file: /cvs/ports/devel/gtest/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- devel/gtest/Makefile        3 Feb 2023 02:00:32 -0000       1.29
+++ devel/gtest/Makefile        6 Feb 2023 13:34:48 -0000
@@ -44,9 +44,6 @@ CONFIGURE_ARGS +=     -DCMAKE_CXX_STANDARD=1
 # evertyhing except tests
 ALL_TARGET =           gmock gmock_main gtest gtest_main
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 102 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/json-c/Makefile
===================================================================
RCS file: /cvs/ports/devel/json-c/Makefile,v
retrieving revision 1.25
diff -u -p -r1.25 Makefile
--- devel/json-c/Makefile       3 Feb 2023 01:55:10 -0000       1.25
+++ devel/json-c/Makefile       6 Feb 2023 13:34:52 -0000
@@ -19,9 +19,6 @@ CONFIGURE_ARGS=               -DDISABLE_WERROR=ON
 # evertyhing except tests
 ALL_TARGET =           json-c json-c-static
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 56 C test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/libcrossguid/Makefile
===================================================================
RCS file: /cvs/ports/devel/libcrossguid/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- devel/libcrossguid/Makefile 3 Feb 2023 02:14:37 -0000       1.2
+++ devel/libcrossguid/Makefile 6 Feb 2023 13:35:19 -0000
@@ -25,9 +25,6 @@ CONFIGURE_ARGS+=-DBUILD_SHARED_LIBS=On
 # evertyhing except tests
 ALL_TARGET =           crossguid
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 3 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/libdispatch/Makefile
===================================================================
RCS file: /cvs/ports/devel/libdispatch/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- devel/libdispatch/Makefile  3 Feb 2023 00:25:32 -0000       1.3
+++ devel/libdispatch/Makefile  6 Feb 2023 13:35:03 -0000
@@ -25,9 +25,6 @@ MODULES =             devel/cmake
 # evertyhing except tests
 ALL_TARGET =           BlocksRuntime dispatch
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 35 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/msgpack/Makefile
===================================================================
RCS file: /cvs/ports/devel/msgpack/Makefile,v
retrieving revision 1.15
diff -u -p -r1.15 Makefile
--- devel/msgpack/Makefile      3 Feb 2023 00:58:59 -0000       1.15
+++ devel/msgpack/Makefile      6 Feb 2023 13:34:57 -0000
@@ -34,9 +34,6 @@ pre-configure:
                example/cpp03/CMakeLists.txt \
                test/CMakeLists.txt
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 35 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: devel/qjson/Makefile
===================================================================
RCS file: /cvs/ports/devel/qjson/Makefile,v
retrieving revision 1.18
diff -u -p -r1.18 Makefile
--- devel/qjson/Makefile        3 Feb 2023 00:44:42 -0000       1.18
+++ devel/qjson/Makefile        6 Feb 2023 13:35:11 -0000
@@ -24,9 +24,6 @@ CONFIGURE_ARGS =      -DQJSON_BUILD_TESTS=ON
 # evertyhing except tests
 ALL_TARGET =           qjson-qt5
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 25 C++ test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: net/libtorrent-rasterbar/Makefile
===================================================================
RCS file: /cvs/ports/net/libtorrent-rasterbar/Makefile,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile
--- net/libtorrent-rasterbar/Makefile   5 Feb 2023 12:50:30 -0000       1.34
+++ net/libtorrent-rasterbar/Makefile   6 Feb 2023 13:35:40 -0000
@@ -41,9 +41,6 @@ CONFIGURE_ARGS +=     -DCMAKE_CXX_STANDARD=1
 ALL_TARGET =           torrent-rasterbar \
                        python-libtorrent
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (+200 test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}
Index: security/keepassxc/Makefile
===================================================================
RCS file: /cvs/ports/security/keepassxc/Makefile,v
retrieving revision 1.53
diff -u -p -r1.53 Makefile
--- security/keepassxc/Makefile 28 Jan 2023 22:03:46 -0000      1.53
+++ security/keepassxc/Makefile 6 Feb 2023 13:35:55 -0000
@@ -93,9 +93,6 @@ post-patch:
                browser/BrowserSettingsWidget.cpp \
                browser/NativeMessageInstaller.cpp
 
-do-build:
-       @${MODCMAKE_BUILD_TARGET} -t ${ALL_TARGET}
-
 # build whatever is left (ca. 200 GUI test files)
 pre-test:
        @${MODCMAKE_BUILD_TARGET}

Reply via email to