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}