From 90ec02ca2fe8a49a08c00f8a8181edaf9e3ecef0 Mon Sep 17 00:00:00 2001 From: KrystalDelusion <93062060+KrystalDelusion@users.noreply.github.com> Date: Sat, 6 Jun 2026 10:22:38 +1200 Subject: [PATCH 1/3] Let nested make calls parallelize Bump minimum cmake version to 3.28 to use `JOB_SERVER_AWARE` when calling the `test-vanilla` target (and also `docs-prepare` and `test-docs`, though it's not as important there). --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb67b393c..084e6a774 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,7 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR) ) endif() -cmake_minimum_required(VERSION 3.27) +cmake_minimum_required(VERSION 3.28) project(yosys LANGUAGES C CXX) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -532,6 +532,7 @@ if (NOT YOSYS_BUILD_PYTHON_ONLY) COMMAND make vanilla-test ${makefile_vars} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests DEPENDS ${makefile_depends} + JOB_SERVER_AWARE TRUE ) add_custom_target(test @@ -543,6 +544,7 @@ if (NOT YOSYS_BUILD_PYTHON_ONLY) COMMAND make gen ${makefile_vars} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs DEPENDS ${makefile_depends} + JOB_SERVER_AWARE TRUE ) foreach (format html latexpdf) add_custom_target(docs-${format} @@ -555,6 +557,7 @@ if (NOT YOSYS_BUILD_PYTHON_ONLY) COMMAND make test ${makefile_vars} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs DEPENDS ${makefile_depends} + JOB_SERVER_AWARE TRUE ) endif() From d9c3aeb765937da318fa1516f2837fc4cc217b0f Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Sat, 6 Jun 2026 11:33:46 +1200 Subject: [PATCH 2/3] Docs: Bump CMake to >=3.28 --- README.md | 2 +- docs/source/getting_started/installation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f8b3dfa4f..e27486a84 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ or $ git submodule update --init --recursive A C++ compiler with C++20 support is required as well as some standard tools -such as GNU Flex, GNU Bison (>=3.8), CMake (>=3.27), Make (or other CMake +such as GNU Flex, GNU Bison (>=3.8), CMake (>=3.28), Make (or other CMake generator such as Ninja), and Python (>=3.11). Some additional tools: readline, libffi, Tcl and zlib; will be used if available but are optional. Graphviz and Xdot are used by the `show` command to display schematics. diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 691731fbf..cbbe5aa31 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -88,7 +88,7 @@ Build prerequisites ^^^^^^^^^^^^^^^^^^^ A C++ compiler with C++20 support is required as well as some standard tools -such as GNU Flex, GNU Bison (>=3.8), CMake (>=3.27), Make (or other CMake +such as GNU Flex, GNU Bison (>=3.8), CMake (>=3.28), Make (or other CMake generator such as Ninja), and Python (>=3.11). Some additional tools: readline, libffi, Tcl and zlib; will be used if available but are optional. Graphviz and Xdot are used by the `show` command to display schematics. From 5183ede97f3d8e3286a5279c98dff350eab0fd91 Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Mon, 8 Jun 2026 09:34:30 +1200 Subject: [PATCH 3/3] CMake: Disable cxx module scanning --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 084e6a774..9874fa88b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,10 @@ include(YosysAbcSubmodule) include(YosysVerific) include(UseHomebrew) +# Fix for using Clang from nixpkgs +# see https://github.com/YosysHQ/yosys/pull/5936#issuecomment-4637319568 +set(CMAKE_CXX_SCAN_FOR_MODULES NO) + # Build options. set(YOSYS_COMPILER_LAUNCHER "" CACHE STRING "Compiler launcher (ccache, sccache)") option(YOSYS_ENABLE_COVERAGE "Enable code coverage" OFF)