nextpnr/common/place/CMakeLists.txt
Catherine 155adc3f5d CMake: rationalize and refactor build system.
The two main changes, done together in this commit, are:
* Eliminating most instances of `aux_source_directory()`, replacing
  them with explicit file listings; and
* Moving these file listings into respective subdirectories by
  representing respective nextpnr components as interface libraries.

In addition, the GUI CMake script tree was simplified since it had
a lot of unused/redundant code.

The `aux_source_directory()` command is not recommended for use by
CMake itself because it misses dependency changes when adding/removing
files, and consequently causes build failures requiring a clean rebuild.

This commit does not touch anything related to architectures/families,
which are very complex and redundant all on their own.
2025-01-16 11:36:44 +01:00

24 lines
463 B
CMake

add_library(nextpnr_place INTERFACE)
target_include_directories(nextpnr_place INTERFACE .)
target_sources(nextpnr_place PUBLIC
detail_place_cfg.h
detail_place_core.cc
detail_place_core.h
fast_bels.h
parallel_refine.cc
parallel_refine.h
place_common.cc
place_common.h
placer1.cc
placer1.h
placer_heap.cc
placer_heap.h
placer_static.cc
placer_static.h
static_util.h
timing_opt.cc
timing_opt.h
)