diff options
author | David Shah <davey1576@gmail.com> | 2018-06-02 14:17:31 +0200 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-06-02 14:17:31 +0200 |
commit | e6302bbe73f432303d583482cd0995c32f729540 (patch) | |
tree | eb918f10543667ccac37d46b693df807f4824fde /ice40/family.cmake | |
parent | 763fd56c2639c53f109245f8b029f24362d60d33 (diff) | |
download | nextpnr-e6302bbe73f432303d583482cd0995c32f729540.tar.gz nextpnr-e6302bbe73f432303d583482cd0995c32f729540.tar.bz2 nextpnr-e6302bbe73f432303d583482cd0995c32f729540.zip |
Fix race condition and optimise the build
Diffstat (limited to 'ice40/family.cmake')
-rw-r--r-- | ice40/family.cmake | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ice40/family.cmake b/ice40/family.cmake index 6d6c6ae0..870b69b9 100644 --- a/ice40/family.cmake +++ b/ice40/family.cmake @@ -1,14 +1,18 @@ set(devices 384 1k 5k 8k) set(DB_PY ${CMAKE_CURRENT_SOURCE_DIR}/ice40/chipdb.py) +file(MAKE_DIRECTORY ice40/chipdbs/) +add_library(ice40_chipdb OBJECT ice40/chipdbs/) +target_include_directories(ice40_chipdb PRIVATE ${family}/) foreach (dev ${devices}) set(DEV_TXT_DB /usr/local/share/icebox/chipdb-${dev}.txt) - set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ice40/chipdb-${dev}.cc) + set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ice40/chipdbs/chipdb-${dev}.cc) add_custom_command(OUTPUT ${DEV_CC_DB} COMMAND python3 ${DB_PY} ${DEV_TXT_DB} > ${DEV_CC_DB}.new COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB} DEPENDS ${DEV_TXT_DB} ${DB_PY} ) + target_sources(ice40_chipdb PRIVATE ${DEV_CC_DB}) foreach (target ${family_targets}) - target_sources(${target} PRIVATE ${DEV_CC_DB}) + target_sources(${target} PRIVATE $<TARGET_OBJECTS:ice40_chipdb>) endforeach (target) endforeach (dev) |