Skip to content
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

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

RazielXYZ
Copy link
Contributor

@RazielXYZ RazielXYZ commented Jun 23, 2024

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?


@conan-center-bot

This comment has been minimized.

@RazielXYZ
Copy link
Contributor Author

RazielXYZ commented Jun 23, 2024

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

Copy link
Contributor

@xoorath xoorath left a 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.

recipes/bgfx/config.yml Show resolved Hide resolved
recipes/bgfx/consolidated/conandata.yml Outdated Show resolved Hide resolved
@AbrilRBS AbrilRBS self-assigned this Jun 23, 2024
recipes/bgfx/consolidated/conanfile.py Outdated Show resolved Hide resolved
recipes/bgfx/consolidated/conanfile.py Outdated Show resolved Hide resolved
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
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@RazielXYZ
Copy link
Contributor Author

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?
On mac, I guess we might need to skip macos builds on cci for now if the agents' macos sdk is too old.

tc.generate()
else:
tc = AutotoolsToolchain(self)
if not self.settings.get_safe("compiler.cppstd"):
tc.cppstd = "-std=c++17"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AbrilRBS What's the fate of this following the closure of #16533 ?

Try with-macos=11 for macos [11, 13)
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@RazielXYZ
Copy link
Contributor Author

@AbrilRBS when you have the time, it would be great if we could figure out how to proceed on this.

Copy link
Contributor

@xoorath xoorath left a 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.

@xoorath
Copy link
Contributor

xoorath commented Oct 2, 2024

Hey @AbrilRBS, sorry to bother you but is there any way you're aware of to escalate this topic for assessment? Or any workarounds?

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Warning

Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement.

Failure in build 9 (132a5a78bb2f6d0616cfa1cd64087ce1574431e7):

  • bgfx/1.127.8789:
    Error running command conan export recipes/bgfx/all/conanfile.py bgfx/1.127.8789@:
    [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
    [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
    [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
    [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
    [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
    [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
    [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 24.74609375 KB
    [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
    [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
    [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
    [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
    [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
    [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
    [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
    [HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
    [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
    [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
    [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
    [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
    [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
    [HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
    [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
    [HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
    [HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
    [HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
    [HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
    [HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
    [HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
    [HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
    [HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
    [HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
    [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO DEFAULT OPTIONS (KB-H069)] OK
    [HOOK - conan-center.py] pre_export(): [MANDATORY SETTINGS (KB-H070)] OK
    [HOOK - conan-center.py] pre_export(): [PYLINT EXECUTION (KB-H072)] OK
    [HOOK - conan-center.py] pre_export(): [REQUIREMENT OVERRIDE PARAMETER (KB-H075)] OK
    [HOOK - conan-center.py] pre_export(): [NO DANGLING PATCHES (KB-H078)] OK
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    [HOOK - conan-center.py] pre_export(): ERROR: [CONFIG.YML HAS NEW VERSION (KB-H052)] The version "1.128.8832" exists in "conandata.yml" but not in "../config.yml", so it will not be built. Please update "../config.yml" to include newly added version "1.128.8832". (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H052-CONFIG.YML-HAS-NEW-VERSION) 
    ERROR: [HOOK - conan-center.py] pre_export(): Some checks failed running the hook, check the output
    

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 ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

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 @conan-io/barbarians on the PR and we will help you.

Failure in build 9 (132a5a78bb2f6d0616cfa1cd64087ce1574431e7):

  • bgfx/cci.20230216:
    Didn't run or was cancelled before finishing

  • bgfx/1.127.8789:
    CI failed to create some packages (All logs)

    Logs for packageID a5f0be4fefd13f50d7456f3e5f0fbea5c061825a:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=False
    
    [...]
    Setting up libxau-dev:amd64 (1:1.0.8-1) ...
    Setting up libxdmcp-dev:amd64 (1:1.1.2-1.1) ...
    Setting up x11proto-input-dev (2.3.1-1) ...
    Setting up x11proto-kb-dev (1.0.7-0ubuntu1) ...
    Setting up xtrans-dev (1.3.5-1) ...
    Setting up libxcb1-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libx11-dev:amd64 (2:1.6.3-1ubuntu2.2) ...
    Setting up libx11-xcb-dev:amd64 (2:1.6.3-1ubuntu2.2) ...
    Setting up libxcb-dri2-0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-dri3-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-glx0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-randr0:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-render0:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-render0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-randr0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-xfixes0:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-shape0:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-shape0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-xfixes0-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-sync-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up libxcb-present-dev:amd64 (1.11.1-1ubuntu1) ...
    Setting up x11proto-xext-dev (7.3.0-1) ...
    Setting up x11proto-fixes-dev (1:5.0-2ubuntu2) ...
    Setting up libxfixes-dev:amd64 (1:5.0.1-2) ...
    Setting up x11proto-damage-dev (1:1.2.1-2) ...
    Setting up libxdamage-dev:amd64 (1:1.1.4-2) ...
    Setting up libxext-dev:amd64 (2:1.3.3-1) ...
    Setting up libxshmfence-dev:amd64 (1.2-1) ...
    Setting up x11proto-xf86vidmode-dev (2.3.1-2) ...
    Setting up libxxf86vm-dev:amd64 (1:1.1.4-1) ...
    Setting up mesa-common-dev:amd64 (18.0.5-0ubuntu0~16.04.1) ...
    Setting up x11proto-dri2-dev (2.8-2) ...
    Setting up x11proto-gl-dev (1.4.17-1) ...
    Setting up libgl1-mesa-dev:amd64 (18.0.5-0ubuntu0~16.04.1) ...
    Processing triggers for libc-bin (2.23-0ubuntu11.3) ...
    
    ======== Installing packages ========
    
    -------- Downloading 2 packages --------
    genie/1181: Retrieving package 3593751651824fb813502c69c971267624ced41a from remote 'conan-center' 
    genie/1181: Package installed 3593751651824fb813502c69c971267624ced41a
    genie/1181: Downloaded package revision b36b57f418eafca3f21aa42defc577d7
    opengl/system: Retrieving package da39a3ee5e6b4b0d3255bfef95601890afd80709 from remote 'conan-center' 
    opengl/system: Package installed da39a3ee5e6b4b0d3255bfef95601890afd80709
    opengl/system: Downloaded package revision 0ba8627bd47edc3a501e8f0eb9a79e5e
    genie/1181: Appending PATH environment variable: /home/conan/workspace/prod-v2/bsr/104287/dfdcc/p/genie5f958b522af3e/p/bin
    bgfx/1.127.8789: Calling source() in /home/conan/workspace/prod-v2/bsr/104287/dfdcc/p/bgfx4bf7701b1c5ef/s/src
    ERROR: bgfx/1.127.8789: Error in source() method, line 156
    	get(self, **self.conan_data["sources"][self.version]["bgfx"], strip_root=True,
    	KeyError: 'sources'
    

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.

@memsharded memsharded self-assigned this Nov 22, 2024
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"):
Copy link
Member

@AbrilRBS AbrilRBS Dec 2, 2024

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

Copy link
Contributor Author

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!

Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants