All checks were successful
Build and Test / build (pull_request) Successful in 29m13s
register_status_widget(): pure Python wrapper that adds a live widget to the main window status bar with context menu discoverability. Origin query bindings (kcsdk.list_origins, active_origin, get_origin, set_active_origin): thin C++ forwarding to OriginManager with Python wrappers using kcsdk-first routing. IOriginProvider and IStatusBarProvider C++ interfaces dropped — existing FileOrigin stack is already complete, and status bar widgets don't need C++ lifecycle management.
38 lines
748 B
CMake
38 lines
748 B
CMake
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
set(KCSDKPy_SRCS
|
|
kcsdk_py.cpp
|
|
PyIPanelProvider.h
|
|
PyProviderHolder.h
|
|
PyIMenuProvider.h
|
|
PyMenuHolder.h
|
|
PyIToolbarProvider.h
|
|
PyToolbarHolder.h
|
|
)
|
|
|
|
add_library(kcsdk_py SHARED ${KCSDKPy_SRCS})
|
|
|
|
target_include_directories(kcsdk_py
|
|
PRIVATE
|
|
${CMAKE_SOURCE_DIR}/src
|
|
${CMAKE_BINARY_DIR}/src
|
|
${pybind11_INCLUDE_DIR}
|
|
)
|
|
|
|
target_link_libraries(kcsdk_py
|
|
PRIVATE
|
|
pybind11::module
|
|
Python3::Python
|
|
KCSDK
|
|
FreeCADGui
|
|
)
|
|
|
|
if(FREECAD_WARN_ERROR)
|
|
target_compile_warn_error(kcsdk_py)
|
|
endif()
|
|
|
|
SET_BIN_DIR(kcsdk_py kcsdk /Mod/Create)
|
|
SET_PYTHON_PREFIX_SUFFIX(kcsdk_py)
|
|
|
|
INSTALL(TARGETS kcsdk_py DESTINATION ${CMAKE_INSTALL_LIBDIR})
|