Skip to content

Conversation

@JackLau1222
Copy link
Collaborator

The BMF cmake_minimum_required is 3.5 but 3rd/json is 3.1

This issue can be reproduce in higher cmake version(like cmake 4.0.3): CMake Error at 3rd_party/json/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.

Update the VERSION argument value. Or, use the ... syntax
to tell CMake that the project requires at least but has been updated
to work with policies introduced by or earlier.

Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

This issue could be fixed by add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 in every build script, it's so big and unmaintainable work.

This patch simply add cmake policy in CMakLists.txt to be able easily removed after we update the 3rd/json cmake_minimum_required

The BMF cmake_minimum_required is 3.5 but 3rd/json is 3.1

This issue can be reproduce in higher cmake version(like cmake 4.0.3):
CMake Error at 3rd_party/json/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

This issue could be fixed by add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 in
every build script, it's so big and unmaintainable work.

This patch simply add cmake policy in CMakLists.txt to be able easily
removed after we update the 3rd/json cmake_minimum_required

Signed-off-by: Jack Lau <jacklau1222@qq.com>
@@ -1,4 +1,6 @@
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
# TODO: update 3rd/json cmake version minimum to remove this workaround
set(CMAKE_POLICY_VERSION_MINIMUM "3.5" CACHE STRING "Force CMake policy version to 3.5" FORCE)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

具体问题是什么,必须强制其他三方组件也受这个限制?

Copy link
Collaborator Author

@JackLau1222 JackLau1222 Oct 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bmf项目的cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
但是依赖的三方库json用的是cmake_minimum_required(VERSION 3.1)

bmf要求的cmake最低版本大于依赖项目的最低版本 用一些高版本cmake(比如我电脑上的4.0.3)编译时 会报错

CMake Error at 3rd_party/json/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.

Update the VERSION argument value. Or, use the ... syntax
to tell CMake that the project requires at least but has been updated
to work with policies introduced by or earlier.

Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.

设置这个CMAKE_POLICY_VERSION_MINIMUM=3.5 就是强制更改依赖的项目最低版本都改成3.5与bmf保持一致

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这样可能会引起其他兼容、策略问题,各自模块约定各自的最低版本更合理一些。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants