errors · 3.5CMake 4, while configuring prjxray

Compatibility with CMake < 3.5 has been removed from CMake

You ran cmake -B build inside prjxray with a current Homebrew CMake (version 4 or later) and it stopped at cmake_minimum_required with this message.

Why does it happen?

CMake 4 dropped compatibility with projects that declare a minimum version below 3.5. prjxray still declares one, and the version it asks for is older than what CMake 4 will accept.

What is the fix?

Tell CMake to treat the project as if it asked for 3.5.

cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5
cmake --build build --target xc7frames2bit -j3

Only the xc7frames2bit target is needed. prjxray's own README starts by telling you to install Vivado 2017.2; ignore that, it is for people who map a chip from zero, and the Artix-7 is already mapped.

What should you see?

ls ~/fpga/prjxray/build/tools/xc7frames2bit

If it prints the path back, the tool is built.

The message above is CMake 4's wording. The guide was written against the same CMake and describes the failure without quoting it: section 3.5.