Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Oct 2025 13:04:34 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Yuri <yuri@FreeBSD.org>, dev-commits-ports-main@freebsd.org
Subject:   Re: git: 9b5005a44fdb - main - devel/cmake-core: Remove FindBoost module
Message-ID:  <94E57F33-44B3-4A5A-A639-F893291F09EE@yahoo.com>
In-Reply-To: <8E992670-6A35-4CD9-9DEF-B7A00C49F496@yahoo.com>

index | next in thread | previous in thread | raw e-mail

On Sep 28, 2025, at 20:16, Mark Millard <marklmi@yahoo.com> wrote:

> Yuri Victorovich <yuri_at_FreeBSD.org> wrote on
> Date: Sun, 28 Sep 2025 02:14:19 UTC :
> 
>> The branch main has been updated by yuri:
>> 
>> URL: https://cgit.FreeBSD.org/ports/commit/?id=9b5005a44fdbe85db87d9b244ca79e50d68f6bcd
>> 
>> commit 9b5005a44fdbe85db87d9b244ca79e50d68f6bcd
>> Author: Yuri Victorovich <yuri@FreeBSD.org>
>> AuthorDate: 2025-09-28 02:12:19 +0000
>> Commit: Yuri Victorovich <yuri@FreeBSD.org>
>> CommitDate: 2025-09-28 02:14:17 +0000
>> 
>> devel/cmake-core: Remove FindBoost module
>> 
>> It breaks many other ports, for example multimedia/lms, math/curv, science/votca
>> 
>> cmake doesn't support Boost any more and doesn't know about
>> the latest boost versions.

See later below what I list after the my original message.

> This note is just about my finding the above wording
> confusing/misleading when I look up what cmake is
> doing for boost. It is not about the detailed path
> forward for updating ports or about other bugs that
> might interfere.
> 
> It seems (see later supporting material):
> 
> ) Boost now supports cmake explicitly via providing
>  a BoostConfig.cmake in boost itself for make to
>  use.
> 
> ) Boost has been updated in 3.30 and later to be
>  based on using that BoostConfig.cmake .
> 
> In other words: cmake does know about the latest
> boost versions and what they provide for using
> cmake. Boost is taking responsibility for tracking
> its own changes for cmake use ( via updating
> BoostConfig.cmake in boost itself ).
> 
> 
> Supporting detail that I expect leads to the above
> conclusions:
> 
> 
> https://gitlab.kitware.com/cmake/cmake/-/issues/27258#note_1707621
> 
> QUOTE of Brad King's note:
> These days Boost provides a proper CMake package via
> BoostConfig.cmake. CMake's builtin FindBoost pre-dated
> that, but the module requires updates for each new
> release of Boost, and CMake 3.31 doesn't know about
> Boost 1.88. Policy CMP0167 removes use of FindBoost
> altogether such that find_package(Boost) always directly
> looks for the BoostConfig.cmake file that comes with
> Boost.
> END QUOTE
> 
> There is also: https://cmake.org/cmake/help/latest/policy/CMP0167.html
> 
> QUOTE
> Added in version 3.30.
> 
> The FindBoost module is removed.
> 
> CMake 3.29 and below provide a FindBoost module, but it
> needs constant updates to keep up with upstream Boost
> releases. Upstream Boost 1.70 and above provide a
> BoostConfig.cmake package configuration
> file.find_package(Boost CONFIG) finds the upstream
> package directly, without the find module.
> 
> CMake 3.30 and above prefer to not provide the FindBoost
> module so that find_package(Boost) calls, without the
> CONFIG or NO_MODULE options, find the upstream
> BoostConfig.cmake directly. This policy provides
> compatibility for projects that have not been ported to
> use the upstream Boost package.
> 
> The OLD behavior of this policy is for find_package(Boost)
> to load CMake's FindBoost module. The NEW behavior is for
> find_package(Boost) to search for the upstream
> BoostConfig.cmake.
> 
> This policy was introduced in CMake version 3.30. It may
> be set by cmake_policy() or cmake_minimum_required(). If
> it is not set, CMake warns, and uses OLD behavior.
> 
> Note: The OLD behavior of a policy is deprecated by
> definition and may be removed in a future version of
> CMake.
> END QUOTE
> 
> 
>> Reported by: fallout
>> Approved by: portmgr (blanket unbreak)
>> . . .

