(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.)
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}