powervr-graphics / Native_SDK

C++ cross-platform 3D graphics SDK. Includes demos & helper code (resource loading etc.) to speed up development of Vulkan, OpenGL ES 2.0 & 3.x applications
https://docs.imgtec.com/sdk-documentation/html/introduction.html
MIT License
702 stars 197 forks source link

Can't Build for Debian Using Provided Instructions [BUG] #84

Closed maxbrews closed 3 months ago

maxbrews commented 3 months ago

Description

Cannot build using the provided instructions for Debian 12 Linux. I have downloaded using the git repository info and from the build folder, I execute cmake .. -DPVR_WINDOW_SYSTEM=NullWS as instructed.

I then get multiple errors for all the externals such as:

CMake Error at external/pugixml/CMakeLists.txt:17 (add_subdirectory): The source directory

/home/mark/develop/PowerVR_SDK/Native_SDK/external/pugixml/source

does not contain a CMakeLists.txt file.

When I look, the source folders for all the externals are empty. I "think" these are supposed to be auto populated, but cannot figure out where the issue is. I have tried manually pulling the source for one of them and populating the folder. This does eliminate that specific error, but not sure if this will cause additional problems.

I have submitted this as a bug, but am not sure if this is a generic Debian or cmake config issue of some kind.

AlejandroCosin commented 3 months ago

Hi maxbrews,

Thanks for your message.

Since R22.1-v5.9 the PowerVR SDK uses git submodules for external dependencies, you will need to clone again with the --recurse-submodules parameter.

Also please make sure you use the correct windowing system for the build. For the case of Debian 12 with Gnome it should be Wayland ( cmake .. -DPVR_WINDOW_SYSTEM=Wayland ). Otherwise you can try X11 ( cmake .. -DPVR_WINDOW_SYSTEM=X11 ) or XCB ( cmake .. -DPVR_WINDOW_SYSTEM=XCB ).

Please let me know if you have any other issues.

Best regards, Alejandro

maxbrews commented 3 months ago

Thank you for the fast response. Using the git --recurse option addressed my problem. I'm use NullWS for the window system argument because I will be cross compiling for a target with no window manager.