Skip to content

Broken install of OpenXR-SDK package on Android #568

@emaschino

Description

@emaschino

Hi,

Rebuilding OpenXR-SDK Git repository targeting Android yields to a broken install directory (e.g. Debug build):

E:\dev\OpenXR-SDK>cmake --build build_x86_64/Debug -t install
[0/2] Re-checking globbed directories...
[22/23] Install the project...-- Install configuration: "Debug"
-- Installing: /openxr/openxr_platform_defines.h
-- Installing: /openxr/openxr.h
-- Installing: /openxr/openxr_loader_negotiation.h
-- Installing: /openxr/openxr_platform.h
-- Installing: /openxr/openxr_reflection.h
-- Installing: /openxr/openxr_reflection_structs.h
-- Installing: /openxr/openxr_reflection_parent_structs.h
-- Installing: /pkgconfig/openxr.pc
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/libopenxr_loaderd.so
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRTargets.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRTargets-debug.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRConfig.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRConfigVersion.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/share/doc/openxr/LICENSE

Notice how the headers and PkgConfig files are incorrectly installed to the root directory.

I've traced back this regression to OpenXR release 1.0.32. Looking at the various CMakeLists.txt, it seems to me that inclusion of GNUInstallDirs is missing for Android because of this explicit test at ln. 123 in the main CMakeLists.txt file:

elseif(NOT ANDROID)
    include(GNUInstallDirs)
endif()

Why is Android excluded for inclusion of GNUInstallDirs?

Replacing elseif(NOT ANDROID) by else() yields a correct install directory:

E:\dev\OpenXR-SDK>cmake --build build_x86_64/Debug -t install
[0/2] Re-checking globbed directories...
[22/23] Install the project...-- Install configuration: "Debug"
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_platform_defines.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_loader_negotiation.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_platform.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_reflection.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_reflection_structs.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/include/openxr/openxr_reflection_parent_structs.h
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/pkgconfig/openxr.pc
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/libopenxr_loaderd.so
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRTargets.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRTargets-debug.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRConfig.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/lib/cmake/openxr/OpenXRConfigVersion.cmake
-- Installing: E:/dev/OpenXR-SDK/build_x86_64/Debug/install/share/doc/openxr/LICENSE

Or am I missing something else (e.g. a particular variable to set) ?

Thanks.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions