diff options
author | Gabriel L. Somlo <gsomlo@gmail.com> | 2019-02-03 08:43:05 -0500 |
---|---|---|
committer | Gabriel L. Somlo <gsomlo@gmail.com> | 2019-02-10 06:42:38 -0500 |
commit | 1b28bdd12193d8605ec0e72e3685ecb58fa2f90e (patch) | |
tree | 1f167dca954858e9cbd3ebcc107086c598233b51 /ecp5 | |
parent | 4a2560b0d385736783ff1f75ea9602bfee6078bf (diff) | |
download | nextpnr-1b28bdd12193d8605ec0e72e3685ecb58fa2f90e.tar.gz nextpnr-1b28bdd12193d8605ec0e72e3685ecb58fa2f90e.tar.bz2 nextpnr-1b28bdd12193d8605ec0e72e3685ecb58fa2f90e.zip |
ecp5: cmake: Search for pytrellis.so in multiple locations
If a distro-specific "trellis-devel" package is used, the
pytrellis.so library might be located in a dedicated directory,
rather than under TRELLIS_ROOT.
Search for pytrellis.so in a list of directories, then subsequently
use the first match as part of PYTHONPATH.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
Diffstat (limited to 'ecp5')
-rw-r--r-- | ecp5/family.cmake | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ecp5/family.cmake b/ecp5/family.cmake index 679325b2..1d9b4532 100644 --- a/ecp5/family.cmake +++ b/ecp5/family.cmake @@ -6,12 +6,19 @@ if (NOT DEFINED TRELLIS_ROOT) set(TRELLIS_ROOT "/usr/local/share/trellis") endif() -file(GLOB found_pytrellis ${TRELLIS_ROOT}/libtrellis/pytrellis.*) +file(GLOB found_pytrellis ${TRELLIS_ROOT}/libtrellis/pytrellis.* + /usr/lib/pytrellis.* + /usr/lib64/pytrellis.* + /usr/lib/trellis/pytrellis.* + /usr/lib64/trellis/pytrellis.*) if ("${found_pytrellis}" STREQUAL "") - message(FATAL_ERROR "failed to find pytrellis library in ${TRELLIS_ROOT}/libtrellis/") + message(FATAL_ERROR "failed to locate pytrellis library!") endif() +list(GET found_pytrellis 0 PYTRELLIS_LIB) +get_filename_component(PYTRELLIS_LIBDIR ${PYTRELLIS_LIB} DIRECTORY) + set(DB_PY ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/trellis_import.py) file(MAKE_DIRECTORY ecp5/chipdbs/) @@ -20,9 +27,9 @@ target_compile_definitions(ecp5_chipdb PRIVATE NEXTPNR_NAMESPACE=nextpnr_${famil target_include_directories(ecp5_chipdb PRIVATE ${family}/) if (CMAKE_HOST_WIN32) -set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=\"${TRELLIS_ROOT}/libtrellis\;${TRELLIS_ROOT}/util/common\;${TRELLIS_ROOT}/timing/util\"") +set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=\"${PYTRELLIS_LIBDIR}\;${TRELLIS_ROOT}/util/common\;${TRELLIS_ROOT}/timing/util\"") else() -set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=${TRELLIS_ROOT}/libtrellis:${TRELLIS_ROOT}/util/common:${TRELLIS_ROOT}/timing/util") +set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTRELLIS_LIBDIR}\:${TRELLIS_ROOT}/util/common:${TRELLIS_ROOT}/timing/util") endif() if (MSVC) |