CMake is used to control the software compilation process using
simple platform and compiler independent configuration files. CMake
generates native makefiles and workspaces that can be used in the
compiler environment of your choice. CMake is quite sophisticated:
it is possible to support complex environments requiring system
configuration, pre-processor generation, code generation, and
template instantiation.
devel/cmake*: Update to 3.31.7
kde@ is aware that CMake 4.0.x is out, but an update at this time would
likely entail fallout from 500+ ports, which we'd rather let upstream
projects deal with until fixing problems ourselves reaches a manageable
level. Most of these are easily fixable, but it's still a lot to clear
for a very small team with other projects to consider. See, for example:
https://build.opensuse.org/project/show/home:simotek:cmake4https://www.kitware.com/cmake-3-31-7-available-for-download/
devel/cmake-(core|gui): Fix build with curl 8.13
Add upstream patch to fix incompatibility with curl >= 8.13.0. This is fixed
in CMake 3.31.7 and newer.
/wrkdirs/usr/ports/devel/cmake-gui/work/cmake-3.31.6/Source/cmCurl.cxx:178:26:
error: assigning to 'CURL_NETRC_OPTION' from incompatible type 'long'
178 | curl_netrc_level = CURL_NETRC_OPTIONAL;
| ^~~~~~~~~~~~~~~~~~~
/usr/local/include/curl/curl.h:2355:29: note: expanded from macro
'CURL_NETRC_OPTIONAL'
2355 | #define CURL_NETRC_OPTIONAL 1L /* A user:password in the URL will be
preferred
| ^~
/wrkdirs/usr/ports/devel/cmake-gui/work/cmake-3.31.6/Source/cmCurl.cxx:180:26:
error: assigning to 'CURL_NETRC_OPTION' from incompatible type 'long'
180 | curl_netrc_level = CURL_NETRC_REQUIRED;
(Only the first 15 lines of the commit message are shown above )
devel/cmake*: Update to 3.28.3
Changes made since CMake 3.28.2:
- Tests: Add case covering PCH in a unity build
- Unity: Clarify source comments on unity build transformation
- cmGlobalGenerator: Add unity/pch sources after computing compile
features
- zlib 2022-10-12 (04f42cec)
- zlib: Fix 1.2.13 version and date notice
https://www.kitware.com/cmake-3-28-3-available-for-download/
devel/cmake*: Pet portclippy(1) and migrate to Qt6
Migrate towards Qt6:
- Switch the default flavor of devel/cmake-gui to qt6.
- Use qt6-tools instead of qt5-help in devel/cmake-doc to generate the Qt
help file.
Depend on the flavorized version of textproc/py-sphinx.
Pet portclippy(1) and portlint(1) and make Makefile order more consistent
within the devel/cmake* ports. Remove duplicate DISTINFO_FILE line from
devel/cmake-man. [1]
Make build of devel/cmake-core verbose [2] and respect WITH_CCACHE_BUILD
in bootstrapping phase.
(Only the first 15 lines of the commit message are shown above )
devel/cmake*: Update to 3.28.2
Install manpages in share/man.
Changes made since CMake 3.28.1:
- Autogen: Forward dependencies when both Makefile and DEPFILE are used
- CUDA/Clang: Record architectures supported by Clang 16
- CUDA/Clang: Update architectures supported by CUDA 12
- CUDAToolkit: Correctly search all include paths from compiler
- ExternalProject: revert `BYPRODUCTS` for download outputs
- FindBoost: Add support for Boost 1.84
- FindFreetype: Revert use of upstream freetype cmake package
- FindMatlab: Accept long ver in matlab_get_release_name_from_version
- FindMatlab: Document all registry paths for version lookup
- FindMatlab: Document that version mappings do not apply to MCR
(Only the first 15 lines of the commit message are shown above )
devel/cmake*: Update to 3.27.7 [1]
Add support for keywords like RUNTIME_DEPENDENCY_SET and
RUNTIME_DEPENDENCIES in the install() command and
GET_RUNTIME_DEPENDENCIES in the file() command. [2]
https://cmake.org/cmake/help/v3.27/release/3.27.html
PR: 274225 [1], 274275 [2]
Reported by: yuri [2]
Exp-run by: antoine [1]
devel/cmake-core devel/cmake-gui misc/mbuffer: cope with librhash.so bump
Because rhash 1.4.4 updated the librhash.so symlink from .0 to .1,
build-time dependents such as cmake-core and cmake-gui need their
PORTREVISION bumped.
The other case is misc/mbuffer, which uses librhash only at runtime, but
hardcodes dlopen("librhash.so.0", RTLD_NOW). I changed this to just
"librhash.so", and it seems to work fine with light testing.
PR: 273775
Reported by: Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Fixes: e0acbd158ec9 security/rhash: update to 1.4.4 and fix build with lld 17
MFH: 2023Q3
Mk/Uses: always use colon for build/run suffix
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
devel/cmake: Create a meta-port for CMake
Create a meta-port for CMake to make it easier for the end user and
better handling of build dependencies.
This pushes devel/cmake into /devel/cmake-core and splits manpages and
its dependencies to /devel/cmake-man
Approved by: kde (tcberner)
Differential Revision: https://reviews.freebsd.org/D34957
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel/cmake: fix CPack .pkg support, jump to 3.21.3
Update the patch for FreeBSD .pkg support in CPack to handle
libpkg 1.17 and later's use of .pkg as package-suffix rather
than .tgz. The PR below refers to this fix. I've kept code
for older libpkg in case there are systems with weirdly
mismatched current CMake and last-quarter's libpkg.
The patch is still being upstreamed. The PR mentioned below
is for this fix.
While here, update to 3.21.3. I've decided to -- unusual,
for sure -- bump CMake without the usual exp-run, because:
A regression in CMake 3.21.2 prompted a quick release of
(Only the first 15 lines of the commit message are shown above )
devel/cmake: Update to 3.20.1
This new version of CMake is much more picky with the language
than previous versions, so there was a fair bit of fallout --
patched before this push with plenty of "fix in advance of CMake
3.20" commits.
Release notes are at
https://cmake.org/cmake/help/v3.20/release/3.20.html
Thanks to antoine@ for multiple exp-runs.
devel/cmake: update to 3.18.4
Changes in 3.18.4 since 3.18.3:
Brad King (3):
FindJNI: Add aarch64 support
VS: Populate `std:c{11,17}` flag table entries for v142
CMake 3.18.4
Cristian Adam (1):
OBJCXX: Fix regression for compiling cpp files as objcxx
Kinan Mahdi (1):
VS: Fix regression in C# source links
Marc Chevrier (1):
(Only the first 15 lines of the commit message are shown above )
devel/cmake: update to 3.18.1
- update to 3.18.1
- new port devel/cmakedoc
Thanks to adridg@ for tackling most of the fallout.
PR: 248003
Exp-run by: antoine
Update devel/cmake to latest upstream release, 3.16.2
This new release has support for the latest Boost, Objective-C
and various small improvements. The release notes are at:
https://cmake.org/cmake/help/v3.16/release/3.16.html
Two ports could not be persuaded to build with this new release
(math/openmesh science/fleur) and are marked BROKEN. Other build
fixes have already been done in-tree.
Thanks antoine@ for the exp-runs (multiple).
Thanks tcberner@ for prep-work (most of the work, actually).
PR: 242254
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Update CMake to latest release, 3.14.1
Changelog: https://cmake.org/cmake/help/v3.14/release/3.14.html
Local patches: fixes for Boost, Python, and OpenMP
Affected ports:
- opencpn, hugin needed help in finding wx
- kadu is over-enthusiastic in finding non-existent X11 components
- xlife++ does weird things in parsing help output from cmake
Thanks antoine@ for multiple exp-runs.
Thanks tcberner@ for much prep-work.
PR: 236534223678227428
Fix Qt5 symbol version scripts to put the catch-all clause first. When
a symbol matches multiple clauses the last one takes precedence. If the
catch-all is last it captures everything. In the case of Qt5 libraries
this caused all symbols to have a Qt_5 label while some should have
Qt_5_PRIVATE_API. This only affects lld because GNU ld always gives the
catch-all lowest priority.
Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium. Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3] The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one. If there's no such non-weak symbol the call
(Only the first 15 lines of the commit message are shown above )
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Update devel/cmake to 3.12.1
This is a minor incremental update. The patches for TCL 8.7 support
are no longer needed, because upstream has added that support.
Thanks Antoine for the exp-run.
PR: 230488
Submitted by: tcberner
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk
From now on, ports that depend on Qt4 will have to set
USES= qt:4
USE_QT= foo bar
ports depending on Qt5 will use
USES= qt:5
USE_QT= foo bar
PR: 229225
Exp-run by: antoine
Reviewed by: mat
Approved by: portmgr (antoine)
Differential Revision: -https://reviews.freebsd.org/D15540
Update CMake to 3.11.0. Thanks to antoine@ for the exp-run.
In the run-up to this commit, many other ports were pre-emptively fixed.
The only issue still known is math/kig, which had a build failure in
the exp-run, but which isn't reproducible across multiple 11.1 {i386,amd64}
machines and poudriere builds. We've decided to forge ahead.
The new CMake version:
- drops FreeBSD patches that have been incorporated upstream,
- re-shuffles patches to FindQt4, since upstream has made some changes
which break FindQt4 in new ways on FreeBSD (while fixing the old ones),
- has new patches to make OpenMP and BLAS findable on FreeBSD,
- drops ports libarchive in favor of the version in base, to avoid
overlinking for the pkg(8) support in CPack (this makes portlint
complain, and we have decided to ignore it).
PR: 227372226959223678
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D14506
Update CMake to 3.10.1
- https://blog.kitware.com/cmake-3-10-1-available-for-download/
- flang support
- changes to automoc policies
- support for FreeBSD package generation with CPack
Necessary fixes to other ports:
- cad/openvsp make search for libxml explicit
- math/scalapack force C compiler to be compatible with mpi
- deskutils/kdepim4 fix incorrect sources list
- www/qt5-webkit fix incorrect sources list
Thanks to Antoine for the multiple exp-runs.
PR: 223872
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D13210
Update the cmake family to 3.9.6 (skip 3.9.5, the upstream
releases are coming quick and fast). Upstream changes are
- AUTOMOC options fixes (3.9.5)
- gcc_eh linking (3.9.6)
Thanks antoine@ for the exp-runs.
PR: 223436
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D12958
Update CMake to 3.9.4.
Update CMake to latest upstream release. This is a minor bug-fix release --
the changelog suggests mostly polishing applied to the FindBoost module.
Thanks to antoine@ for the exp-run.
PR: 222878
Approved by: rakuco (mentor)
Differential Revision: https://reviews.freebsd.org/D12604
Update CMake to 3.9.3
This includes the upstream patches for the new Boost version (PR 222207,
r450301).
Thanks to antoine@ for the exp-run.
PR: 222513
Approved by: rakuco (mentor), tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D12427