For reference, I went looking and found:

# ls -dC1 /usr/local/lib/cmake/Boost-*/ /usr/local/lib/cmake/boost_*-*/
/usr/local/lib/cmake/Boost-1.88.0/
/usr/local/lib/cmake/boost_atomic-1.88.0/
/usr/local/lib/cmake/boost_charconv-1.88.0/
/usr/local/lib/cmake/boost_chrono-1.88.0/
/usr/local/lib/cmake/boost_container-1.88.0/
/usr/local/lib/cmake/boost_context-1.88.0/
/usr/local/lib/cmake/boost_contract-1.88.0/
/usr/local/lib/cmake/boost_coroutine-1.88.0/
/usr/local/lib/cmake/boost_date_time-1.88.0/
/usr/local/lib/cmake/boost_exception-1.88.0/
/usr/local/lib/cmake/boost_fiber-1.88.0/
/usr/local/lib/cmake/boost_filesystem-1.88.0/
/usr/local/lib/cmake/boost_graph-1.88.0/
/usr/local/lib/cmake/boost_graph_parallel-1.88.0/
/usr/local/lib/cmake/boost_headers-1.88.0/
/usr/local/lib/cmake/boost_iostreams-1.88.0/
/usr/local/lib/cmake/boost_json-1.88.0/
/usr/local/lib/cmake/boost_locale-1.88.0/
/usr/local/lib/cmake/boost_log-1.88.0/
/usr/local/lib/cmake/boost_log_setup-1.88.0/
/usr/local/lib/cmake/boost_math-1.88.0/
/usr/local/lib/cmake/boost_math_c99-1.88.0/
/usr/local/lib/cmake/boost_math_c99f-1.88.0/
/usr/local/lib/cmake/boost_math_c99l-1.88.0/
/usr/local/lib/cmake/boost_math_tr1-1.88.0/
/usr/local/lib/cmake/boost_math_tr1f-1.88.0/
/usr/local/lib/cmake/boost_math_tr1l-1.88.0/
/usr/local/lib/cmake/boost_nowide-1.88.0/
/usr/local/lib/cmake/boost_prg_exec_monitor-1.88.0/
/usr/local/lib/cmake/boost_process-1.88.0/
/usr/local/lib/cmake/boost_program_options-1.88.0/
/usr/local/lib/cmake/boost_random-1.88.0/
/usr/local/lib/cmake/boost_regex-1.88.0/
/usr/local/lib/cmake/boost_serialization-1.88.0/
/usr/local/lib/cmake/boost_stacktrace_addr2line-1.88.0/
/usr/local/lib/cmake/boost_stacktrace_basic-1.88.0/
/usr/local/lib/cmake/boost_stacktrace_noop-1.88.0/
/usr/local/lib/cmake/boost_system-1.88.0/
/usr/local/lib/cmake/boost_test_exec_monitor-1.88.0/
/usr/local/lib/cmake/boost_thread-1.88.0/
/usr/local/lib/cmake/boost_timer-1.88.0/
/usr/local/lib/cmake/boost_type_erasure-1.88.0/
/usr/local/lib/cmake/boost_unit_test_framework-1.88.0/
/usr/local/lib/cmake/boost_url-1.88.0/
/usr/local/lib/cmake/boost_wave-1.88.0/
/usr/local/lib/cmake/boost_wserialization-1.88.0/

This appears to be where the boost additions have
been placed for port-builds/port-package-builds to
use with cmake (in my context: v1.88.0 as stands).

===
Mark Millard
marklmi at yahoo.com



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?94E57F33-44B3-4A5A-A639-F893291F09EE>