nextpnr/himbaechel/CMakeLists.txt
Catherine d1cd67a1ce CMake: eliminate family.cmake/CMakeLists.txt split.
While it served a purpose (granting the ability to build `.bba` files
separately from the rest of nextpnr), it made things excessively
convoluted, especially around paths.

This commit removes the ability to pre-generate chip databases. As far
as I know, I was the primary user of that feature. It can be added back
if there is demand for it.

In exchange the per-family `CMakeLists.txt` files are now much easier
to understand.
2025-01-21 14:36:19 +00:00

25 lines
949 B
CMake

set(HIMBAECHEL_UARCHES "example;gowin;xilinx;ng-ultra")
set(HIMBAECHEL_UARCH "${HIMBAECHEL_UARCHES}" CACHE STRING "Microarchitectures for nextpnr-himbaechel build")
set_property(CACHE HIMBAECHEL_UARCH PROPERTY STRINGS ${HIMBAECHEL_UARCHES})
foreach (item ${HIMBAECHEL_UARCH})
if (NOT item IN_LIST HIMBAECHEL_UARCHES)
message(FATAL_ERROR "Microarchitecture '${item}' not in list of supported architectures")
endif()
endforeach()
foreach (uarch ${HIMBAECHEL_UARCH})
add_subdirectory(uarch/${uarch})
aux_source_directory(uarch/${uarch} HM_UARCH_FILES)
foreach (target ${family_targets})
target_sources(${target} PRIVATE ${HM_UARCH_FILES})
endforeach()
if (BUILD_TESTS)
foreach (target ${family_test_targets})
aux_source_directory(uarch/${uarch}/tests/ HM_UARCH_TEST_FILES)
target_sources(${target} PRIVATE ${HM_UARCH_TEST_FILES})
endforeach()
endif()
endforeach()