-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bgfx: add new version and consolidated recipe #24423
base: master
Are you sure you want to change the base?
Conversation
This comment has been minimized.
This comment has been minimized.
This needs osx >= 13, how do we limit it to that? Looks like it's trying to use 11.3 and the cci profiles do not provide os.version or os.sdk_version for osx, it seems |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recommending a new recipe folder name + updating the bx package to a different version so it's in sync with bgfx.
Move old recipe to cci2023 Use matching bx commit Add cppstd handling for conan 1 to toolchain generators Add apple sdk checks Change warning for compiler check
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
On conan 1, it still doesn't seem to use C++17 even with setting tc.cppstd = "-std=c++17" manually. I'm guessing tc.generate() overwrites it from self.settings? |
recipes/bgfx/all/conanfile.py
Outdated
tc.generate() | ||
else: | ||
tc = AutotoolsToolchain(self) | ||
if not self.settings.get_safe("compiler.cppstd"): | ||
tc.cppstd = "-std=c++17" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed as conan-io/conan#16533
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try with-macos=11 for macos [11, 13)
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@AbrilRBS when you have the time, it would be great if we could figure out how to proceed on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I double checked the commits and hashes.
Hey @AbrilRBS, sorry to bother you but is there any way you're aware of to escalate this topic for assessment? Or any workarounds? |
# Conflicts: # recipes/bgfx/all/conanfile.py
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Conan v1 pipeline ❌Warning Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement. Failure in build 9 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. Conan v2 pipeline ❌
The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping Failure in build 9 (
Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability. |
if self.settings.get_safe("os.sdk_version") and self.settings.get_safe("os.sdk_version") < "11.0": | ||
raise ConanInvalidConfiguration(f"{self.ref} requires macos sdk version >= 11") | ||
if (not self.settings.get_safe("os.sdk_version") and | ||
self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14.0"): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to compile this with apple-clang 14, sdk 13:
$ set -x SDKROOT /Users/abril/Downloads/Xcode_14.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/
$ sudo xcode-select -s /Users/abril/Downloads/Xcode_14.app/Contents/Developer/
$ conan create . --version=1.128.8832 -b="&" -s="compiler.version=14"
======== Exporting recipe to the cache ========
bgfx/1.128.8832: Exporting package recipe: /Users/abril/coding/external/raziel/recipes/bgfx/all/conanfile.py
bgfx/1.128.8832: exports: File 'conandata.yml' found. Exporting it...
bgfx/1.128.8832: Copied 1 '.py' file: conanfile.py
bgfx/1.128.8832: Copied 1 '.yml' file: conandata.yml
bgfx/1.128.8832: Exported to cache folder: /Users/abril/.conan2/p/bgfxc3b04bc281b34/e
bgfx/1.128.8832: Exported: bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273 (2024-12-02 13:04:02 UTC)
======== Input profiles ========
Profile host:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=14
os=Macos
[platform_tool_requires]
cmake/3.30.3
meson/1.5.2
[replace_tool_requires]
meson/*: meson/[>=1.0 <2]
[conf]
Profile build:
[settings]
arch=armv8
build_type=Release
compiler=apple-clang
compiler.cppstd=gnu17
compiler.libcxx=libc++
compiler.version=16
os=Macos
[platform_tool_requires]
cmake/3.30.3
meson/1.5.2
[replace_tool_requires]
meson/*: meson/[>=1.0 <2]
[conf]
======== Computing dependency graph ========
Graph root
cli
Requirements
bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273 - Cache
opengl/system#4df6fecde4084386beded3ed0e56e4ea - Cache
Build requirements
genie/1181#e71c04bd1600c9b54f855f60cb8a415b - Cache
======== Computing necessary packages ========
bgfx/1.128.8832: Forced build from source
Requirements
bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273:e5725d11cfa8430968fc8d969145c14b94a64333 - Build
opengl/system#4df6fecde4084386beded3ed0e56e4ea:da39a3ee5e6b4b0d3255bfef95601890afd80709#0ba8627bd47edc3a501e8f0eb9a79e5e - Cache
Build requirements
genie/1181#e71c04bd1600c9b54f855f60cb8a415b:617cae191537b47386c088e07b1822d8606b7e67#4ea6eca95e2d9728a2a49c70ef209ccf - Cache
======== Installing packages ========
genie/1181: Already installed! (1 of 3)
genie/1181: Appending PATH environment variable: /Users/abril/.conan2/p/genie3784fd1ff7c00/p/bin
opengl/system: Already installed! (2 of 3)
-------- Installing package bgfx/1.128.8832 (3 of 3) --------
bgfx/1.128.8832: Building from source
bgfx/1.128.8832: Package bgfx/1.128.8832:e5725d11cfa8430968fc8d969145c14b94a64333
bgfx/1.128.8832: Copying sources to build folder
bgfx/1.128.8832: Building your package in /Users/abril/.conan2/p/b/bgfxd77db638ad754/b
bgfx/1.128.8832: Calling generate()
bgfx/1.128.8832: Generators folder: /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/build-release/conan
bgfx/1.128.8832: Generating aggregated env files
bgfx/1.128.8832: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
bgfx/1.128.8832: Calling build()
bgfx/1.128.8832: Disabling no-rtti.
bgfx/1.128.8832: RUN: genie --with-tools --with-macos=11 --gcc=osx-arm64 gmake
Building configurations...
Running action 'gmake'...
Generating ".build/projects/gmake-osx-arm64/Makefile"
Generating ".build/projects/gmake-osx-arm64/bx.make"
Generating ".build/projects/gmake-osx-arm64/bimg.make"
Generating ".build/projects/gmake-osx-arm64/bimg_decode.make"
Generating ".build/projects/gmake-osx-arm64/bgfx.make"
Generating ".build/projects/gmake-osx-arm64/bimg_encode.make"
Generating ".build/projects/gmake-osx-arm64/example-glue.make"
Generating ".build/projects/gmake-osx-arm64/example-common.make"
Generating ".build/projects/gmake-osx-arm64/spirv-opt.make"
Generating ".build/projects/gmake-osx-arm64/spirv-cross.make"
Generating ".build/projects/gmake-osx-arm64/glslang.make"
Generating ".build/projects/gmake-osx-arm64/glsl-optimizer.make"
Generating ".build/projects/gmake-osx-arm64/fcpp.make"
Generating ".build/projects/gmake-osx-arm64/shaderc.make"
Generating ".build/projects/gmake-osx-arm64/texturec.make"
Generating ".build/projects/gmake-osx-arm64/texturev.make"
Generating ".build/projects/gmake-osx-arm64/geometryc.make"
Generating ".build/projects/gmake-osx-arm64/geometryv.make"
Done. Generated 18/18 projects.
bgfx/1.128.8832: RUN: make bx -R -C /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/src/bgfx/.build/projects/gmake-osx-arm64 config=release -j12
==== Building bx (release) ====
Creating ../../osx-arm64/obj/Release/bx
Creating ../../osx-arm64/obj/Release/bx/bx/src
Creating ../../osx-arm64/bin
allocator.cpp
bounds.cpp
bx.cpp
commandline.cpp
crtnone.cpp
debug.cpp
dtoa.cpp
easing.cpp
file.cpp
math.cpp
filepath.cpp
hash.cpp
mutex.cpp
os.cpp
process.cpp
semaphore.cpp
settings.cpp
sort.cpp
string.cpp
thread.cpp
timer.cpp
url.cpp
Archiving bx
bgfx/1.128.8832: RUN: make bimg -R -C /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/src/bgfx/.build/projects/gmake-osx-arm64 config=release -j12
==== Building bx (release) ====
==== Building bimg (release) ====
Creating ../../osx-arm64/obj/Release/bimg
Creating ../../osx-arm64/obj/Release/bimg/bimg/3rdparty/astc-encoder/source
Creating ../../osx-arm64/obj/Release/bimg/bimg/src
astcenc_averages_and_directions.cpp
astcenc_block_sizes.cpp
astcenc_color_quantize.cpp
astcenc_color_unquantize.cpp
astcenc_compress_symbolic.cpp
astcenc_compute_variance.cpp
astcenc_decompress_symbolic.cpp
astcenc_diagnostic_trace.cpp
astcenc_entry.cpp
astcenc_ideal_endpoints_and_weights.cpp
astcenc_image.cpp
astcenc_find_best_partitioning.cpp
astcenc_integer_sequence.cpp
astcenc_mathlib.cpp
astcenc_mathlib_softfloat.cpp
astcenc_partition_tables.cpp
astcenc_percentile_tables.cpp
astcenc_pick_best_endpoint_format.cpp
astcenc_quantization.cpp
astcenc_symbolic_physical.cpp
astcenc_weight_align.cpp
astcenc_weight_quant_xfer_tables.cpp
image.cpp
../../../../bimg/3rdparty/astc-encoder/source/astcenc_mathlib_softfloat.cpp:21:6: warning: 'ASTCENC_F16C' is not defined, evaluates to 0 [-Wundef]
#if (ASTCENC_F16C == 0) && (ASTCENC_NEON == 0)
^
../../../../bimg/3rdparty/astc-encoder/source/astcenc_mathlib_softfloat.cpp:21:29: warning: 'ASTCENC_NEON' is not defined, evaluates to 0 [-Wundef]
#if (ASTCENC_F16C == 0) && (ASTCENC_NEON == 0)
^
image_gnf.cpp
2 warnings generated.
Archiving bimg
bgfx/1.128.8832: RUN: make bimg_decode -R -C /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/src/bgfx/.build/projects/gmake-osx-arm64 config=release -j12
==== Building bx (release) ====
==== Building bimg_decode (release) ====
Creating ../../osx-arm64/obj/Release/bimg_decode
Creating ../../osx-arm64/obj/Release/bimg_decode/bimg/3rdparty/tinyexr/deps/miniz
Creating ../../osx-arm64/obj/Release/bimg_decode/bimg/src
miniz.c
image_decode.cpp
In file included from ../../../../bimg/src/image_decode.cpp:22:
../../../../bimg/3rdparty/tinyexr/tinyexr.h:6775:29: warning: variable 'block_data_size' set but not used [-Wunused-but-set-variable]
tinyexr::tinyexr_uint64 block_data_size = 0;
^
../../../../bimg/3rdparty/tinyexr/tinyexr.h:7211:10: warning: variable 'sum' set but not used [-Wunused-but-set-variable]
size_t sum = memory.size();
^
2 warnings generated.
Archiving bimg_decode
bgfx/1.128.8832: RUN: make bimg_encode -R -C /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/src/bgfx/.build/projects/gmake-osx-arm64 config=release -j12
==== Building bx (release) ====
==== Building bimg_encode (release) ====
Creating ../../osx-arm64/obj/Release/bimg_encode
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/edtaa3
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/etc1
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/libsquish
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/iqa/source
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/nvtt
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/etc2
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/nvtt/nvmath
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/pvrtc
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/nvtt/bc7
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/3rdparty/nvtt/bc6h
edtaa3func.cpp
etc1.cpp
alpha.cpp
colourfit.cpp
clusterfit.cpp
Creating ../../osx-arm64/obj/Release/bimg_encode/bimg/src
colourset.cpp
colourblock.cpp
rangefit.cpp
maths.cpp
singlecolourfit.cpp
squish.cpp
zoh.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
zoh_utils.cpp
1 warning generated.
zohone.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
zohtwo.cpp
1 warning generated.
avpcl.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
../../../../bimg/3rdparty/nvtt/bc6h/zohone.cpp:247:9: warning: variable 'd' set but not used [-Wunused-but-set-variable]
int d;
^
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
avpcl_mode0.cpp
avpcl_mode1.cpp
1 warning generated.
avpcl_mode2.cpp
1 warning generated.
2 warnings generated.
avpcl_mode3.cpp
1 warning generated.
1 warning generated.
avpcl_mode4.cpp
avpcl_mode5.cpp
1 warning generated.
avpcl_mode6.cpp
1 warning generated.
avpcl_mode7.cpp
avpcl_utils.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
fitting.cpp
nvtt.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
BitScale.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
MortonTable.cpp
PvrTcDecoder.cpp
../../../../bimg/3rdparty/nvtt/nvmath/fitting.cpp:825:9: warning: variable 'mini' set but not used [-Wunused-but-set-variable]
int mini, maxi;
^
1 warning generated.
PvrTcEncoder.cpp
1 warning generated.
PvrTcPacket.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
1 warning generated.
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
image_cubemap_filter.cpp
1 warning generated.
image_encode.cpp
ProcessRGB.cpp
Tables.cpp
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
convolve.c
1 warning generated.
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
decimate.c
math_utils.c
1 warning generated.
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
1 warning generated.
1 warning generated.
ms_ssim.c
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
mse.c
warning: unknown warning option '-Wno-class-memaccess'; did you mean '-Wno-class-varargs'? [-Wunknown-warning-option]
psnr.c
2 warnings generated.
1 warning generated.
ssim.c
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
Archiving bimg_encode
bgfx/1.128.8832: RUN: make bgfx -R -C /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/src/bgfx/.build/projects/gmake-osx-arm64 config=release -j12
==== Building bx (release) ====
==== Building bgfx (release) ====
Creating ../../osx-arm64/obj/Release/bgfx
Creating ../../osx-arm64/obj/Release/bgfx/src
bgfx.cpp
debug_renderdoc.cpp
dxgi.cpp
glcontext_egl.cpp
glcontext_html5.cpp
glcontext_wgl.cpp
nvapi.cpp
renderer_agc.cpp
renderer_d3d11.cpp
renderer_gl.cpp
renderer_d3d12.cpp
renderer_gnm.cpp
renderer_mtl.mm
renderer_noop.cpp
renderer_nvn.cpp
renderer_vk.cpp
shader.cpp
../../../src/bgfx.cpp:2645:87: warning: converting the result of '?:' with integer constants to a boolean always evaluates to 'true' [-Wtautological-constant-compare]
{ gl::rendererCreate, gl::rendererDestroy, BGFX_RENDERER_OPENGL_NAME, !!BGFX_CONFIG_RENDERER_OPENGLES }, // OpenGLES
^
../../../src/config.h:99:8: note: expanded from macro 'BGFX_CONFIG_RENDERER_OPENGLES'
? BGFX_CONFIG_RENDERER_OPENGLES_MIN_VERSION : 0)
^
../../../src/config.h:88:54: note: expanded from macro 'BGFX_CONFIG_RENDERER_OPENGLES_MIN_VERSION'
# define BGFX_CONFIG_RENDERER_OPENGLES_MIN_VERSION (0 \
^
shader_dxbc.cpp
shader_spirv.cpp
topology.cpp
vertexlayout.cpp
../../../src/renderer_mtl.mm:2153:35: warning: 'MTLArgument' is deprecated: first deprecated in macOS 13.0 [-Wdeprecated-declarations]
if ((!m_usesMTLBindings && [(MTLArgument*)arg isActive]) || (m_usesMTLBindings && arg.used))
^~~~~~~~~~~
MTLBinding
/Users/abril/Downloads/Xcode_14.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk//System/Library/Frameworks/Metal.framework/Headers/MTLArgument.h:306:12: note: 'MTLArgument' has been explicitly marked deprecated here
@interface MTLArgument : NSObject
^
../../../src/renderer_mtl.mm:2588:41: warning: 'vertexArguments' is deprecated: first deprecated in macOS 13.0 [-Wdeprecated-declarations]
processArguments(pso, reflection.vertexArguments, reflection.fragmentArguments);
^~~~~~~~~~~~~~~
vertexBindings
/Users/abril/Downloads/Xcode_14.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk//System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h:139:57: note: 'vertexArguments' has been explicitly marked deprecated here
@property (nullable, readonly) NSArray <MTLArgument *> *vertexArguments API_DEPRECATED_WITH_REPLACEMENT("vertexBindings", macos(10.11, 13.0), ios(8.0, 16.0));
^
../../../src/renderer_mtl.mm:2588:69: warning: 'fragmentArguments' is deprecated: first deprecated in macOS 13.0 [-Wdeprecated-declarations]
processArguments(pso, reflection.vertexArguments, reflection.fragmentArguments);
^~~~~~~~~~~~~~~~~
fragmentBindings
/Users/abril/Downloads/Xcode_14.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk//System/Library/Frameworks/Metal.framework/Headers/MTLRenderPipeline.h:140:57: note: 'fragmentArguments' has been explicitly marked deprecated here
@property (nullable, readonly) NSArray <MTLArgument *> *fragmentArguments API_DEPRECATED_WITH_REPLACEMENT("fragmentBindings", macos(10.11, 13.0), ios(8.0, 16.0));
^
../../../src/renderer_mtl.mm:2647:39: warning: 'arguments' is deprecated: first deprecated in macOS 13.0 [-Wdeprecated-declarations]
processArguments(pso, reflection.arguments, NULL);
^~~~~~~~~
bindings
/Users/abril/Downloads/Xcode_14.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk//System/Library/Frameworks/Metal.framework/Headers/MTLComputePipeline.h:25:47: note: 'arguments' has been explicitly marked deprecated here
@property (readonly) NSArray <MTLArgument *> *arguments API_DEPRECATED_WITH_REPLACEMENT("bindings", macos(10.11, 13.0), ios(8.0, 16.0));
^
1 warning generated.
4 warnings generated.
Archiving bgfx
bgfx/1.128.8832: Package 'e5725d11cfa8430968fc8d969145c14b94a64333' built
bgfx/1.128.8832: Build folder /Users/abril/.conan2/p/b/bgfxd77db638ad754/b/build-release
bgfx/1.128.8832: Generating the package
bgfx/1.128.8832: Packaging in folder /Users/abril/.conan2/p/b/bgfxd77db638ad754/p
bgfx/1.128.8832: Calling package()
bgfx/1.128.8832: [HOOK - hook_ms_runtime_files.py] post_package(): Skipping bgfx from checking MS files: Not msvc.
bgfx/1.128.8832: package(): Packaged 1 file: LICENSE
bgfx/1.128.8832: package(): Packaged 76 '.h' files
bgfx/1.128.8832: package(): Packaged 31 '.inl' files
bgfx/1.128.8832: package(): Packaged 5 '.a' files
bgfx/1.128.8832: Created package revision 870b212811570508b4961cc17e4f6446
bgfx/1.128.8832: Package 'e5725d11cfa8430968fc8d969145c14b94a64333' created
bgfx/1.128.8832: Full package reference: bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273:e5725d11cfa8430968fc8d969145c14b94a64333#870b212811570508b4961cc17e4f6446
bgfx/1.128.8832: Package folder /Users/abril/.conan2/p/b/bgfxd77db638ad754/p
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'env_info' used in: genie/1181
WARN: deprecated: 'cpp_info.filenames' used in: opengl/system
======== Launching test_package ========
======== Computing dependency graph ========
Graph root
bgfx/1.128.8832 (test package): /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/conanfile.py
Requirements
bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273 - Cache
opengl/system#4df6fecde4084386beded3ed0e56e4ea - Cache
Build requirements
genie/1181#e71c04bd1600c9b54f855f60cb8a415b - Cache
======== Computing necessary packages ========
Requirements
bgfx/1.128.8832#71ca36ea62ab7f6c969d121a69622273:e5725d11cfa8430968fc8d969145c14b94a64333#870b212811570508b4961cc17e4f6446 - Cache
opengl/system#4df6fecde4084386beded3ed0e56e4ea:da39a3ee5e6b4b0d3255bfef95601890afd80709#0ba8627bd47edc3a501e8f0eb9a79e5e - Cache
Build requirements
Skipped binaries
genie/1181
======== Installing packages ========
opengl/system: Already installed! (1 of 2)
bgfx/1.128.8832: Already installed! (2 of 2)
WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
WARN: deprecated: 'cpp_info.filenames' used in: opengl/system
======== Testing the package ========
Removing previously existing 'test_package' build folder: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release
bgfx/1.128.8832 (test package): Test package build: build/apple-clang-14-armv8-gnu17-release
bgfx/1.128.8832 (test package): Test package build folder: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release
bgfx/1.128.8832 (test package): Writing generators to /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release/generators
bgfx/1.128.8832 (test package): Generator 'CMakeDeps' calling 'generate()'
bgfx/1.128.8832 (test package): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
find_package(bgfx)
target_link_libraries(... bgfx::bgfx)
bgfx/1.128.8832 (test package): Generator 'CMakeToolchain' calling 'generate()'
bgfx/1.128.8832 (test package): CMakeToolchain generated: conan_toolchain.cmake
bgfx/1.128.8832 (test package): CMakeToolchain generated: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release/generators/CMakePresets.json
bgfx/1.128.8832 (test package): CMakeToolchain generated: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/CMakeUserPresets.json
bgfx/1.128.8832 (test package): Generator 'VirtualRunEnv' calling 'generate()'
bgfx/1.128.8832 (test package): Generating aggregated env files
bgfx/1.128.8832 (test package): Generated aggregated env files: ['conanrun.sh', 'conanbuild.sh']
======== Testing the package: Building ========
bgfx/1.128.8832 (test package): Calling build()
bgfx/1.128.8832 (test package): Running CMake.configure()
bgfx/1.128.8832 (test package): RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/Users/abril/coding/external/raziel/recipes/bgfx/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/Users/abril/coding/external/raziel/recipes/bgfx/all/test_package"
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- Using Conan toolchain: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release/generators/conan_toolchain.cmake
-- Conan toolchain: Defining libcxx as C++ flags: -stdlib=libc++
-- Conan toolchain: C++ Standard 17 with extensions ON
-- The CXX compiler identification is AppleClang 14.0.3.14030022
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Users/abril/Downloads/Xcode_14.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: Target declared 'bgfx::bgfx'
-- Conan: Target declared 'opengl::opengl'
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release
bgfx/1.128.8832 (test package): Running CMake.build()
bgfx/1.128.8832 (test package): RUN: cmake --build "/Users/abril/coding/external/raziel/recipes/bgfx/all/test_package/build/apple-clang-14-armv8-gnu17-release" -- -j12
[ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
[100%] Linking CXX executable test_package
[100%] Built target test_package
======== Testing the package: Executing test ========
bgfx/1.128.8832 (test package): Running test()
bgfx/1.128.8832 (test package): RUN: ./test_package
2024-12-02 14:04:17.858 test_package[23623:11825927] Length of "test" is: 4
Texture format: 34
This also works for newer sdks despite the deprecation notices
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems fine to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your work on this. I'm excited to make use of this package again.
Summary
Changes to recipe: bgfx
Motivation
This adds a consolidated recipe for bgfx going forward. This is versioned using bgfx' versioning scheme (https://github.com/bkaradzic/bgfx/blob/93961afcfd45bdcbdb91bddfb133a621d340f136/src/bgfx.cpp#L3566), and integrates bx and bimg into this package. This was done after discussions about whether having bx and bimg separate is valuable, and how due to their interdependence, need for dependency sources, and reliance on specific versions, having them separate makes updates on CCI much slower and more cumbersome.
Details
The recipe is still based on the previous bgfx recipe, but with quite a few changes and additions.
It adds all things required for bimg and bx to be integrated into this recipe, such as defines, libs, and their headers.
It also adds an option for rtti, due to the fact that bgfx' (and bx', and bimg's) build scripts are hardcoded to build with rtti disabled. Packages on CCI are rtti enabled by default, and mixing these can cause linker issues, especially on linux in my experience.
There is also improved support for mingw and android, changes to make other things more consistent, and so on.
The new recipe has been locally tested on windows 11 msvc194 and mingw, linux gcc, and android.
Some questions I was pondering:
Would there be value in adding an option for overriding bx' CRT detection in order for this to build with something like musl?
Would there be value in exposing options for opengl version etc. and other compile-time options that bgfx has?