From fd3c124f8738de3cbd380906b70135fad8c09d87 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 3 Jul 2018 20:46:05 +0200 Subject: Add opetion to defie ICEBOX_ROOT, fix compile on other location --- CMakeLists.txt | 8 ++++---- ice40/chipdb.py | 3 ++- ice40/family.cmake | 6 ++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 908df411..b8629aaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,12 +52,12 @@ execute_process( ) if (BUILD_TESTS) - add_subdirectory(3rdparty/googletest/googletest generated/3rdparty/googletest EXCLUDE_FROM_ALL) + add_subdirectory(3rdparty/googletest/googletest ${CMAKE_CURRENT_BINARY_DIR}/generated/3rdparty/googletest EXCLUDE_FROM_ALL) enable_testing() endif() if (BUILD_GUI) - add_subdirectory(3rdparty/QtPropertyBrowser generated/3rdparty/QtPropertyBrowser) + add_subdirectory(3rdparty/QtPropertyBrowser ${CMAKE_CURRENT_BINARY_DIR}/generated/3rdparty/QtPropertyBrowser) endif() add_definitions("-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}") @@ -136,7 +136,7 @@ foreach (family ${FAMILIES}) aux_source_directory(${family}/ ${ufamily}_FILES) if (BUILD_GUI) - add_subdirectory(gui generated/gui/${family}) + add_subdirectory(gui ${CMAKE_CURRENT_BINARY_DIR}/generated/gui/${family}) endif() # Add the CLI binary target @@ -175,7 +175,7 @@ foreach (family ${FAMILIES}) include(${family}/family.cmake) foreach (target ${family_targets}) # Include family-specific source files to all family targets and set defines appropriately - target_include_directories(${target} PRIVATE ${family}/ generated/) + target_include_directories(${target} PRIVATE ${family}/ ${CMAKE_CURRENT_BINARY_DIR}/generated/) target_compile_definitions(${target} PRIVATE NEXTPNR_NAMESPACE=nextpnr_${family} ARCH_${ufamily} ARCHNAME=${family}) target_link_libraries(${target} LINK_PUBLIC ${Boost_LIBRARIES}) add_sanitizers(${target}) diff --git a/ice40/chipdb.py b/ice40/chipdb.py index 8a1c9ce2..931c73d1 100644 --- a/ice40/chipdb.py +++ b/ice40/chipdb.py @@ -10,6 +10,7 @@ group = parser.add_mutually_exclusive_group() group.add_argument("-b", "--binary", action="store_true") group.add_argument("-c", "--c_file", action="store_true") parser.add_argument("filename", type=str, help="chipdb input filename") +parser.add_argument("-p", "--portspins", type=str, help="path to portpins.inc") args = parser.parse_args() endianness = "le" @@ -53,7 +54,7 @@ beltypes = dict() tiletypes = dict() wiretypes = dict() -with open("ice40/portpins.inc") as f: +with open(args.portspins) as f: for line in f: line = line.replace("(", " ") line = line.replace(")", " ") diff --git a/ice40/family.cmake b/ice40/family.cmake index 532d7cc4..ad9fac44 100644 --- a/ice40/family.cmake +++ b/ice40/family.cmake @@ -13,11 +13,13 @@ add_library(ice40_chipdb OBJECT ice40/chipdbs/) target_compile_options(ice40_chipdb PRIVATE -g0 -O0 -w) target_compile_definitions(ice40_chipdb PRIVATE NEXTPNR_NAMESPACE=nextpnr_${family}) target_include_directories(ice40_chipdb PRIVATE ${family}/) +set(ICEBOX_ROOT "/usr/local/share/icebox" CACHE STRING "icebox location root") foreach (dev ${devices}) - set(DEV_TXT_DB /usr/local/share/icebox/chipdb-${dev}.txt) + set(DEV_TXT_DB ${ICEBOX_ROOT}/chipdb-${dev}.txt) set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ice40/chipdbs/chipdb-${dev}.cc) + set(DEV_PORTS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ice40/portpins.inc) add_custom_command(OUTPUT ${DEV_CC_DB} - COMMAND python3 ${DB_PY} -c ${DEV_TXT_DB} > ${DEV_CC_DB}.new + COMMAND python3 ${DB_PY} -c -p ${DEV_PORTS_INC} ${DEV_TXT_DB} > ${DEV_CC_DB}.new COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB} DEPENDS ${DEV_TXT_DB} ${DB_PY} ) -- cgit v1.2.3