From 1b28bdd12193d8605ec0e72e3685ecb58fa2f90e Mon Sep 17 00:00:00 2001 From: "Gabriel L. Somlo" Date: Sun, 3 Feb 2019 08:43:05 -0500 Subject: 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 --- ecp5/family.cmake | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'ecp5/family.cmake') 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) -- cgit v1.2.3