mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-18 10:56:11 +00:00
Simplify python binding include handling (#3268)
* Simplify python binding include handling * remove duplicate code introduced in #2952 * specify include path using multiple include-path lines instead instead of single line with with directories separated by ; or : * Fix macoS qt6 python bindings build
This commit is contained in:
parent
653435cb14
commit
a6af2911dc
@ -429,33 +429,7 @@ if(CUTTER_ENABLE_PYTHON_BINDINGS)
|
|||||||
|
|
||||||
include_directories("${BINDINGS_BUILD_DIR}/CutterBindings")
|
include_directories("${BINDINGS_BUILD_DIR}/CutterBindings")
|
||||||
|
|
||||||
set(SHIBOKEN_INCLUDE_DIRS "")
|
|
||||||
if(APPLE AND _qt6Core_install_prefix)
|
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt6Core_install_prefix}/include")
|
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt6Core_install_prefix}/include/QtCore")
|
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt6Core_install_prefix}/include/QtGui")
|
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt6Core_install_prefix}/include/QtWidgets")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (CUTTER_QT6)
|
|
||||||
list(APPEND SHIBOKEN_INCLUDE_DIRS ${Qt6Core_INCLUDE_DIRS} ${Qt6Widgets_INCLUDE_DIRS} ${Qt6Gui_INCLUDE_DIRS})
|
|
||||||
else()
|
|
||||||
list(APPEND SHIBOKEN_INCLUDE_DIRS ${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(_dir ${CUTTER_INCLUDE_DIRECTORIES})
|
|
||||||
list(APPEND SHIBOKEN_INCLUDE_DIRS
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${_dir}>
|
|
||||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/cutter/${_dir}>
|
|
||||||
)
|
|
||||||
endforeach()
|
|
||||||
list(APPEND SHIBOKEN_INCLUDE_DIRS ${Rizin_INCLUDE_DIRS})
|
|
||||||
if (NOT WIN32)
|
|
||||||
string(REPLACE ";" ":" SHIBOKEN_INCLUDE_DIRS "${SHIBOKEN_INCLUDE_DIRS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SHIBOKEN_OPTIONS)
|
set(SHIBOKEN_OPTIONS)
|
||||||
list(APPEND SHIBOKEN_OPTIONS --include-paths="${SHIBOKEN_INCLUDE_DIRS}")
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
list(APPEND SHIBOKEN_OPTIONS --avoid-protected-hack)
|
list(APPEND SHIBOKEN_OPTIONS --avoid-protected-hack)
|
||||||
endif()
|
endif()
|
||||||
@ -558,11 +532,16 @@ if(CUTTER_ENABLE_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(APPLE AND _qt5Core_install_prefix)
|
set(BINDINGS_INCLUDE_DIR_LINES "")
|
||||||
|
if(APPLE)
|
||||||
|
if (_qt5Core_install_prefix)
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include")
|
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include")
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtCore")
|
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtCore")
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtGui")
|
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtGui")
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtWidgets")
|
list(APPEND BINDINGS_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/QtWidgets")
|
||||||
|
elseif(CUTTER_QT6)
|
||||||
|
string(APPEND BINDINGS_INCLUDE_DIR_LINES "framework-include-path=${QT6_INSTALL_PREFIX}/${QT6_INSTALL_LIBS}\n")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if (CUTTER_QT6)
|
if (CUTTER_QT6)
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS ${Qt6Core_INCLUDE_DIRS} ${Qt6Widgets_INCLUDE_DIRS} ${Qt6Gui_INCLUDE_DIRS})
|
list(APPEND BINDINGS_INCLUDE_DIRS ${Qt6Core_INCLUDE_DIRS} ${Qt6Widgets_INCLUDE_DIRS} ${Qt6Gui_INCLUDE_DIRS})
|
||||||
@ -571,9 +550,12 @@ if(CUTTER_ENABLE_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS ${Rizin_INCLUDE_DIRS})
|
list(APPEND BINDINGS_INCLUDE_DIRS ${Rizin_INCLUDE_DIRS})
|
||||||
list(APPEND BINDINGS_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}")
|
list(APPEND BINDINGS_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
if (NOT WIN32)
|
|
||||||
string(REPLACE ";" ":" BINDINGS_INCLUDE_DIRS "${BINDINGS_INCLUDE_DIRS}")
|
foreach(_dir ${BINDINGS_INCLUDE_DIRS})
|
||||||
|
if (NOT "${_dir}" STREQUAL "")
|
||||||
|
string(APPEND BINDINGS_INCLUDE_DIR_LINES "include-path = ${_dir}\n")
|
||||||
endif()
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
configure_file("${BINDINGS_SRC_DIR}/bindings.txt.in" "${BINDINGS_BUILD_DIR}/bindings.txt")
|
configure_file("${BINDINGS_SRC_DIR}/bindings.txt.in" "${BINDINGS_BUILD_DIR}/bindings.txt")
|
||||||
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
||||||
|
@ -7,7 +7,7 @@ typesystem-file = ${BINDINGS_BUILD_DIR}/bindings.xml
|
|||||||
|
|
||||||
output-directory = ${BINDINGS_BUILD_DIR}
|
output-directory = ${BINDINGS_BUILD_DIR}
|
||||||
|
|
||||||
include-path = ${BINDINGS_INCLUDE_DIRS}
|
${BINDINGS_INCLUDE_DIR_LINES}
|
||||||
|
|
||||||
typesystem-paths = ${PYSIDE_TYPESYSTEMS}
|
typesystem-paths = ${PYSIDE_TYPESYSTEMS}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user