microsoft / OpenXR-MixedReality

OpenXR samples and preview headers for HoloLens and Windows Mixed Reality developers familiar with Visual Studio
https://aka.ms/openxr
MIT License
335 stars 95 forks source link

Extended provided samples to use additional external libraries #86

Closed traversaro closed 2 years ago

traversaro commented 3 years ago

Hi all, first of all, thanks a lot for providing this repo.

I am interested in building an app targeting the HoloLens2 that links several existing open source libraries, that are typically built via CMake. There is any existing recommendation or examples regarding this use case? I tried to modify the BasicXrApp provided in this repo to use external libraries provided by vcpkg in https://github.com/iit-danieli-joint-lab/idjl-hololens2-examples/tree/initial/BasicXrAppWithVcpkgDependencies , but I am not sure if this is the best way to proceed in this direction.

Thanks in advance!

yl-msft commented 3 years ago

We've not find a good "cmake" workflow for building and running UWP app on HoloLens 2 yet. Would love to learn from your experience and find a good path for cmake developers on HoloLens.

I think cmake is good at building the libraries and binaries into UWP app. But the packaging and debugging experience for cmake toolset is not well supported for HoloLens 2 developer workflow. VisualStudio vcxproj project is still the best way to go for the application.

I wonder if there's any workflow you can explore, using cmake to build your code and dependencies as dlls or libs published in some place, and then setup your vcxproj project in VisualStudio for the final application packaging and debugging purpose. This way you probably can leverage the best parts of both worlds.

traversaro commented 2 years ago

I wonder if there's any workflow you can explore, using cmake to build your code and dependencies as dlls or libs published in some place, and then setup your vcxproj project in VisualStudio for the final application packaging and debugging purpose. This way you probably can leverage the best parts of both worlds.

Sorry, I had missed your response. This is exactly the workflow achieved in https://github.com/iit-danieli-joint-lab/idjl-hololens2-examples/tree/51d0ab7dd4cc6bb11677a39a9a71bcfcd3718ebb/BasicXrAppWithVcpkgDependencies (sorry, the link in the previous post was broken) by using vcpkg to build the dependencies and then integrating them in vcxproj. The README already provide some details, I would be happy to clarify any not additional point that is not clear.