Open jonas-printzen opened 9 months ago
Hey @jonas-printzen, understandable - the recipe is a lot to look at.
There is a tools
option you can set to True
.
Something like this in your conanfile.py should do the trick:
def configure(self):
self.options["bgfx/cci.20230216"]["tools"] = True
Description
I'm attempting to include the
bgfx
library in my project, to render 3D visualizations and more, using conan2. I manage to build and run the most trivial example, with simple log output in renders, so the library and headers are there. However, the library depends heavily on it's own shader-compiler,shaderc
, which does not seem to be available. I can't find them in the~/.conan2/p
folder, where everything else is present and working. I was also trying to figure out how it could be done, but looking at the recipe confuses me. It would be very interesting to me to learn how to get such a thing working. I might even be able to pitch in and help with it, but it is not really obvious how, given the state of the recipe.Package and Environment Details
self.tool_requires('cmake/3.27.9')
Conan profile
$ cat ~/.conan2/profiles/default => ...
Steps to reproduce
My conanfile.py works as far as compiling and running the app. -----8<-----8<-----8<-----8<-----8<-----8<-----
-----8<-----8<-----8<-----8<-----8<-----8<-----
Running:
find ~/.conan2/p -type f -iname '*shaderc*'
only finds source-files. There is no.../bin/
- folder in the cache.But, checking out the source for bgfx et'al from github does also produce the binary
shaderc
.Logs
bgfx/cci.20230216: RUN: make bgfx -R -C /home/jonas/.conan2/p/b/bgfx9ec19c61794e6/b/src/bgfx/.build/projects/gmake-linux config=release64 -j36 make: Entering directory '/home/jonas/.conan2/p/b/bgfx9ec19c61794e6/b/src/bgfx/.build/projects/gmake-linux' ==== Building bx (release64) ==== Creating ../../linux64_gcc/obj/x64/Release/bx Creating ../../linux64_gcc/obj/x64/Release/bx/bx/src Creating ../../linux64_gcc/bin bounds.cpp bx.cpp allocator.cpp commandline.cpp crtnone.cpp debug.cpp dtoa.cpp easing.cpp file.cpp filepath.cpp hash.cpp math.cpp mutex.cpp os.cpp process.cpp semaphore.cpp settings.cpp thread.cpp sort.cpp timer.cpp url.cpp string.cpp Archiving bx ==== Building bgfx (release64) ==== Creating ../../linux64_gcc/obj/x64/Release/bgfx Creating ../../linux64_gcc/obj/x64/Release/bgfx/src bgfx.cpp debug_renderdoc.cpp dxgi.cpp glcontext_egl.cpp glcontext_glx.cpp glcontext_html5.cpp glcontext_wgl.cpp nvapi.cpp renderer_agc.cpp renderer_d3d11.cpp renderer_d3d9.cpp renderer_d3d12.cpp renderer_gl.cpp renderer_gnm.cpp renderer_noop.cpp renderer_nvn.cpp renderer_webgpu.cpp renderer_vk.cpp shader.cpp shader_dx9bc.cpp shader_dxbc.cpp shader_spirv.cpp topology.cpp vertexlayout.cpp Archiving bgfx make: Leaving directory '/home/jonas/.conan2/p/b/bgfx9ec19c61794e6/b/src/bgfx/.build/projects/gmake-linux'
bgfx/cci.20230216: Package '4abd4ecfb74e13397599e76527d79f91b0ff3cad' built bgfx/cci.20230216: Build folder /home/jonas/.conan2/p/b/bgfx9ec19c61794e6/b/build-release bgfx/cci.20230216: Generating the package bgfx/cci.20230216: Packaging in folder /home/jonas/.conan2/p/b/bgfx9ec19c61794e6/p bgfx/cci.20230216: Calling package() bgfx/cci.20230216: package(): Packaged 1 '.a' file: libbgfx.a bgfx/cci.20230216: package(): Packaged 1 file: LICENSE bgfx/cci.20230216: package(): Packaged 5 '.h' files bgfx/cci.20230216: Created package revision ac52023eeb9db4884a92fd1e261cac87 bgfx/cci.20230216: Package '4abd4ecfb74e13397599e76527d79f91b0ff3cad' created bgfx/cci.20230216: Full package reference: bgfx/cci.20230216#d0bbce02186a893b282d15b21c42eca7:4abd4ecfb74e13397599e76527d79f91b0ff3cad#ac52023eeb9db4884a92fd1e261cac87 bgfx/cci.20230216: Package folder /home/jonas/.conan2/p/b/bgfx9ec19c61794e6/p codie/0.5.93: Already installed! (17 of 17) WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X: WARN: deprecated: 'cpp_info.names' used in: abseil/20230125.3, openssl/3.2.0, gtest/1.14.0, bgfx/cci.20230216, c-ares/1.19.1, protobuf/3.21.12, bx/cci.20221116, grpc/1.54.3, bimg/cci.20230114, zlib/1.3 WARN: deprecated: 'cpp_info.build_modules' used in: abseil/20230125.3, openssl/3.2.0, protobuf/3.21.12, grpc/1.54.3 WARN: deprecated: 'env_info' used in: openssl/3.2.0, c-ares/1.19.1, imgui/1.90, cmake/3.27.9, genie/1170, protobuf/3.21.12, grpc/1.54.3 WARN: deprecated: 'cpp_info.filenames' used in: opengl/system, bgfx/cci.20230216, protobuf/3.21.12, bx/cci.20221116, bimg/cci.20230114
======== Finalizing install (deploy, generators) ======== conanfile.py (vui/0.1.2): Calling generate() conanfile.py (vui/0.1.2): Generators folder: /home/jonas/proj/cxx/vui/build/Release/generators conanfile.py (vui/0.1.2): CMakeToolchain generated: conan_toolchain.cmake conanfile.py (vui/0.1.2): Preset 'conan-release' added to CMakePresets.json. Invoke it manually using 'cmake --preset conan-release' if using CMake>=3.23 conanfile.py (vui/0.1.2): If your CMake version is not compatible with CMakePresets (<3.23) call cmake like: 'cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=/home/jonas/proj/cxx/vui/build/Release/generators/conan_toolchain.cmake -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release'
conanfile.py (vui/0.1.2): CMakeToolchain generated: CMakePresets.json
conanfile.py (vui/0.1.2): CMakeToolchain generated: ../../../CMakeUserPresets.json
conanfile.py (vui/0.1.2): Generating aggregated env files
conanfile.py (vui/0.1.2): Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
Install finished successfully