Open
Conversation
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>
sfeiwong
reviewed
Oct 10, 2025
| @@ -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) | |||
Collaborator
There was a problem hiding this comment.
具体问题是什么,必须强制其他三方组件也受这个限制?
Collaborator
Author
There was a problem hiding this comment.
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保持一致
Collaborator
There was a problem hiding this comment.
这样可能会引起其他兼容、策略问题,各自模块约定各自的最低版本更合理一些。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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