Extract first PanoPainter UI target
This commit is contained in:
@@ -257,6 +257,18 @@ if(PP_BUILD_APP)
|
|||||||
set_source_files_properties(${PP_VENDOR_SOURCES}
|
set_source_files_properties(${PP_VENDOR_SOURCES}
|
||||||
PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
|
PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
|
||||||
|
|
||||||
|
add_library(pp_panopainter_ui STATIC
|
||||||
|
${PP_PANOPAINTER_UI_SOURCES})
|
||||||
|
target_link_libraries(pp_panopainter_ui
|
||||||
|
PUBLIC
|
||||||
|
pp_legacy_app
|
||||||
|
pp_project_options
|
||||||
|
PRIVATE
|
||||||
|
pp_project_warnings)
|
||||||
|
target_precompile_headers(pp_panopainter_ui REUSE_FROM pp_legacy_app)
|
||||||
|
set_target_properties(pp_panopainter_ui PROPERTIES
|
||||||
|
VS_GLOBAL_CharacterSet "Unicode")
|
||||||
|
|
||||||
add_library(panopainter_app STATIC
|
add_library(panopainter_app STATIC
|
||||||
${PP_PANOPAINTER_APP_SOURCES})
|
${PP_PANOPAINTER_APP_SOURCES})
|
||||||
target_include_directories(panopainter_app
|
target_include_directories(panopainter_app
|
||||||
@@ -265,6 +277,7 @@ if(PP_BUILD_APP)
|
|||||||
target_link_libraries(panopainter_app
|
target_link_libraries(panopainter_app
|
||||||
PUBLIC
|
PUBLIC
|
||||||
pp_legacy_app
|
pp_legacy_app
|
||||||
|
pp_panopainter_ui
|
||||||
pp_project_options
|
pp_project_options
|
||||||
PRIVATE
|
PRIVATE
|
||||||
pp_project_warnings)
|
pp_project_warnings)
|
||||||
|
|||||||
@@ -25,12 +25,10 @@ set(PP_LEGACY_APP_SOURCES
|
|||||||
src/log.cpp
|
src/log.cpp
|
||||||
src/mp4enc.cpp
|
src/mp4enc.cpp
|
||||||
src/node.cpp
|
src/node.cpp
|
||||||
src/node_about.cpp
|
|
||||||
src/node_border.cpp
|
src/node_border.cpp
|
||||||
src/node_button.cpp
|
src/node_button.cpp
|
||||||
src/node_button_custom.cpp
|
src/node_button_custom.cpp
|
||||||
src/node_canvas.cpp
|
src/node_canvas.cpp
|
||||||
src/node_changelog.cpp
|
|
||||||
src/node_checkbox.cpp
|
src/node_checkbox.cpp
|
||||||
src/node_color_quad.cpp
|
src/node_color_quad.cpp
|
||||||
src/node_colorwheel.cpp
|
src/node_colorwheel.cpp
|
||||||
@@ -46,8 +44,6 @@ set(PP_LEGACY_APP_SOURCES
|
|||||||
src/node_image.cpp
|
src/node_image.cpp
|
||||||
src/node_image_texture.cpp
|
src/node_image_texture.cpp
|
||||||
src/node_input_box.cpp
|
src/node_input_box.cpp
|
||||||
src/node_message_box.cpp
|
|
||||||
src/node_metadata.cpp
|
|
||||||
src/node_panel_animation.cpp
|
src/node_panel_animation.cpp
|
||||||
src/node_panel_brush.cpp
|
src/node_panel_brush.cpp
|
||||||
src/node_panel_color.cpp
|
src/node_panel_color.cpp
|
||||||
@@ -67,7 +63,6 @@ set(PP_LEGACY_APP_SOURCES
|
|||||||
src/node_text.cpp
|
src/node_text.cpp
|
||||||
src/node_text_input.cpp
|
src/node_text_input.cpp
|
||||||
src/node_tool_bucket.cpp
|
src/node_tool_bucket.cpp
|
||||||
src/node_usermanual.cpp
|
|
||||||
src/node_viewport.cpp
|
src/node_viewport.cpp
|
||||||
src/pch.cpp
|
src/pch.cpp
|
||||||
src/rtt.cpp
|
src/rtt.cpp
|
||||||
@@ -84,6 +79,14 @@ set(PP_PANOPAINTER_APP_SOURCES
|
|||||||
src/version.cpp
|
src/version.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(PP_PANOPAINTER_UI_SOURCES
|
||||||
|
src/node_about.cpp
|
||||||
|
src/node_changelog.cpp
|
||||||
|
src/node_message_box.cpp
|
||||||
|
src/node_metadata.cpp
|
||||||
|
src/node_usermanual.cpp
|
||||||
|
)
|
||||||
|
|
||||||
set(PP_WINDOWS_PLATFORM_SOURCES
|
set(PP_WINDOWS_PLATFORM_SOURCES
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Keep it updated as platform paths move to shared CMake targets.
|
|||||||
|
|
||||||
| Platform/Target | Current Entrypoint | Notes |
|
| Platform/Target | Current Entrypoint | Notes |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Windows desktop | Root `CMakeLists.txt`, preset `windows-msvc-default`; target preset `windows-vs2026-x64` retained for VS 2026 | Raw `.sln/.vcxproj` files removed on 2026-05-31; local machine currently uses Visual Studio 17 2022; `PanoPainter` now links through `pp_platform_windows` and `panopainter_app`, with Windows/vendor link dependencies owned by the platform shell, runtime payload deployment in `cmake/PanoPainterRuntime.cmake`, and version metadata owned by `panopainter_app` |
|
| Windows desktop | Root `CMakeLists.txt`, preset `windows-msvc-default`; target preset `windows-vs2026-x64` retained for VS 2026 | Raw `.sln/.vcxproj` files removed on 2026-05-31; local machine currently uses Visual Studio 17 2022; `PanoPainter` now links through `pp_platform_windows` and `panopainter_app`, with Windows/vendor link dependencies owned by the platform shell, runtime payload deployment in `cmake/PanoPainterRuntime.cmake`, version metadata owned by `panopainter_app`, and the first modal/help UI nodes owned by `pp_panopainter_ui` |
|
||||||
| Windows AppX | `PanoPainterPackage/Package.appxmanifest`, `.wapproj` referenced by solution | Distribution packaging |
|
| Windows AppX | `PanoPainterPackage/Package.appxmanifest`, `.wapproj` referenced by solution | Distribution packaging |
|
||||||
| macOS | `PanoPainter-OSX/` project files and `Info.plist` | Uses `NSOpenGLView` today |
|
| macOS | `PanoPainter-OSX/` project files and `Info.plist` | Uses `NSOpenGLView` today |
|
||||||
| iOS | `PanoPainter/Info.plist`, related Apple sources | Uses OpenGL ES today |
|
| iOS | `PanoPainter/Info.plist`, related Apple sources | Uses OpenGL ES today |
|
||||||
|
|||||||
@@ -148,7 +148,10 @@ option targets exist. The Windows desktop app builds through CMake as
|
|||||||
dependencies now belong to the platform shell target, and Windows runtime
|
dependencies now belong to the platform shell target, and Windows runtime
|
||||||
payload deployment lives behind `cmake/PanoPainterRuntime.cmake`.
|
payload deployment lives behind `cmake/PanoPainterRuntime.cmake`.
|
||||||
`panopainter_app` is now a real static target that owns app version metadata
|
`panopainter_app` is now a real static target that owns app version metadata
|
||||||
and version-header generation. Android arm64 now configures and builds headless
|
and version-header generation. The first `pp_panopainter_ui` target now owns a
|
||||||
|
small app-specific modal/help UI group (`NodeAbout`, `NodeChangelog`,
|
||||||
|
`NodeMessageBox`, `NodeMetadata`, and `NodeUserManual`) outside
|
||||||
|
`pp_legacy_app`. Android arm64 now configures and builds headless
|
||||||
foundation/tool targets through the root CMake/NDK path. Non-Windows platform
|
foundation/tool targets through the root CMake/NDK path. Non-Windows platform
|
||||||
app/package files remain during Phase 6 alignment.
|
app/package files remain during Phase 6 alignment.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user