Compare commits
29 Commits
main
...
97b4040733
| Author | SHA1 | Date | |
|---|---|---|---|
| 97b4040733 | |||
| 043acde884 | |||
| 4c31b429b9 | |||
| dd887865f0 | |||
| 8739130a7b | |||
| 280220a157 | |||
| e432b38162 | |||
| e98be74d99 | |||
| 3a6b1512d4 | |||
| 4d751805d2 | |||
| 15592444a7 | |||
| 17eea3fe02 | |||
| 1dd9adf4fd | |||
| 8e515d495c | |||
| 43fceadaac | |||
| 103610550a | |||
| 06700d29fb | |||
| 5dea03650d | |||
| fb870a5028 | |||
| 41c7a31b62 | |||
| 99959dbefc | |||
| c49e398f30 | |||
| edff40e77a | |||
| 6c90c821bf | |||
| 451568113a | |||
| 4689d0a002 | |||
| 030bf0a590 | |||
| 65be0a9fac | |||
| 534384356e |
@@ -7,10 +7,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
CCACHE_DIR: /ccache
|
||||
CCACHE_MAXSIZE: 10G
|
||||
CCACHE_BASEDIR: /root/.conan2
|
||||
CCACHE_COMPILERCHECK: "%compiler% -dumpversion"
|
||||
CCACHE_BASEDIR: ${{ github.workspace }}
|
||||
|
||||
jobs:
|
||||
conan-packages-tier1:
|
||||
@@ -24,8 +21,6 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
package: [
|
||||
{ name: "mold", version: "2.41.0", location: "all" },
|
||||
|
||||
{ name: "eabase", version: "01082025", location: "all" },
|
||||
|
||||
{ name: "vulkan-headers", version: "1.4.341.0", location: "all" },
|
||||
@@ -35,19 +30,15 @@ jobs:
|
||||
{ name: "pixelmatch-cpp17", version: "1.0.3", location: "all" },
|
||||
{ name: "lodepng", version: "cci.20260210", location: "all" },
|
||||
{ name: "stduuid", version: "1.2.3", location: "all" },
|
||||
{ name: "flatbuffers", version: "25.12.19-2026-02-06-03fffb2-bigfoot", location: "all" },
|
||||
|
||||
{ name: "glm", version: "1.0.3", location: "all" },
|
||||
{ name: "flatbuffers", version: "25.12.19", location: "all" },
|
||||
|
||||
{ name: "unordered_dense", version: "4.8.1", location: "all" },
|
||||
{ name: "mimalloc", version: "3.3.2", location: "all" },
|
||||
{ name: "meshoptimizer", version: "1.1", location: "all" },
|
||||
{ name: "sqlite3", version: "3.53.1", location: "all" },
|
||||
{ name: "mimalloc", version: "3.2.8", location: "all" },
|
||||
{ name: "meshoptimizer", version: "1.0", location: "all" },
|
||||
{ name: "sqlite3", version: "3.51.2", location: "all" },
|
||||
{ name: "rapidhash", version: "3.0", location: "all" },
|
||||
{ name: "cli11", version: "2.6.1", location: "all" },
|
||||
{ name: "assimp", version: "6.0.4", location: "5.x" },
|
||||
|
||||
{ name: "imgui", version: "1.92.7-docking", location: "all" },
|
||||
]
|
||||
name: "Package ${{matrix.package.name }}/${{ matrix.package.version }}"
|
||||
steps:
|
||||
@@ -62,7 +53,7 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Reset ccache stats
|
||||
- name: Show ccache stats before
|
||||
run: ccache --zero-stats
|
||||
|
||||
- name: Run Conan packaging
|
||||
@@ -75,14 +66,14 @@ jobs:
|
||||
--user=bigfootdev \
|
||||
--channel=${{ env.BRANCH_NAME }} \
|
||||
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
|
||||
--build=* --remote=bigfootpackages
|
||||
--build=missing --remote=bigfootpackages
|
||||
|
||||
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
|
||||
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
|
||||
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
|
||||
--only-recipe --remote=bigfootpackages
|
||||
|
||||
- name: Show ccache stats
|
||||
- name: Show ccache stats after
|
||||
run: ccache --show-stats
|
||||
|
||||
conan-packages-tier2:
|
||||
@@ -117,7 +108,7 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Reset ccache stats
|
||||
- name: Show ccache stats before
|
||||
run: ccache --zero-stats
|
||||
|
||||
- name: Run Conan packaging
|
||||
@@ -130,14 +121,14 @@ jobs:
|
||||
--user=bigfootdev \
|
||||
--channel=${{ env.BRANCH_NAME }} \
|
||||
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
|
||||
--build=* --remote=bigfootpackages
|
||||
--build=missing --remote=bigfootpackages
|
||||
|
||||
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
|
||||
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
|
||||
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
|
||||
--only-recipe --remote=bigfootpackages
|
||||
|
||||
- name: Show ccache stats
|
||||
- name: Show ccache stats after
|
||||
run: ccache --show-stats
|
||||
|
||||
conan-packages-tier3:
|
||||
@@ -168,7 +159,7 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Reset ccache stats
|
||||
- name: Show ccache stats before
|
||||
run: ccache --zero-stats
|
||||
|
||||
- name: Run Conan packaging
|
||||
@@ -181,14 +172,14 @@ jobs:
|
||||
--user=bigfootdev \
|
||||
--channel=${{ env.BRANCH_NAME }} \
|
||||
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
|
||||
--build=* --remote=bigfootpackages
|
||||
--build=missing --remote=bigfootpackages
|
||||
|
||||
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
|
||||
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
|
||||
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
|
||||
--only-recipe --remote=bigfootpackages
|
||||
|
||||
- name: Show ccache stats
|
||||
- name: Show ccache stats after
|
||||
run: ccache --show-stats
|
||||
|
||||
conan-packages-tier4:
|
||||
@@ -218,7 +209,7 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Reset ccache stats
|
||||
- name: Show ccache stats before
|
||||
run: ccache --zero-stats
|
||||
|
||||
- name: Run Conan packaging
|
||||
@@ -231,12 +222,12 @@ jobs:
|
||||
--user=bigfootdev \
|
||||
--channel=${{ env.BRANCH_NAME }} \
|
||||
-pr:b=./ConanProfiles/clang -pr:h=./ConanProfiles/clang \
|
||||
--build=* --remote=bigfootpackages
|
||||
--build=missing --remote=bigfootpackages
|
||||
|
||||
CONAN_LOGIN_USERNAME=${ARTIFACTORY_USER} \
|
||||
CONAN_PASSWORD=${ARTIFACTORY_PASSWORD} \
|
||||
conan upload ${{ matrix.package.name }}/${{ matrix.package.version }}@bigfootdev/${{ env.BRANCH_NAME }} \
|
||||
--only-recipe --remote=bigfootpackages
|
||||
|
||||
- name: Show ccache stats
|
||||
- name: Show ccache stats after
|
||||
run: ccache --show-stats
|
||||
@@ -1,30 +0,0 @@
|
||||
include_guard()
|
||||
|
||||
# Find ccache executable
|
||||
find_program(CCACHE_PROGRAM NAMES ccache)
|
||||
|
||||
if(CCACHE_PROGRAM)
|
||||
message(STATUS "ccache found: ${CCACHE_PROGRAM}, enabling via CMake launcher and environment.")
|
||||
if (CMAKE_GENERATOR MATCHES "Visual Studio")
|
||||
# Copy original ccache.exe and rename to cl.exe, this way intermediate cmd file is not needed
|
||||
file(COPY_FILE ${CCACHE_PROGRAM} ${CMAKE_BINARY_DIR}/cl.exe ONLY_IF_DIFFERENT)
|
||||
|
||||
# Set Visual Studio global variables:
|
||||
# - Use above cl.exe (ccache.exe) as a compiler
|
||||
# - Enable parallel compilation
|
||||
list(APPEND CMAKE_VS_GLOBALS
|
||||
"CLToolExe=cl.exe"
|
||||
"CLToolPath=${CMAKE_BINARY_DIR}"
|
||||
"UseMultiToolTask=true"
|
||||
"UseStructuredOutput=false"
|
||||
)
|
||||
elseif(CMAKE_GENERATOR MATCHES "Ninja" OR CMAKE_GENERATOR MATCHES "Unix Makefiles")
|
||||
message(STATUS "Using ccache as compiler launcher for Ninja or Makefiles.")
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "CXX compiler cache used" FORCE)
|
||||
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE_PROGRAM} CACHE FILEPATH "C compiler cache used" FORCE)
|
||||
else()
|
||||
message(WARNING "Unsupported generator for ccache integration: ${CMAKE_GENERATOR}. ccache will not be used.")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "ccache not found. Not enabling ccache integration.")
|
||||
endif()
|
||||
@@ -1,5 +0,0 @@
|
||||
include_guard()
|
||||
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
||||
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE)
|
||||
@@ -1,2 +0,0 @@
|
||||
[built-in options]
|
||||
b_lto = true
|
||||
@@ -2,25 +2,25 @@
|
||||
os=Linux
|
||||
arch=x86_64
|
||||
compiler=clang
|
||||
compiler.version=22
|
||||
compiler.version=20
|
||||
compiler.libcxx=libstdc++11
|
||||
compiler.cppstd=20
|
||||
compiler.cstd=17
|
||||
compiler.runtime=static
|
||||
build_type=Release
|
||||
|
||||
[conf]
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake
|
||||
tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini
|
||||
|
||||
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math;-fno-exceptions;-fno-rtti', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:generator=Ninja
|
||||
tools.system.package_manager:mode=install
|
||||
tools.system.package_manager:sudo=True
|
||||
|
||||
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
tools.build:exelinkflags=["-fuse-ld=mold", "-flto"]
|
||||
tools.build:sharedlinkflags=["-fuse-ld=mold", "-flto"]
|
||||
|
||||
[buildenv]
|
||||
CCACHE_NOHASHDIR=1
|
||||
tools.build:cflags=["-flto"]
|
||||
tools.build:cxxflags=["-flto"]
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
25
ConanProfiles/clang_coverage
Normal file
25
ConanProfiles/clang_coverage
Normal file
@@ -0,0 +1,25 @@
|
||||
[settings]
|
||||
os=Linux
|
||||
arch=x86_64
|
||||
compiler=clang
|
||||
compiler.version=20
|
||||
compiler.libcxx=libstdc++11
|
||||
compiler.cppstd=20
|
||||
compiler.cstd=17
|
||||
build_type=Debug
|
||||
[conf]
|
||||
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-fno-exceptions;-fno-rtti;-fprofile-instr-generate;-fcoverage-mapping', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-fprofile-instr-generate;-fcoverage-mapping', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_SHARED_LINK_FLAGS': {'value': '-fprofile-instr-generate', 'cache': True, 'type': 'STRING', 'docstring': 'SHARED link flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_EXE_LINK_FLAGS': {'value': '-fprofile-instr-generate', 'cache': True, 'type': 'STRING', 'docstring': 'EXE link flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:generator=Ninja
|
||||
tools.system.package_manager:mode=install
|
||||
tools.system.package_manager:sudo=True
|
||||
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
|
||||
|
||||
tools.build:exelinkflags=["-fuse-ld=mold"]
|
||||
tools.build:sharedlinkflags=["-fuse-ld=mold"]
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
23
ConanProfiles/clangd
Normal file
23
ConanProfiles/clangd
Normal file
@@ -0,0 +1,23 @@
|
||||
[settings]
|
||||
os=Linux
|
||||
arch=x86_64
|
||||
compiler=clang
|
||||
compiler.version=20
|
||||
compiler.libcxx=libstdc++11
|
||||
compiler.cppstd=20
|
||||
compiler.cstd=17
|
||||
build_type=Debug
|
||||
[conf]
|
||||
tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_CXX_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math;-fno-exceptions;-fno-rtti', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '-Wall;-Wextra;-Wpedantic;-Werror;-ffast-math', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:generator=Ninja
|
||||
tools.system.package_manager:mode=install
|
||||
tools.system.package_manager:sudo=True
|
||||
tools.build:compiler_executables={"c": "clang", "cpp": "clang++"}
|
||||
|
||||
tools.build:exelinkflags=["-fuse-ld=mold"]
|
||||
tools.build:sharedlinkflags=["-fuse-ld=mold"]
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
@@ -5,19 +5,18 @@ compiler=msvc
|
||||
compiler.version=195
|
||||
compiler.cppstd=20
|
||||
compiler.cstd=17
|
||||
compiler.runtime=static
|
||||
compiler.runtime=dynamic
|
||||
build_type=Release
|
||||
|
||||
[conf]
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ccache.cmake
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/Toolchains/ipo.cmake
|
||||
tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/Toolchains/ipo.ini
|
||||
tools.cmake.cmaketoolchain:extra_variables={'BIGFOOT_CXX_FLAGS': {'value': '/W4;/WX;/EHs-;/D_HAS_EXCEPTIONS=0;/GR-;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '/W4;/WX;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/msvc_ccache.cmake
|
||||
|
||||
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"]
|
||||
tools.build:cxxflags=["/Zc:preprocessor", "/permissive-", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope"]
|
||||
tools.build:exelinkflags=["/LTCG", "/INCREMENTAL:NO"]
|
||||
tools.build:sharedlinkflags=["/LTCG", "/INCREMENTAL:NO"]
|
||||
|
||||
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1", "/GL"]
|
||||
tools.build:cxxflags=["/Zc:preprocessor", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zc:hiddenFriend", "/Zc:externConstexpr", "/Zc:ternary", "/GL"]
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
|
||||
[buildenv]
|
||||
CCACHE_NOHASHDIR=1
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
19
ConanProfiles/msvc_ccache.cmake
Normal file
19
ConanProfiles/msvc_ccache.cmake
Normal file
@@ -0,0 +1,19 @@
|
||||
# https://github.com/ccache/ccache/wiki/MS-Visual-Studio#usage-with-cmake
|
||||
|
||||
find_program(ccache_exe ccache)
|
||||
if(ccache_exe)
|
||||
file(COPY_FILE
|
||||
${ccache_exe} ${CMAKE_BINARY_DIR}/cl.exe
|
||||
ONLY_IF_DIFFERENT)
|
||||
|
||||
# By default Visual Studio generators will use /Zi which is not compatible
|
||||
# with ccache, so tell Visual Studio to use /Z7 instead.
|
||||
message(STATUS "Setting MSVC debug information format to 'Embedded'")
|
||||
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>")
|
||||
|
||||
set(CMAKE_VS_GLOBALS
|
||||
"CLToolExe=cl.exe"
|
||||
"CLToolPath=${CMAKE_BINARY_DIR}"
|
||||
"UseMultiToolTask=true"
|
||||
)
|
||||
endif()
|
||||
19
ConanProfiles/msvcd
Normal file
19
ConanProfiles/msvcd
Normal file
@@ -0,0 +1,19 @@
|
||||
[settings]
|
||||
os=Windows
|
||||
arch=x86_64
|
||||
compiler=msvc
|
||||
compiler.version=195
|
||||
compiler.cppstd=20
|
||||
compiler.cstd=17
|
||||
compiler.runtime=dynamic
|
||||
build_type=Debug
|
||||
[conf]
|
||||
tools.cmake.cmaketoolchain:extra_variables={'BIGFOOT_CXX_FLAGS': {'value': '/W4;/WX;/EHs-;/D_HAS_EXCEPTIONS=0;/GR-;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'CXX flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:extra_variables*={'BIGFOOT_C_FLAGS': {'value': '/W4;/WX;/fp:fast', 'cache': True, 'type': 'STRING', 'docstring': 'C flags for Bigfoot', 'force': True}}
|
||||
tools.cmake.cmaketoolchain:user_toolchain+={{profile_dir}}/msvc_ccache.cmake
|
||||
|
||||
tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"]
|
||||
tools.build:cxxflags=["/Zc:preprocessor", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope", "/Zc:strictStrings", "/Zc:rvalueCast", "/Zc:hiddenFriend", "/Zc:externConstexpr", "/Zc:ternary"]
|
||||
|
||||
[tool_requires]
|
||||
!cmake/*: cmake/[>=4.2]
|
||||
@@ -1,7 +1,4 @@
|
||||
sources:
|
||||
"25.12.19-2026-02-06-03fffb2-bigfoot":
|
||||
url: "https://git.romainboullard.com/BigfootDev/flatbuffers-bigfoot/archive/v25.12.19-2026-02-06-03fffb2-bigfoot.tar.gz"
|
||||
sha256: "501a1907df28950c50389b5f1c53c40cbb70428c20d9094ae57bb700a80f27c5"
|
||||
"25.12.19":
|
||||
url: "https://github.com/google/flatbuffers/archive/v25.12.19.tar.gz"
|
||||
sha256: "f81c3162b1046fe8b84b9a0dbdd383e24fdbcf88583b9cb6028f90d04d90696a"
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
versions:
|
||||
"25.12.19-2026-02-06-03fffb2-bigfoot":
|
||||
folder: all
|
||||
"25.12.19":
|
||||
folder: all
|
||||
"25.9.23":
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
sources:
|
||||
"1.0.3":
|
||||
url: "https://github.com/g-truc/glm/releases/download/1.0.3/glm-1.0.3.zip"
|
||||
sha256: "1c0a0fced9b0d87c7b7bc94e40be490cff6d4c83c25db8488d8f33754e7fdeb2"
|
||||
"1.0.1":
|
||||
url: "https://github.com/g-truc/glm/releases/download/1.0.1/glm-1.0.1-light.zip"
|
||||
sha256: "9A995DE4DA09723BD33EF194E6B79818950E5A8F2E154792F02E4615277CFB8D"
|
||||
"0.9.9.8":
|
||||
url: "https://github.com/g-truc/glm/releases/download/0.9.9.8/glm-0.9.9.8.zip"
|
||||
sha256: "37e2a3d62ea3322e43593c34bae29f57e3e251ea89f4067506c94043769ade4c"
|
||||
@@ -1,52 +0,0 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.files import copy, get
|
||||
from conan.tools.layout import basic_layout
|
||||
from conan.tools.scm import Version
|
||||
import os
|
||||
|
||||
required_conan_version = ">=1.50.0"
|
||||
|
||||
|
||||
class GlmConan(ConanFile):
|
||||
name = "glm"
|
||||
description = "OpenGL Mathematics (GLM)"
|
||||
topics = ("glm", "opengl", "mathematics")
|
||||
url = "https://github.com/conan-io/conan-center-index"
|
||||
homepage = "https://github.com/g-truc/glm"
|
||||
license = "MIT"
|
||||
package_type = "header-library"
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
no_copy_source = True
|
||||
|
||||
def layout(self):
|
||||
basic_layout(self, src_folder="src")
|
||||
|
||||
def package_id(self):
|
||||
self.info.clear()
|
||||
|
||||
def source(self):
|
||||
get(self, **self.conan_data["sources"][self.version], strip_root=self.version < Version("1.0.0"))
|
||||
|
||||
def build(self):
|
||||
pass
|
||||
|
||||
def package(self):
|
||||
if self.version < Version("1.0.0"):
|
||||
copy(self, "copying.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
|
||||
else:
|
||||
copy(self, "copying.txt", src=os.path.join(self.source_folder, "glm"), dst=os.path.join(self.package_folder, "licenses"))
|
||||
|
||||
if self.version < Version("1.0.2"):
|
||||
for headers in ("*.hpp", "*.inl", "*.h", "*.cppm"):
|
||||
copy(self, headers, src=os.path.join(self.source_folder, "glm"),
|
||||
dst=os.path.join(self.package_folder, "include", "glm"))
|
||||
else:
|
||||
for headers in ("*.hpp", "*.inl", "*.h", "*.cppm"):
|
||||
copy(self, headers, src=os.path.join(self.source_folder, "glm"),
|
||||
dst=os.path.join(self.package_folder, "include"))
|
||||
|
||||
def package_info(self):
|
||||
self.cpp_info.set_property("cmake_file_name", "glm")
|
||||
self.cpp_info.set_property("cmake_target_name", "glm::glm")
|
||||
self.cpp_info.bindirs = []
|
||||
self.cpp_info.libdirs = []
|
||||
@@ -1,7 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(test_package LANGUAGES CXX)
|
||||
|
||||
find_package(glm REQUIRED CONFIG)
|
||||
|
||||
add_executable(${PROJECT_NAME} test_package.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE glm::glm)
|
||||
@@ -1,26 +0,0 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.build import can_run
|
||||
from conan.tools.cmake import CMake, cmake_layout
|
||||
import os
|
||||
|
||||
|
||||
class TestPackageConan(ConanFile):
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
|
||||
test_type = "explicit"
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self)
|
||||
|
||||
def requirements(self):
|
||||
self.requires(self.tested_reference_str)
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def test(self):
|
||||
if can_run(self):
|
||||
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
|
||||
self.run(bin_path, env="conanrun")
|
||||
@@ -1,11 +0,0 @@
|
||||
#include <cstdlib>
|
||||
#include "glm/glm.hpp"
|
||||
|
||||
int main (int argc, char * argv[]) {
|
||||
glm::vec4 position = glm::vec4(glm::vec3(0.0), 1.0);
|
||||
glm::mat4 model = glm::mat4(1.0);
|
||||
model[3] = glm::vec4(1.0, 1.0, 0.0, 1.0);
|
||||
glm::vec4 transformed = model * position;
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
versions:
|
||||
"1.0.3":
|
||||
folder: all
|
||||
"1.0.1":
|
||||
folder: all
|
||||
"0.9.9.8":
|
||||
folder: all
|
||||
@@ -1,74 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.9)
|
||||
project(imgui LANGUAGES CXX)
|
||||
|
||||
set(MISC_DIR ${IMGUI_SRC_DIR}/misc)
|
||||
set(EXTRA_FONTS_DIR ${MISC_DIR}/fonts)
|
||||
set(IMGUI_EXPORT_HEADERS imgui_export_headers.h)
|
||||
|
||||
file(GLOB SOURCE_FILES ${IMGUI_SRC_DIR}/*.cpp)
|
||||
file(GLOB HEADER_FILES ${IMGUI_SRC_DIR}/*.h)
|
||||
|
||||
if(IMGUI_ENABLE_TEST_ENGINE)
|
||||
message(STATUS "Building ImGui with test engine")
|
||||
file(GLOB TEST_ENGINE_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.cpp)
|
||||
list(APPEND SOURCE_FILES ${TEST_ENGINE_FILES})
|
||||
file(GLOB TEST_ENGINE_HEADER_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.h)
|
||||
list(APPEND HEADER_FILES ${TEST_ENGINE_HEADER_FILES})
|
||||
else()
|
||||
message(STATUS "Building ImGui without test engine")
|
||||
endif()
|
||||
|
||||
file(GLOB EXTRA_FONTS_FILES ${EXTRA_FONTS_DIR}/*.ttf)
|
||||
if (MSVC)
|
||||
file(GLOB EXTRA_NATVIS_FILES ${MISC_DIR}/natvis/*.natvis)
|
||||
endif()
|
||||
|
||||
set(BINARY_TO_COMPRESSED_BIN binary_to_compressed_c)
|
||||
|
||||
add_executable(${BINARY_TO_COMPRESSED_BIN} ${EXTRA_FONTS_DIR}/binary_to_compressed_c.cpp)
|
||||
target_compile_features(${BINARY_TO_COMPRESSED_BIN} PRIVATE cxx_std_11)
|
||||
|
||||
add_library(${PROJECT_NAME} ${SOURCE_FILES})
|
||||
|
||||
if(IMGUI_WITH_SDL3_BINDING)
|
||||
target_sources(${PROJECT_NAME} PRIVATE ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.cpp)
|
||||
list(APPEND HEADER_FILES ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.h)
|
||||
find_package(SDL3 REQUIRED CONFIG)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
|
||||
endif()
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN ON
|
||||
)
|
||||
include(GenerateExportHeader)
|
||||
generate_export_header(${PROJECT_NAME}
|
||||
EXPORT_MACRO_NAME IMGUI_API
|
||||
EXPORT_FILE_NAME ${IMGUI_EXPORT_HEADERS}
|
||||
)
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
$<BUILD_INTERFACE:${IMGUI_SRC_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
install(TARGETS ${PROJECT_NAME}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(TARGETS ${BINARY_TO_COMPRESSED_BIN}
|
||||
DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES ${HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${IMGUI_EXPORT_HEADERS}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
install(FILES ${EXTRA_FONTS_FILES}
|
||||
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/fonts
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
if (MSVC)
|
||||
install(FILES ${EXTRA_NATVIS_FILES}
|
||||
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/natvis
|
||||
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
||||
endif()
|
||||
@@ -1,101 +0,0 @@
|
||||
# this package's recipe relies on version suffixes to handle imgui's docking branch.
|
||||
# Suffix: -docking for docking branch sources
|
||||
sources:
|
||||
"1.92.7-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.92.7-docking.tar.gz"
|
||||
sha256: "2c58e28c957497eba0ed01c48a0bc5f118ec5f10a1c3721ba9436253a623bd72"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.7.tar.gz"
|
||||
sha256: "3bb2320044854abb479facdde01c38c8af2e0257a630eb4b582b100a4fa60043"
|
||||
"1.92.6":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.92.6.tar.gz"
|
||||
sha256: "5b17c01f69545bde732b14936d89ce0f508adb83e8b56fa82448371845172bc3"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.6.tar.gz"
|
||||
sha256: "5374ec2318933f9fc663d924529ea80e5fa40866e82fafc3872ae94a16fdbc7f"
|
||||
"1.92.6-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.92.6-docking.tar.gz"
|
||||
sha256: "5e84cdaa6a6041586a0d11a3071b749734a0439d66fdbdad37ae5b27e37d396c"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.6.tar.gz"
|
||||
sha256: "5374ec2318933f9fc663d924529ea80e5fa40866e82fafc3872ae94a16fdbc7f"
|
||||
"1.92.2b":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.92.2b.tar.gz"
|
||||
sha256: "da3d453cce74e0fb3d67f8d798a2a8d04fcaf0b33ce0e0131d0695dfc4f64191"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.2.tar.gz"
|
||||
sha256: "5914327269b2dd9ad66bead3be8577f99f5f572d196bbe4028f6812cf0356adb"
|
||||
"1.92.2b-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.92.2b-docking.tar.gz"
|
||||
sha256: "f6ad86e6f938fdda4d5e362b9a9b39158963dd3257fdc9902efc148c0c0c39f9"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.92.2.tar.gz"
|
||||
sha256: "5914327269b2dd9ad66bead3be8577f99f5f572d196bbe4028f6812cf0356adb"
|
||||
"1.91.8":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.91.8.tar.gz"
|
||||
sha256: "db3a2e02bfd6c269adf0968950573053d002f40bdfb9ef2e4a90bce804b0f286"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.91.8.tar.gz"
|
||||
sha256: "bdfc31cb819bd6e4df2d5da0316edf92b1011d1c4046293aafd9ae14106570e2"
|
||||
"1.91.8-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.91.8-docking.tar.gz"
|
||||
sha256: "55f5e65abea635f2a8bfa9a92cd966448a363a262cf6dead7cc662fb0ab37612"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.91.8.tar.gz"
|
||||
sha256: "bdfc31cb819bd6e4df2d5da0316edf92b1011d1c4046293aafd9ae14106570e2"
|
||||
"1.90.9":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.90.9.tar.gz"
|
||||
sha256: "04943919721e874ac75a2f45e6eb6c0224395034667bf508923388afda5a50bf"
|
||||
"1.90.9-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.90.9-docking.tar.gz"
|
||||
sha256: "48e7e4e4f154ad98d0946126a84e2375f849f6a67792129a805817dd60a34330"
|
||||
"1.90.5":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.90.5.tar.gz"
|
||||
sha256: "e94b48dba7311c85ba8e3e6fe7c734d76a0eed21b2b42c5180fd5706d1562241"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.90.5.tar.gz"
|
||||
sha256: "79339246d8c919c5926df0a7bee99be585ebaf67cdaba89a0ac314b1f7846f92"
|
||||
"1.90.5-docking":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.90.5-docking.tar.gz"
|
||||
sha256: "8a5e1e594d6c8552e46e4c1ba8dd9deb51262067f04937904babc04384533ccc"
|
||||
testengine:
|
||||
url: "https://github.com/ocornut/imgui_test_engine/archive/v1.90.5.tar.gz"
|
||||
sha256: "79339246d8c919c5926df0a7bee99be585ebaf67cdaba89a0ac314b1f7846f92"
|
||||
"1.88":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.88.tar.gz"
|
||||
sha256: "9f14c788aee15b777051e48f868c5d4d959bd679fc5050e3d2a29de80d8fd32e"
|
||||
"1.87":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.87.tar.gz"
|
||||
sha256: "b54ceb35bda38766e36b87c25edf7a1cd8fd2cb8c485b245aedca6fb85645a20"
|
||||
"1.86":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.86.tar.gz"
|
||||
sha256: "6ba6ae8425a19bc52c5e067702c48b70e4403cd339cba02073a462730a63e825"
|
||||
"1.85":
|
||||
core:
|
||||
url: "https://github.com/ocornut/imgui/archive/v1.85.tar.gz"
|
||||
sha256: "7ed49d1f4573004fa725a70642aaddd3e06bb57fcfe1c1a49ac6574a3e895a77"
|
||||
patches:
|
||||
"1.92.4":
|
||||
- patch_file: "patches/1.92.4-0001-static-linking-bugfix-backport.patch"
|
||||
patch_description: "Add missing export for a function needed by the backends"
|
||||
patch_source: "https://github.com/ocornut/imgui/pull/9016"
|
||||
patch_type: "backport"
|
||||
"1.92.4-docking":
|
||||
- patch_file: "patches/1.92.4-docking-0001-static-linking-bugfix-backport.patch"
|
||||
patch_description: "Add missing export for a function needed by the backends"
|
||||
patch_source: "https://github.com/ocornut/imgui/pull/9016"
|
||||
patch_type: "backport"
|
||||
@@ -1,127 +0,0 @@
|
||||
import os
|
||||
|
||||
from conan import ConanFile
|
||||
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps
|
||||
from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file
|
||||
from conan.tools.scm import Version
|
||||
|
||||
required_conan_version = ">=1.53.0"
|
||||
|
||||
|
||||
class IMGUIConan(ConanFile):
|
||||
name = "imgui"
|
||||
description = "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies"
|
||||
license = "MIT"
|
||||
url = "https://github.com/conan-io/conan-center-index"
|
||||
homepage = "https://github.com/ocornut/imgui"
|
||||
topics = ("gui", "graphical", "bloat-free")
|
||||
package_type = "library"
|
||||
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
options = {
|
||||
"shared": [True, False],
|
||||
"fPIC": [True, False],
|
||||
"enable_test_engine": [True, False],
|
||||
"with_sdl3_binding": [True, False],
|
||||
}
|
||||
default_options = {
|
||||
"shared": False,
|
||||
"fPIC": True,
|
||||
"enable_test_engine": False,
|
||||
"with_sdl3_binding": False,
|
||||
}
|
||||
|
||||
def requirements(self):
|
||||
if self.options.get_safe("with_sdl3_binding"):
|
||||
self.requires("sdl/[>3 <4]", transitive_headers=True)
|
||||
|
||||
def export_sources(self):
|
||||
copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder)
|
||||
export_conandata_patches(self)
|
||||
|
||||
def config_options(self):
|
||||
if self.settings.os == "Windows":
|
||||
del self.options.fPIC
|
||||
if "testengine" not in self.conan_data["sources"][self.version]:
|
||||
self.output.warning("No test engine found for this version, removing test engine option")
|
||||
del self.options.enable_test_engine
|
||||
|
||||
# sdl3 bindings were introduced with 1.89.3
|
||||
# 1.91.8 is the oldest version that supports the latest sdl headers
|
||||
if Version(self.version) < "1.91.8":
|
||||
del self.options.with_sdl3_binding
|
||||
|
||||
def configure(self):
|
||||
if self.options.shared:
|
||||
self.options.rm_safe("fPIC")
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self, src_folder="src")
|
||||
|
||||
def source(self):
|
||||
get(self, **self.conan_data["sources"][self.version]["core"], strip_root=True)
|
||||
if "testengine" in self.conan_data["sources"][self.version]:
|
||||
get(self, **self.conan_data["sources"][self.version]["testengine"], strip_root=True, destination="test_engine")
|
||||
self._patch_sources()
|
||||
|
||||
def generate(self):
|
||||
tc = CMakeToolchain(self)
|
||||
tc.variables["IMGUI_SRC_DIR"] = self.source_folder.replace("\\", "/")
|
||||
tc.variables["IMGUI_WITH_SDL3_BINDING"] = self.options.get_safe("with_sdl3_binding", False)
|
||||
# test engine is not available for all versions
|
||||
if self.options.get_safe("enable_test_engine"):
|
||||
tc.preprocessor_definitions["IMGUI_ENABLE_TEST_ENGINE"] = "1"
|
||||
tc.preprocessor_definitions["IMGUI_TEST_ENGINE_ENABLE_COROUTINE_STDTHREAD_IMPL"] = "1"
|
||||
tc.variables["IMGUI_ENABLE_TEST_ENGINE"] = "ON"
|
||||
tc.variables["IMGUI_TEST_ENGINE_DIR"] = os.path.join(self.source_folder, "test_engine").replace("\\", "/")
|
||||
tc.generate()
|
||||
|
||||
deps = CMakeDeps(self)
|
||||
deps.generate()
|
||||
|
||||
def _patch_sources(self):
|
||||
apply_conandata_patches(self)
|
||||
|
||||
# Ensure we take into account export_headers
|
||||
replace_in_file(self,
|
||||
os.path.join(self.source_folder, "imgui.h"),
|
||||
"#ifdef IMGUI_USER_CONFIG",
|
||||
"#include \"imgui_export_headers.h\"\n\n#ifdef IMGUI_USER_CONFIG"
|
||||
)
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir))
|
||||
cmake.build()
|
||||
|
||||
def package(self):
|
||||
copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
|
||||
backends_folder = os.path.join(self.source_folder, "backends")
|
||||
copy(self, pattern="imgui_impl_*",
|
||||
dst=os.path.join(self.package_folder, "res", "bindings"),
|
||||
src=backends_folder)
|
||||
copy(self, pattern="imgui*.cpp",
|
||||
dst=os.path.join(self.package_folder, "res", "src"),
|
||||
src=os.path.join(self.source_folder))
|
||||
copy(self, pattern="*.*",
|
||||
dst=os.path.join(self.package_folder, "res", "misc", "cpp"),
|
||||
src=os.path.join(self.source_folder, "misc", "cpp"))
|
||||
copy(self, pattern="*.*",
|
||||
dst=os.path.join(self.package_folder, "res", "misc", "freetype"),
|
||||
src=os.path.join(self.source_folder, "misc", "freetype"))
|
||||
cmake = CMake(self)
|
||||
cmake.install()
|
||||
|
||||
def package_info(self):
|
||||
_is_docking_branch = "docking" in str(self.version)
|
||||
self.conf_info.define("user.imgui:with_docking", _is_docking_branch)
|
||||
self.cpp_info.libs = ["imgui"]
|
||||
if self.settings.os == "Linux":
|
||||
self.cpp_info.system_libs.append("m")
|
||||
if self.settings.os == "Windows":
|
||||
self.cpp_info.system_libs.append("imm32")
|
||||
self.cpp_info.srcdirs = [os.path.join("res", "bindings")]
|
||||
|
||||
bin_path = os.path.join(self.package_folder, "bin")
|
||||
self.output.info("Appending PATH env var with : {}".format(bin_path))
|
||||
self.env_info.PATH.append(bin_path)
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git imgui.h imgui.h
|
||||
index 0a216b76..baeda39b 100644
|
||||
--- imgui.h
|
||||
+++ imgui.h
|
||||
@@ -3978,8 +3978,8 @@ struct ImGuiPlatformIO
|
||||
// Functions
|
||||
//------------------------------------------------------------------
|
||||
|
||||
- void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
|
||||
- void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
|
||||
+ IMGUI_API void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
|
||||
+ IMGUI_API void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
|
||||
};
|
||||
|
||||
// (Optional) Support for IME (Input Method Editor) via the platform_io.Platform_SetImeDataFn() function. Handler is called during EndFrame().
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git imgui.h imgui.h
|
||||
index d0f071d2..8328e9a3 100644
|
||||
--- imgui.h
|
||||
+++ imgui.h
|
||||
@@ -4235,8 +4235,8 @@ struct ImGuiPlatformIO
|
||||
// Functions
|
||||
//------------------------------------------------------------------
|
||||
|
||||
- void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
|
||||
- void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
|
||||
+ IMGUI_API void ClearPlatformHandlers(); // Clear all Platform_XXX fields. Typically called on Platform Backend shutdown.
|
||||
+ IMGUI_API void ClearRendererHandlers(); // Clear all Renderer_XXX fields. Typically called on Renderer Backend shutdown.
|
||||
};
|
||||
|
||||
// (Optional) This is required when enabling multi-viewport. Represent the bounds of each connected monitor/display and their DPI.
|
||||
@@ -1,20 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(test_package LANGUAGES CXX)
|
||||
|
||||
find_package(imgui REQUIRED CONFIG)
|
||||
|
||||
add_executable(${PROJECT_NAME} test_package.cpp)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE imgui::imgui)
|
||||
|
||||
option(DOCKING "Test docking" OFF)
|
||||
|
||||
if (DOCKING)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE -DDOCKING)
|
||||
endif()
|
||||
|
||||
if(ENABLE_TEST_ENGINE)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_TEST_ENGINE)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC "IMGUI_USER_CONFIG=\"${CMAKE_CURRENT_SOURCE_DIR}/my_imgui_config.h\"")
|
||||
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
|
||||
@@ -1,35 +0,0 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.build import can_run
|
||||
from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain
|
||||
import os
|
||||
import re
|
||||
|
||||
|
||||
class TestPackageConan(ConanFile):
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
generators = "CMakeDeps", "VirtualRunEnv"
|
||||
test_type = "explicit"
|
||||
|
||||
def requirements(self):
|
||||
self.requires(self.tested_reference_str)
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self)
|
||||
|
||||
def generate(self):
|
||||
with_docking = self.dependencies[self.tested_reference_str].conf_info.get("user.imgui:with_docking", False)
|
||||
with_test_engine = self.dependencies[self.tested_reference_str].options.get_safe("enable_test_engine", False)
|
||||
tc = CMakeToolchain(self)
|
||||
tc.variables["DOCKING"] = with_docking
|
||||
tc.variables["ENABLE_TEST_ENGINE"] = with_test_engine
|
||||
tc.generate()
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def test(self):
|
||||
if can_run(self):
|
||||
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
|
||||
self.run(bin_path, env="conanrun")
|
||||
@@ -1,11 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
namespace ImGui
|
||||
{
|
||||
void MyFunction(const char* name) {
|
||||
printf(" ImGui::MyFunction(%s)\n", name);
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
#include <imgui.h>
|
||||
#ifdef DOCKING
|
||||
#include <imgui_internal.h>
|
||||
#endif
|
||||
#ifdef ENABLE_TEST_ENGINE
|
||||
#include <imgui_te_engine.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int, char**)
|
||||
{
|
||||
printf("IMGUI VERSION: %s\n", IMGUI_VERSION);
|
||||
ImGui::CreateContext();
|
||||
#ifdef DOCKING
|
||||
printf(" with docking\n");
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_TEST_ENGINE
|
||||
printf(" with test engine\n");
|
||||
ImGuiTestEngine *engine = ImGuiTestEngine_CreateContext();
|
||||
if (engine == NULL) {
|
||||
printf(" Failed to create test engine context\n");
|
||||
return -1;
|
||||
}
|
||||
ImGui::DestroyContext();
|
||||
ImGuiTestEngine_DestroyContext(engine);
|
||||
#else
|
||||
ImGui::DestroyContext();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
versions:
|
||||
"1.92.7-docking":
|
||||
folder: all
|
||||
"1.92.6":
|
||||
folder: all
|
||||
"1.92.6-docking":
|
||||
folder: all
|
||||
"1.92.2b":
|
||||
folder: all
|
||||
"1.92.2b-docking":
|
||||
folder: all
|
||||
"1.91.8":
|
||||
folder: all
|
||||
"1.91.8-docking":
|
||||
folder: all
|
||||
"1.90.9":
|
||||
folder: all
|
||||
"1.90.9-docking":
|
||||
folder: all
|
||||
"1.90.5":
|
||||
folder: all
|
||||
"1.90.5-docking":
|
||||
folder: all
|
||||
"1.88":
|
||||
folder: all
|
||||
"1.87":
|
||||
folder: all
|
||||
"1.86":
|
||||
folder: all
|
||||
"1.85":
|
||||
folder: all
|
||||
@@ -1,7 +1,4 @@
|
||||
sources:
|
||||
"1.1":
|
||||
url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v1.1.tar.gz"
|
||||
sha256: "b787011f81b4b3069c2f9065b7c191efdd4189a49be32ba5282dd5579f05261a"
|
||||
"1.0":
|
||||
url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v1.0.tar.gz"
|
||||
sha256: "30d1c3651986b2074e847b17223a7269c9612ab7f148b944250f81214fed4993"
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
versions:
|
||||
"1.1":
|
||||
folder: all
|
||||
"1.0":
|
||||
folder: all
|
||||
"0.25":
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
sources:
|
||||
"3.3.2":
|
||||
url: "https://github.com/microsoft/mimalloc/archive/v3.3.2.tar.gz"
|
||||
sha256: "ca02384e007f46950598500dfaebde5ff9948c1d231f5a81b058799afa64bbbb"
|
||||
"3.3.1":
|
||||
url: "https://github.com/microsoft/mimalloc/archive/v3.3.1.tar.gz"
|
||||
sha256: "42c16914168ac6741eeb407e83b93a12b2b7ee25a7e14e6b4807fab8b577a540"
|
||||
"3.2.8":
|
||||
url: "https://github.com/microsoft/mimalloc/archive/v3.2.8.tar.gz"
|
||||
sha256: "68163666575518c213a6593850099adce3863b340ca2751103dbd1f253664e05"
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
versions:
|
||||
"3.3.2":
|
||||
folder: all
|
||||
"3.3.1":
|
||||
folder: all
|
||||
"3.2.8":
|
||||
folder: all
|
||||
"3.1.5":
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
# mold: A Modern Linker
|
||||
|
||||
mold is a faster drop-in replacement for existing Unix linkers. It is several
|
||||
times quicker than the LLVM lld linker, the second-fastest open-source linker.
|
||||
mold aims to enhance developer productivity by minimizing build time,
|
||||
particularly in rapid debug-edit-rebuild cycles.
|
||||
|
||||
You can configure Conan to download the latest version of `mold` and use it as the linker
|
||||
when building your dependencies and projects from source. Currently only supported
|
||||
when targeting Linux as the platform.
|
||||
|
||||
To use mold automatically as the linker, you can add the following section to your
|
||||
_host_ profile that targets Linux. When using gcc, please note that the following
|
||||
flags require gcc 12.1 or greater.
|
||||
|
||||
```
|
||||
[tool_requires]
|
||||
*:mold/[*]
|
||||
[conf]
|
||||
tools.build:exelinkflags=['-fuse-ld=mold']
|
||||
tools.build:sharedlinkflags=['-fuse-ld=mold']
|
||||
```
|
||||
@@ -1,39 +0,0 @@
|
||||
sources:
|
||||
"2.41.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.41.0.tar.gz"
|
||||
sha256: "0a61abac85d818437b425df856822e9d6e9982baeae5a93bcb02fe6c0060c61a"
|
||||
"2.40.1":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.40.1.tar.gz"
|
||||
sha256: "d1ce09a69941f8158604c3edcc96c7178231e7dba2da66b20f5ef6e112c443b7"
|
||||
"2.36.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.36.0.tar.gz"
|
||||
sha256: "3f57fe75535500ecce7a80fa1ba33675830b7d7deb1e5ee9a737e2bc43cdb1c7"
|
||||
"2.34.1":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.34.1.tar.gz"
|
||||
sha256: "a8cf638045b4a4b2697d0bcc77fd96eae93d54d57ad3021bf03b0333a727a59d"
|
||||
"2.33.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.33.0.tar.gz"
|
||||
sha256: "37b3aacbd9b6accf581b92ba1a98ca418672ae330b78fe56ae542c2dcb10a155"
|
||||
"2.32.1":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.1.tar.gz"
|
||||
sha256: "f3c9a527d884c635834fe7d79b3de959b00783bf9446280ea274d996f0335825"
|
||||
"2.32.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.32.0.tar.gz"
|
||||
sha256: "4b7e4146ea0f52be9adae8b417399f3676a041e65b55e3f25f088120d30a320b"
|
||||
"2.31.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.31.0.tar.gz"
|
||||
sha256: "3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5"
|
||||
"2.4.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.4.0.tar.gz"
|
||||
sha256: "be65f3d785d32ece7b3204ecaa57810847fdd25c232cf704cbfff2dafb1ac107"
|
||||
"2.0.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v2.0.0.tar.gz"
|
||||
sha256: "2ae8a22db09cbff626df74c945079fa29c1e5f60bbe02502dcf69191cf43527b"
|
||||
"1.11.0":
|
||||
url: "https://github.com/rui314/mold/archive/refs/tags/v1.11.0.tar.gz"
|
||||
sha256: "99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f"
|
||||
patches:
|
||||
"2.40.1":
|
||||
- patch_file: "patches/2.40.1/0001-patch-enforce-c-11-for-tbb.patch"
|
||||
patch_description: "Fix bundled oneTBB build by enforcing C++11 standard"
|
||||
patch_type: "conan"
|
||||
@@ -1,125 +0,0 @@
|
||||
import os
|
||||
from conan import ConanFile
|
||||
from conan.tools.build import check_min_cppstd
|
||||
from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps
|
||||
from conan.tools.files import copy, get, rmdir, apply_conandata_patches, export_conandata_patches
|
||||
from conan.errors import ConanInvalidConfiguration
|
||||
from conan.tools.scm import Version
|
||||
from conan.tools.env import VirtualBuildEnv
|
||||
|
||||
required_conan_version = ">2.0"
|
||||
|
||||
|
||||
class MoldConan(ConanFile):
|
||||
name = "mold"
|
||||
description = (
|
||||
"mold is a faster drop-in replacement for existing Unix linkers. "
|
||||
"It is several times faster than the LLVM lld linker."
|
||||
)
|
||||
license = ("AGPL-3.0", "MIT")
|
||||
url = "https://github.com/conan-io/conan-center-index"
|
||||
homepage = "https://github.com/rui314/mold/"
|
||||
topics = ("ld", "linkage", "compilation", "pre-built")
|
||||
|
||||
package_type = "application"
|
||||
settings = "os", "arch", "compiler", "build_type"
|
||||
options = {
|
||||
"with_mimalloc": [True, False],
|
||||
}
|
||||
default_options = {
|
||||
"with_mimalloc": False,
|
||||
}
|
||||
|
||||
def configure(self):
|
||||
if Version(self.version) < "2.0.0":
|
||||
self.license = "AGPL-3.0"
|
||||
else:
|
||||
self.license = "MIT"
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self, src_folder="src")
|
||||
|
||||
def requirements(self):
|
||||
self.requires("zlib/[>=1.2.11 <2]")
|
||||
self.requires("xxhash/0.8.2")
|
||||
if self.options.with_mimalloc:
|
||||
self.requires("mimalloc/3.3.1@bigfootdev/main")
|
||||
if Version(self.version) < "2.2.0":
|
||||
# Newer versions use vendored-in BLAKE3
|
||||
self.requires("openssl/[>=1.1 <4]")
|
||||
|
||||
def package_id(self):
|
||||
del self.info.settings.compiler
|
||||
|
||||
def validate_build(self):
|
||||
# perform these checks in validate_build() - since the compiler is removed from the package_id,
|
||||
# this lets the compatibility plugin consider the executable built with other compilers
|
||||
if Version(self.version) >= "2.34.0":
|
||||
# mold has required C+20 since 1.4.1. However, C++20 features are used for the first time in 2.34.0.
|
||||
check_min_cppstd(self, 20)
|
||||
if self.settings.compiler in ["gcc", "clang", "intel-cc"] and self.settings.compiler.libcxx != "libstdc++11":
|
||||
raise ConanInvalidConfiguration('Mold can only be built with libstdc++11; specify mold:compiler.libcxx=libstdc++11 in your build profile')
|
||||
if self.settings.compiler == "msvc":
|
||||
raise ConanInvalidConfiguration(f'{self.name} can not be built on {self.settings.os}.')
|
||||
if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "10":
|
||||
raise ConanInvalidConfiguration("GCC version 10 or higher required")
|
||||
if self.settings.compiler in ('clang', 'apple-clang') and Version(self.settings.compiler.version) < "12":
|
||||
raise ConanInvalidConfiguration("Clang version 12 or higher required")
|
||||
if Version(self.version) >= "2.34.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14":
|
||||
raise ConanInvalidConfiguration("Apple-Clang version 14 or higher required due to C++20 features")
|
||||
if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch :
|
||||
raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.')
|
||||
if Version(self.version) == "2.33.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "14":
|
||||
raise ConanInvalidConfiguration(f'{self.ref} doesn\'t support Apple-Clang < 14.')
|
||||
|
||||
def build_requirements(self):
|
||||
self.tool_requires("cmake/[>=3.18.0 <4]")
|
||||
|
||||
def export_sources(self):
|
||||
export_conandata_patches(self)
|
||||
|
||||
def source(self):
|
||||
get(self, **self.conan_data["sources"][self.version], strip_root=True)
|
||||
apply_conandata_patches(self)
|
||||
|
||||
def generate(self):
|
||||
tc = CMakeToolchain(self)
|
||||
tc.variables["MOLD_USE_MIMALLOC"] = self.options.with_mimalloc
|
||||
tc.variables["MOLD_USE_SYSTEM_MIMALLOC"] = True
|
||||
tc.variables["MOLD_USE_SYSTEM_TBB"] = False # see https://github.com/conan-io/conan-center-index/pull/23575#issuecomment-2059154281
|
||||
tc.variables["CMAKE_INSTALL_LIBEXECDIR"] = "libexec"
|
||||
tc.generate()
|
||||
|
||||
cd = CMakeDeps(self)
|
||||
cd.generate()
|
||||
|
||||
vbe = VirtualBuildEnv(self)
|
||||
vbe.generate()
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def package(self):
|
||||
cmake = CMake(self)
|
||||
cmake.install()
|
||||
copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
|
||||
|
||||
rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
|
||||
rmdir(self, os.path.join(self.package_folder, "share"))
|
||||
|
||||
def package_info(self):
|
||||
self.cpp_info.includedirs = []
|
||||
self.cpp_info.libdirs = []
|
||||
self.cpp_info.frameworkdirs = []
|
||||
self.cpp_info.resdirs = []
|
||||
|
||||
if self.settings.os in ["Linux", "FreeBSD"]:
|
||||
self.cpp_info.system_libs = ["m", "pthread", "dl"]
|
||||
|
||||
bindir = os.path.join(self.package_folder, "bin")
|
||||
mold_executable = os.path.join(bindir, "mold")
|
||||
self.conf_info.define("user.mold:path", mold_executable)
|
||||
self.buildenv_info.define_path("MOLD_ROOT", bindir)
|
||||
self.buildenv_info.define("LD", mold_executable)
|
||||
@@ -1,28 +0,0 @@
|
||||
From 2f29fc752620180d88e82792adb2ff8a1d886bd1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Tim=20Friedrich=20Br=C3=BCggemann?=
|
||||
<tim.brueggemann@dampsoft.de>
|
||||
Date: Tue, 17 Jun 2025 09:48:43 +0200
|
||||
Subject: [PATCH] patch: Enforce C++11 for TBB
|
||||
|
||||
---
|
||||
third-party/tbb/CMakeLists.txt | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/third-party/tbb/CMakeLists.txt b/third-party/tbb/CMakeLists.txt
|
||||
index 12273b3e..21c4e2ef 100644
|
||||
--- a/third-party/tbb/CMakeLists.txt
|
||||
+++ b/third-party/tbb/CMakeLists.txt
|
||||
@@ -77,9 +77,7 @@ include(CMakeDependentOption)
|
||||
# ---------------------------------------------------------------------------------------------------------
|
||||
# Handle C++ standard version.
|
||||
if (NOT MSVC) # no need to cover MSVC as it uses C++14 by default.
|
||||
- if (NOT CMAKE_CXX_STANDARD)
|
||||
- set(CMAKE_CXX_STANDARD 11)
|
||||
- endif()
|
||||
+ set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
if (CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION) # if standard option was detected by CMake
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
from conan import ConanFile
|
||||
from conan.tools.build import can_run
|
||||
|
||||
|
||||
class MoldTestConan(ConanFile):
|
||||
settings = "os", "compiler", "build_type", "arch"
|
||||
|
||||
def requirements(self):
|
||||
self.requires(self.tested_reference_str)
|
||||
|
||||
def test(self):
|
||||
if can_run(self):
|
||||
self.run("mold -v", env="conanrun")
|
||||
@@ -1,23 +0,0 @@
|
||||
versions:
|
||||
"2.41.0":
|
||||
folder: all
|
||||
"2.40.1":
|
||||
folder: all
|
||||
"2.36.0":
|
||||
folder: all
|
||||
"2.34.1":
|
||||
folder: all
|
||||
"2.33.0":
|
||||
folder: all
|
||||
"2.32.1":
|
||||
folder: all
|
||||
"2.32.0":
|
||||
folder: all
|
||||
"2.31.0":
|
||||
folder: all
|
||||
"2.4.0":
|
||||
folder: all
|
||||
"2.0.0":
|
||||
folder: all
|
||||
"1.11.0":
|
||||
folder: all
|
||||
@@ -1,7 +1,4 @@
|
||||
sources:
|
||||
"3.53.1":
|
||||
url: "https://sqlite.org/2026/sqlite-amalgamation-3530100.zip"
|
||||
sha256: "36ad6e7f38540a3b21a2ac36340833f0a9e426bc1c752751c3ba669466827eae"
|
||||
"3.51.2":
|
||||
url: "https://sqlite.org/2026/sqlite-amalgamation-3510200.zip"
|
||||
sha256: "6e2a845a493026bdbad0618b2b5a0cf48584faab47384480ed9f592d912f23ec"
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
versions:
|
||||
"3.53.1":
|
||||
folder: all
|
||||
"3.51.2":
|
||||
folder: all
|
||||
"3.51.0":
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
project(test_package LANGUAGES CXX)
|
||||
|
||||
find_package(vulkan-validationlayers REQUIRED CONFIG)
|
||||
|
||||
Reference in New Issue
Block a user