Git Product home page Git Product logo

Comments (7)

nlohmann avatar nlohmann commented on May 28, 2024

After deleting CMake 3.9.3, it works again:

./cmake_min_version.py ~/Downloads/cmake_min_test1/
Found 129 CMake binaries from directory tools

[  0%] CMake 3.13.0   ✔ works
[ 12%] CMake 3.5.0    ✘ error
[ 25%] CMake 3.9.4    ✔ works
[ 38%] CMake 3.7.1    ✘ error
[ 50%] CMake 3.8.2    ✔ works
[ 62%] CMake 3.8.0    ✔ works
[ 86%] CMake 3.7.2    ✘ error
[100%] Minimal working version: CMake 3.8.0

cmake_minimum_required(VERSION 3.8.0)

from cmake_min_version.

nlohmann avatar nlohmann commented on May 28, 2024

Interesting:

[ 83%] CMake 3.8.2    ✔ works
[ 83%] CMake 3.9.0    ✘ error
[ 83%] CMake 3.9.1    ✔ works
[ 84%] CMake 3.9.2    ✘ error
[ 84%] CMake 3.9.3    ✘ error

from cmake_min_version.

nlohmann avatar nlohmann commented on May 28, 2024

More output:

[ 83%] CMake 3.8.2    ✔ works
[ 83%] CMake 3.9.0    ✘ error
    Boost  found.
    Found Boost components:
       system;thread
    CMake Error in /Users/niels/Code/repositories/cmake_min_version/tools/cmake-3.9.0-Darwin-x86_64/CMake.app/Contents/share/cmake-3.9/Modules/FindBoost.cmake:
      cmake_policy PUSH without matching POP
    Call Stack (most recent call first):
      CMakeLists.txt:27 (find_package)


[ 83%] CMake 3.9.1    ✔ works
[ 84%] CMake 3.9.2    ✘ error
    Boost  found.
    Found Boost components:
       system;thread
    CMake Error in /Users/niels/Code/repositories/cmake_min_version/tools/cmake-3.9.2-Darwin-x86_64/CMake.app/Contents/share/cmake-3.9/Modules/FindBoost.cmake:
      cmake_policy POP without matching PUSH
    Call Stack (most recent call first):
      CMakeLists.txt:27 (find_package)


[ 84%] CMake 3.9.3    ✘ error
    Boost  found.
    Found Boost components:
       system;thread
    CMake Error in /Users/niels/Code/repositories/cmake_min_version/tools/cmake-3.9.3-Darwin-x86_64/CMake.app/Contents/share/cmake-3.9/Modules/FindBoost.cmake:
      cmake_policy POP without matching PUSH
    Call Stack (most recent call first):
      CMakeLists.txt:27 (find_package)


[ 84%] CMake 3.9.4    ✔ works

There seem to be a bug in CMake 3.9.0, 3.9.2, and 3.9.3 when it comes to Boost.

from cmake_min_version.

nlohmann avatar nlohmann commented on May 28, 2024

I leave this open as concept bug - the binary search assumes monotonous behavior; that is, if a project can be built by version x, then it should also be buildable with any higher version. This issue shows that this is not the case.

from cmake_min_version.

nlohmann avatar nlohmann commented on May 28, 2024

With #26, I changed the behavior of the full search to return the latest version such that this and all later version can successfully build the project.

from cmake_min_version.

yalov avatar yalov commented on May 28, 2024

Does the last cmake_min_test1 also have the same problems on 3.9.0, 3.9.2, and 3.9.3?
I replace lib names to autopath target_link_libraries(${PROJECT_NAME} PRIVATE ${Boost_LIBRARY_DIRS})

from cmake_min_version.

nlohmann avatar nlohmann commented on May 28, 2024

There are different problems now:

[  0%] CMake 3.16.1   ✔ works
[ 11%] CMake 3.8.2    ✘ error
       CMake Error at CMakeLists.txt:8 (message):
         CMAKE_PROJECT_VERSION is not defined


[ 22%] CMake 3.13.0   ✔ works
[ 33%] CMake 3.10.3   ✘ error
       CMake Error at CMakeLists.txt:8 (message):
         CMAKE_PROJECT_VERSION is not defined


[ 44%] CMake 3.11.4   ✘ error
       CMake Error at CMakeLists.txt:8 (message):
         CMAKE_PROJECT_VERSION is not defined


[ 56%] CMake 3.12.2   ✔ works
[ 75%] CMake 3.12.0   ✔ works
[100%] Minimal working version: CMake 3.12.0

cmake_minimum_required(VERSION 3.12.0)

from cmake_min_version.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.