diff options
author | David Shah <dave@ds0.me> | 2019-06-27 17:50:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-27 17:50:13 +0100 |
commit | ff958830d1097b9bfa3c3b34094e671741ef563d (patch) | |
tree | 807733691ad85ebd7aca5c855636540788211409 /ecp5 | |
parent | c57137e17d137dc1eb625e7363961dcb36db9e3a (diff) | |
parent | 1b3c8ea9c1384882063203f35f0f66f60025f62c (diff) | |
download | nextpnr-ff958830d1097b9bfa3c3b34094e671741ef563d.tar.gz nextpnr-ff958830d1097b9bfa3c3b34094e671741ef563d.tar.bz2 nextpnr-ff958830d1097b9bfa3c3b34094e671741ef563d.zip |
Merge pull request #297 from whitequark/serialize-chipdb
Serialize chipdb generation by default
Diffstat (limited to 'ecp5')
-rw-r--r-- | ecp5/family.cmake | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/ecp5/family.cmake b/ecp5/family.cmake index ca7dc9e9..596f0924 100644 --- a/ecp5/family.cmake +++ b/ecp5/family.cmake @@ -35,26 +35,31 @@ if (NOT EXTERNAL_CHIPDB) if (MSVC) target_sources(ecp5_chipdb PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/resource/embed.cc) set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/ecp5/resources/chipdb.rc PROPERTIES LANGUAGE RC) + set(PREV_DEV_CC_BBA_DB) foreach (dev ${devices}) set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bin) set(DEV_CC_BBA_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bba) set(DEV_CONSTIDS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/constids.inc) add_custom_command(OUTPUT ${DEV_CC_BBA_DB} COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB} - DEPENDS ${DB_PY} + DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB} ) add_custom_command(OUTPUT ${DEV_CC_DB} COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB} DEPENDS bbasm ${DEV_CC_BBA_DB} ) + if (SERIALIZE_CHIPDB) + set(PREV_DEV_CC_BBA_DB ${DEV_CC_BBA_DB}) + endif() target_sources(ecp5_chipdb PRIVATE ${DEV_CC_DB}) set_source_files_properties(${DEV_CC_DB} PROPERTIES HEADER_FILE_ONLY TRUE) foreach (target ${family_targets}) target_sources(${target} PRIVATE $<TARGET_OBJECTS:ecp5_chipdb> ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/resource/chipdb.rc) - endforeach (target) - endforeach (dev) + endforeach() + endforeach() else() target_compile_options(ecp5_chipdb PRIVATE -g0 -O0 -w) + set(PREV_DEV_CC_BBA_DB) foreach (dev ${devices}) set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.cc) set(DEV_CC_BBA_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bba) @@ -62,17 +67,20 @@ if (NOT EXTERNAL_CHIPDB) add_custom_command(OUTPUT ${DEV_CC_BBA_DB} COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB}.new COMMAND mv ${DEV_CC_BBA_DB}.new ${DEV_CC_BBA_DB} - DEPENDS ${DB_PY} + DEPENDS ${DB_PY} ${PREV_DEV_CC_BBA_DB} ) add_custom_command(OUTPUT ${DEV_CC_DB} COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB} DEPENDS bbasm ${DEV_CC_BBA_DB} ) + if (SERIALIZE_CHIPDB) + set(PREV_DEV_CC_BBA_DB ${DEV_CC_BBA_DB}) + endif() target_sources(ecp5_chipdb PRIVATE ${DEV_CC_DB}) foreach (target ${family_targets}) target_sources(${target} PRIVATE $<TARGET_OBJECTS:ecp5_chipdb>) - endforeach (target) - endforeach (dev) + endforeach() + endforeach() endif() endif() |