conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
949 stars 1.73k forks source link

[package] raylib/5.0: Missing rcamera.h header #24368

Open Ezbob opened 3 months ago

Ezbob commented 3 months ago

Description

I've tried to run the 3d camera examples from the RayLib package, but it seems that the rcamera.h header is missing from the package's include path. I've managed to find it in the RayLib's source so it seems like it still around. Furthermore it seems that the raudio.h header is also missing.

Package and Environment Details

Conan profile

[settings] arch=x86_64 build_type=Release compiler=msvc compiler.cppstd=14 compiler.runtime=dynamic compiler.version=193 os=Windows

[options] [conf] [build_requires] [env]

Steps to reproduce

Put:

[requires]
raylib/5.0

[generators]
CMakeDeps
CMakeToolchain

[layout]
cmake_layout

in a conanfile.txt. Run conan install . -pr:h=default -pr:b=default --build=missing to install depedencies.

Try and compile this program with the using the conan_toolchain.cmake:

#include "raylib.h"
#include "rcamera.h"

int main(void)
{
  return 0;
}

Logs

Click to expand log ``` MSBuild version 17.7.2+d6990bcfa for .NET Framework Checking Build System Building Custom Rule H:/c++/pewpew/CMakeLists.txt main.c H:\c++\pewpew\src\main.c(15,10): fatal error C1083: Cannot open include file: 'rcamera.h': No such file or directory [H:\c++\pewpew\build\pewpew.vcxproj] ```
AbrilRBS commented 3 months ago

Hi @Ezbob thanks a lot for taking the time to report your issue, we appreciate it :)

I don't think this is a recipe issue, as per the upstream cmakelist in https://github.com/raysan5/raylib/blob/master/src/CMakeLists.txt#L24, you can see that they set a minimal collection of headers as part of their public API, so it's not clear to me if the expectations are to be able to use such headers externally

As you mention, to confuse things even more, they do show up in the examples, so maybe we need to ask upstream first?

Ezbob commented 3 months ago

Hello, and thanks for your quick response, and sorry for my slow one. Hmm... Yes I can see that it looks like they don't expose rcamera.h as a public header... I can see that others also had the problem (Discussion). I'll check try and check with the raylib guys.

AbrilRBS commented 3 months ago

Thanks! Please feel free to ping me once you get some insight into the issue, would be happy to quickly act on it :)

Ezbob commented 3 months ago

Hello @RubenRBS , I've made an issue on the upstream repository, but they have closed it as a no-fix. While I don't get their conclusion, it seems that for the getting the examples to work (those who use rcamera.h or rgestures.h), you'll need to copy the missing headers from their repository to your own.

AbrilRBS commented 3 months ago

Thanks for the follow up @Ezbob! I think I might have a solution for this that might satisfy us all, I'll submit a PR in a bit where we can discuss it :)

Ezbob commented 3 months ago

Cool! Thanks @RubenRBS :)