Skip to content

Conversation

@angela28chen
Copy link
Collaborator

@angela28chen angela28chen commented Dec 8, 2025

Changes:

  • Switch from Ninja to Ninja Multi-Config so that the build folder structure on Mac/Linux parallels Windows better (since VS is a multi-config generator)
  • Rather than DIVE_ROOT/install, use DIVE_ROOT/build/pkg/<host|device> for dev builds and similar TOP_LEVEL/build/pkg/<host|device> for release binaries.
  • The provided utility for locating the files is Dive::ResolveDevicePath(). Refactor other areas where the same logic is being performed to use this instead

@angela28chen angela28chen changed the title Install flow change [WIP] Install flow change Dec 8, 2025
@angela28chen angela28chen force-pushed the install-flow branch 2 times, most recently from 21d0c3e to 280a4bc Compare December 12, 2025 17:18
@angela28chen
Copy link
Collaborator Author

This is built on top of some stuff from #652 (namely the DIVE_INSTALL_DESTINATION changes) so need to rebase this after that is merged

@angela28chen
Copy link
Collaborator Author

angela28chen commented Dec 12, 2025

Manual Testing (2025/12/12 1:40PM)

  • Windows:
    • dive_client_cli version and dive UI (launched from VS) version can both locate the device libraries CSV
  • Linux : same ^
  • Mac: (TODO) need to figure out the UI packaging part

Also the presubmits have been updated

@angela28chen angela28chen changed the title [WIP] Install flow change Restructure build and install folders to make it more similar cross-platform, cross-build type, and cross-release type Dec 12, 2025
@angela28chen angela28chen changed the title Restructure build and install folders to make it more similar cross-platform, cross-build type, and cross-release type Restructure build and install folders to make it more similar across different platforms, build types, and release types Dec 12, 2025
@angela28chen angela28chen marked this pull request as ready for review December 12, 2025 17:34
@angela28chen angela28chen force-pushed the install-flow branch 3 times, most recently from e5d36f9 to d4bc467 Compare December 12, 2025 18:51
@angela28chen
Copy link
Collaborator Author

angela28chen commented Dec 12, 2025

EDIT: this is outdated now

Linux build/ file structure (pretty similar to windows)

build
├── device
│   ├── bin
│   │   ├── Debug
│   │   ├── Release
│   │   ├── RelWithDebInfo
│   │   └── VkLayer_dive_capture.json
│   ├── build-Debug.ninja
│   ├── build.ninja
│   ├── build-Release.ninja
│   ├── build-RelWithDebInfo.ninja
...
│   ├── Debug
│   │   └── DEVICE_LIBRARIES_VERSION.csv
...
│   ├── Release
│   │   └── DEVICE_LIBRARIES_VERSION.csv
│   ├── RelWithDebInfo
│   │   └── DEVICE_LIBRARIES_VERSION.csv
...
├── host
│   ├── bin
│   │   ├── Debug
│   │   ├── Release
│   │   └── RelWithDebInfo
│   ├── build-Debug.ninja
│   ├── build.ninja
│   ├── build-Release.ninja
│   ├── build-RelWithDebInfo.ninja
..
│   └── ui
│       ├── CMakeFiles
│       ├── cmake_install.cmake
│       ├── Debug
│       ├── dive_ui_autogen
│       ├── licenses
│       ├── NOTICE
│       ├── Release
│       └── RelWithDebInfo
└── pkg
    ├── device
    │   ├── DEVICE_LIBRARIES_VERSION.csv
    │   ├── gfxrecon.py
    │   ├── gfxr-replay.apk
    │   ├── libVkLayer_dive.so
    │   ├── libVkLayer_gfxreconstruct.so
    │   ├── libVkLayer_khronos_validation.so
    │   ├── libVkLayer_rt_dive.so
    │   ├── libwrap.so
    │   ├── libXrApiLayer_dive.so
    │   └── XrApiLayer_dive.json
    └── host
        ├── bin
        ├── dive
        ├── dive_client_cli
        ├── include
        ├── lib
        ├── NOTICE
        └── share

@angela28chen angela28chen force-pushed the install-flow branch 2 times, most recently from 485a7ab to 9eda241 Compare December 15, 2025 23:21
@angela28chen angela28chen marked this pull request as draft December 16, 2025 16:53
@angela28chen
Copy link
Collaborator Author

angela28chen commented Dec 16, 2025

Going to attempt to break this into smaller PRs for easier reviews:

Remaining changes

  • "unified build folder": Remove build_android and put under build/, dividing into host and device. Also move the deployment folder under build/

@angela28chen angela28chen changed the title Restructure build and install folders to make it more similar across different platforms, build types, and release types [PoC] Restructure build and install folders to make it more similar across different platforms, build types, and release types Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant