feat(create): add C++ module scaffold with App/ and Gui/ targets (#251) #262

Merged
forbes merged 1 commits from feat/cpp-module-scaffold into main 2026-02-17 17:55:28 +00:00
Owner

Establish src/Mod/Create/App/ and src/Mod/Create/Gui/ as the home for Kindred-specific C++ features (e.g. FlipPocket in Phase 2).

Scaffold only — no features implemented yet.

New files

  • CreateGlobal.h — export macros (CreateExport, CreateGuiExport)
  • App/AppCreate.cppPyMOD_INIT_FUNC(CreateApp) entry point
  • App/AppCreatePy.cppPy::ExtensionModule<Module> Python module object
  • App/CMakeLists.txt — shared lib target linking FreeCADApp
  • App/PreCompiled.h — minimal precompiled header
  • Gui/AppCreateGui.cppPyMOD_INIT_FUNC(CreateGui) entry point
  • Gui/AppCreateGuiPy.cppPy::ExtensionModule<Module> Python module object
  • Gui/CMakeLists.txt — shared lib target linking Create + FreeCADGui
  • Gui/PreCompiled.h — minimal precompiled header

Modified files

  • CMakeLists.txt — added add_subdirectory(App) and conditional add_subdirectory(Gui)

Follows the Assembly module pattern. Existing Python Init.py/InitGui.py bootstrap unchanged.

Closes #251.

Establish `src/Mod/Create/App/` and `src/Mod/Create/Gui/` as the home for Kindred-specific C++ features (e.g. FlipPocket in Phase 2). **Scaffold only — no features implemented yet.** ### New files - `CreateGlobal.h` — export macros (`CreateExport`, `CreateGuiExport`) - `App/AppCreate.cpp` — `PyMOD_INIT_FUNC(CreateApp)` entry point - `App/AppCreatePy.cpp` — `Py::ExtensionModule<Module>` Python module object - `App/CMakeLists.txt` — shared lib target linking `FreeCADApp` - `App/PreCompiled.h` — minimal precompiled header - `Gui/AppCreateGui.cpp` — `PyMOD_INIT_FUNC(CreateGui)` entry point - `Gui/AppCreateGuiPy.cpp` — `Py::ExtensionModule<Module>` Python module object - `Gui/CMakeLists.txt` — shared lib target linking `Create` + `FreeCADGui` - `Gui/PreCompiled.h` — minimal precompiled header ### Modified files - `CMakeLists.txt` — added `add_subdirectory(App)` and conditional `add_subdirectory(Gui)` Follows the Assembly module pattern. Existing Python `Init.py`/`InitGui.py` bootstrap unchanged. Closes #251.
forbes added 1 commit 2026-02-17 17:51:06 +00:00
feat(create): add C++ module scaffold with App/ and Gui/ targets (#251)
Some checks failed
Build and Test / build (pull_request) Failing after 2m2s
5d8a253956
Establish build infrastructure for Kindred-specific C++ features:

- CreateGlobal.h: export macros (CreateExport, CreateGuiExport)
- App/: CreateApp shared library (PyMOD_INIT_FUNC, Py::ExtensionModule)
- Gui/: CreateGui shared library (links CreateApp + FreeCADGui)
- CMakeLists.txt: add_subdirectory(App) + conditional add_subdirectory(Gui)

Scaffold only — no features. Follows the Assembly module pattern.
Existing Python Init.py/InitGui.py bootstrap unchanged.
forbes merged commit ab2fde4755 into main 2026-02-17 17:55:28 +00:00
forbes deleted branch feat/cpp-module-scaffold 2026-02-17 17:55:28 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#262