Files
create/src/Gui/SDK/bindings/CMakeLists.txt
forbes ab8519c272
All checks were successful
Build and Test / build (pull_request) Successful in 29m13s
feat(sdk): add status bar widget wrapper and origin query bindings (#356)
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.
2026-03-01 14:13:31 -06:00

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})