Cleanup linking
All checks were successful
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 5m23s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m14s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 5m40s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 5m41s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 5m53s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m54s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 7m0s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 6m57s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 5m56s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m55s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 6m35s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 6m30s
Bigfoot / Clang Format Checks (push) Successful in 12s

This commit is contained in:
2026-05-15 16:25:56 +02:00
parent 4bedaad0af
commit 65727753c0
20 changed files with 329 additions and 246 deletions

View File

@@ -1,4 +1,4 @@
{
"name": "Bigfoot",
"image": "git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main"
"image": "git.romainboullard.com/bigfootdev/linuxcppbuilder:development"
}

2
.gitignore vendored
View File

@@ -18,4 +18,4 @@ graph_info.json
test_package/Vendor
graphviz
graphviz*

View File

@@ -5,8 +5,7 @@ set(PublicDependencies
SQLite::SQLite3)
set(PrivateDependencies)
set(BigfootPublicDependencies
System
Utils)
System)
set(BigfootPrivateDependencies)
set(BIGFOOT_MAJOR 0)

View File

@@ -4,7 +4,10 @@ project(${PackageName})
set(PublicDependencies
$<$<CONFIG:Debug,RelWithDebInfo>:quill::quill>
$<IF:$<BOOL:${ASAN}>,mimalloc-asan,mimalloc-static>
unordered_dense::unordered_dense)
unordered_dense::unordered_dense
EASTL::EASTL
flatbuffers::flatbuffers
rapidhash::rapidhash)
set(PrivateDependencies)
set(BigfootPublicDependencies)
set(BigfootPrivateDependencies)

View File

@@ -1,13 +1,7 @@
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PackageName}Tests)
set(BigfootDependencies
Engine
System
Utils)
bigfoot_create_package_tests(
""
"${BigfootDependencies}")
"")
bigfoot_create_bigfile("Tests/Bigfoot")

View File

@@ -1,10 +1,5 @@
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PackageName}Tests)
set(BigfootDependencies
System
Utils)
bigfoot_create_package_tests(
""
"${BigfootDependencies}")
"")

View File

@@ -1,11 +1,7 @@
get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PackageName}Tests)
set(BigfootDependencies
Utils)
bigfoot_create_package_tests(
""
"${BigfootDependencies}")
"")
bigfoot_create_logger()

View File

@@ -3,47 +3,10 @@ function(bigfoot_create_package_lib PackagePublicDependencies PackagePrivateDepe
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
bigfoot_compile_flatbuffers("${PackageBigfootPublicDependencies}")
file(GLOB_RECURSE _SOURCES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
file(GLOB_RECURSE _HEADERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.h
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
)
file(GLOB_RECURSE _OTHERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
)
target_sources(${PROJECT_NAME}
PRIVATE
${_SOURCES}
${_OTHERS}
PUBLIC
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/Include
FILES
${_HEADERS}
)
target_link_libraries(${PROJECT_NAME}
PRIVATE
BigfootCompileAndLinkFlags
PUBLIC
unordered_dense::unordered_dense
EASTL::EASTL
flatbuffers::flatbuffers
rapidhash::rapidhash
${PackagePublicDependencies}
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPublicDependencies}>
@@ -51,17 +14,7 @@ function(bigfoot_create_package_lib PackagePublicDependencies PackagePrivateDepe
${PackagePrivateDependencies}
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPrivateDependencies}>)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bigfoot/${ParentFolder})
endfunction()
function(bigfoot_create_package_tests ParentFolder BigfootDependencies)
add_executable(${PROJECT_NAME})
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
bigfoot_compile_flatbuffers("${BigfootDependencies}")
bigfoot_compile_flatbuffers()
file(GLOB_RECURSE _SOURCES
CONFIGURE_DEPENDS
@@ -93,14 +46,54 @@ function(bigfoot_create_package_tests ParentFolder BigfootDependencies)
${_HEADERS}
)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bigfoot/${ParentFolder})
endfunction()
function(bigfoot_create_package_tests ParentFolder)
add_executable(${PROJECT_NAME})
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
target_link_libraries(${PROJECT_NAME}
PRIVATE
BigfootCompileAndLinkFlags
PRIVATE
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageName}>
gtest::gtest)
bigfoot_compile_flatbuffers()
file(GLOB_RECURSE _SOURCES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
file(GLOB_RECURSE _HEADERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.h
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
)
file(GLOB_RECURSE _OTHERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
)
target_sources(${PROJECT_NAME}
PRIVATE
${_SOURCES}
${_OTHERS}
PUBLIC
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/Include
FILES
${_HEADERS}
)
include(GoogleTest)
gtest_discover_tests(${PROJECT_NAME} XML_OUTPUT_DIR ${CMAKE_BINARY_DIR}/TestResults/)

View File

@@ -38,27 +38,53 @@ function(bigfoot_create_bigfile ParentFolder)
)
endfunction()
function(bigfoot_compile_flatbuffers BigfootDependencies)
set(IncludeFolders "")
function(_bigfoot_collect_includes_recursive Target UseAllLinks)
get_property(_Visited GLOBAL PROPERTY _BIGFOOT_VISITED_TARGETS)
if("${Target}" IN_LIST _Visited)
return()
endif()
set_property(GLOBAL APPEND PROPERTY _BIGFOOT_VISITED_TARGETS "${Target}")
list(APPEND IncludeFolders ${CMAKE_CURRENT_SOURCE_DIR}/Include)
foreach(Dependency IN LISTS BigfootDependencies)
if(TARGET ${Dependency})
get_target_property(DependencyIncludeDirs ${Dependency} INTERFACE_INCLUDE_DIRECTORIES)
if(DependencyIncludeDirs)
foreach(Dir IN LISTS DependencyIncludeDirs)
# Strip $<BUILD_INTERFACE:...> generator expression
if(Dir MATCHES "^\\$<BUILD_INTERFACE:(.+)>$")
list(APPEND IncludeFolders "${CMAKE_MATCH_1}")
elseif(NOT Dir MATCHES "^\\$<")
# Pass through plain paths, skip other generator expressions
list(APPEND IncludeFolders "${Dir}")
endif()
endforeach()
get_target_property(_IncDirs "${Target}" INTERFACE_INCLUDE_DIRECTORIES)
if(_IncDirs)
foreach(_Dir IN LISTS _IncDirs)
if(_Dir MATCHES "^\\$<BUILD_INTERFACE:(.+)>$")
set_property(GLOBAL APPEND PROPERTY _BIGFOOT_INCLUDE_DIRS "${CMAKE_MATCH_1}")
elseif(NOT _Dir MATCHES "^\\$<")
set_property(GLOBAL APPEND PROPERTY _BIGFOOT_INCLUDE_DIRS "${_Dir}")
endif()
endforeach()
endif()
if(UseAllLinks)
get_target_property(_Libs "${Target}" LINK_LIBRARIES)
else()
get_target_property(_Libs "${Target}" INTERFACE_LINK_LIBRARIES)
endif()
if(NOT _Libs)
return()
endif()
foreach(_Lib IN LISTS _Libs)
if(_Lib MATCHES "^\\$<LINK_LIBRARY:[^,]+,(.+)>$")
foreach(_Inner IN LISTS CMAKE_MATCH_1)
if(TARGET "${_Inner}")
_bigfoot_collect_includes_recursive("${_Inner}" FALSE)
endif()
endforeach()
elseif(NOT _Lib MATCHES "^\\$<" AND TARGET "${_Lib}")
_bigfoot_collect_includes_recursive("${_Lib}" FALSE)
endif()
endforeach()
endfunction()
function(bigfoot_compile_flatbuffers)
set_property(GLOBAL PROPERTY _BIGFOOT_VISITED_TARGETS "")
set_property(GLOBAL PROPERTY _BIGFOOT_INCLUDE_DIRS "")
_bigfoot_collect_includes_recursive(${PROJECT_NAME} TRUE)
get_property(_CollectedDirs GLOBAL PROPERTY _BIGFOOT_INCLUDE_DIRS)
set(IncludeFolders "${CMAKE_CURRENT_SOURCE_DIR}/Include" ${_CollectedDirs})
list(REMOVE_DUPLICATES IncludeFolders)
set(IncludeFlags "")
foreach(folder IN LISTS IncludeFolders)

View File

@@ -103,20 +103,44 @@
</Expand>
</Type>
<Type Name="eastl::span&lt;*&gt;">
<DisplayString Condition="mnSize == 0">[{mnSize}] {{}}</DisplayString>
<DisplayString Condition="mnSize == 1">[{mnSize}] {{ {*mpData} }}</DisplayString>
<DisplayString Condition="mnSize == 2">[{mnSize}] {{ {*mpData}, {*(mpData+1)} }}</DisplayString>
<DisplayString Condition="mnSize == 3">[{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)} }}</DisplayString>
<DisplayString Condition="mnSize == 4">[{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)} }}</DisplayString>
<DisplayString Condition="mnSize == 5">[{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)} }}</DisplayString>
<DisplayString Condition="mnSize == 6">[{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)} }}</DisplayString>
<DisplayString Condition="mnSize &gt; 6">[{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)}, ... }}</DisplayString>
<Type Name="eastl::span&lt;*,-1&gt;" Priority="High">
<DisplayString Condition="mStorage.mnSize == 0">[{mStorage.mnSize}] {{}}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 1">[{mStorage.mnSize}] {{ {*mStorage.mpData} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 2">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 3">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 4">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 5">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize == 6">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)} }}</DisplayString>
<DisplayString Condition="mStorage.mnSize &gt; 6">[{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)}, ... }}</DisplayString>
<Expand>
<Item Name="[size]">mnSize</Item>
<Synthetic Name="Specialization">
<DisplayString>DynamicSize</DisplayString>
</Synthetic>
<Item Name="[size]">mStorage.mnSize</Item>
<ArrayItems>
<Size>mnSize</Size>
<ValuePointer>mpData</ValuePointer>
<Size>mStorage.mnSize</Size>
<ValuePointer>mStorage.mpData</ValuePointer>
</ArrayItems>
</Expand>
</Type>
<Type Name="eastl::span&lt;*,*&gt;">
<DisplayString Condition="$T2 == 0">[{$T2}] {{}}</DisplayString>
<DisplayString Condition="$T2 == 1">[{$T2}] {{ {*mStorage.mpData} }}</DisplayString>
<DisplayString Condition="$T2 == 2">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)} }}</DisplayString>
<DisplayString Condition="$T2 == 3">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)} }}</DisplayString>
<DisplayString Condition="$T2 == 4">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)} }}</DisplayString>
<DisplayString Condition="$T2 == 5">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)} }}</DisplayString>
<DisplayString Condition="$T2 == 6">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)} }}</DisplayString>
<DisplayString Condition="$T2 &gt; 6">[{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)}, ... }}</DisplayString>
<Expand>
<Synthetic Name="Specialization">
<DisplayString>ConstantSize</DisplayString>
</Synthetic>
<Item Name="[size]">$T2</Item>
<ArrayItems>
<Size>$T2</Size>
<ValuePointer>mStorage.mpData</ValuePointer>
</ArrayItems>
</Expand>
</Type>
@@ -319,6 +343,22 @@
</Expand>
</Type>
<Type Name="eastl::intrusive_list&lt;*&gt;">
<DisplayString Condition="mAnchor.mpNext == &amp;mAnchor">[0] {{}}</DisplayString>
<DisplayString Condition="mAnchor.mpNext != &amp;mAnchor &amp;&amp; mAnchor.mpNext-&gt;mpNext == &amp;mAnchor">[1] {{ {mAnchor.mpNext} }}</DisplayString>
<DisplayString Condition="mAnchor.mpNext != &amp;mAnchor &amp;&amp; mAnchor.mpNext-&gt;mpNext != &amp;mAnchor">[?] {{ {mAnchor.mpNext}, ... }}</DisplayString>
<Expand>
<Synthetic Name="NOTE!">
<DisplayString>Content of intrusive lists will repeat indefinitely. Keep that in mind!</DisplayString>
</Synthetic>
<LinkedListItems>
<HeadPointer>mAnchor.mpNext</HeadPointer>
<NextPointer>mpNext</NextPointer>
<ValueNode>*(($T1*)this)</ValueNode>
</LinkedListItems>
</Expand>
</Type>
<Type Name="eastl::intrusive_list_iterator&lt;*&gt;">
<DisplayString>{*($T1*)mpNode}</DisplayString>
<Expand>
@@ -537,6 +577,25 @@
</Expand>
</Type>
<Type Name="eastl::expected&lt;*&gt;">
<DisplayString Condition="!mHasValue">{mError} (Error)</DisplayString>
<DisplayString Condition="mHasValue">{mValue}</DisplayString>
<Expand>
<Item Condition="!mHasValue" Name="mError">mError</Item>
<Item Condition="mHasValue" Name="mValue">mValue</Item>
<Item Name="mHasValue">mHasValue</Item>
</Expand>
</Type>
<Type Name="eastl::expected&lt;void,*&gt;">
<DisplayString Condition="mHasValue">void</DisplayString>
<DisplayString Condition="!mHasValue">{mError} (Error)</DisplayString>
<Expand>
<Item Condition="!mHasValue" Name="mError">mError</Item>
<Item Name="mHasValue">mHasValue</Item>
</Expand>
</Type>
<Type Name="eastl::ratio&lt;*&gt;">
<DisplayString>{$T1} to {$T2}}</DisplayString>
</Type>
@@ -606,70 +665,70 @@
<Type Name="eastl::variant&lt;*&gt;">
<Intrinsic Name="index" Expression="(int)mIndex"/>
<DisplayString Condition="index() == size_t(-1)">[valueless_by_exception]</DisplayString>
<DisplayString Condition="index() == 0" Optional="true">{{ index=0, value={($T1*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 1" Optional="true">{{ index=1, value={($T2*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 2" Optional="true">{{ index=2, value={($T3*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 3" Optional="true">{{ index=3, value={($T4*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 4" Optional="true">{{ index=4, value={($T5*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 5" Optional="true">{{ index=5, value={($T6*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 6" Optional="true">{{ index=6, value={($T7*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 7" Optional="true">{{ index=7, value={($T8*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 8" Optional="true">{{ index=8, value={($T9*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 9" Optional="true">{{ index=9, value={($T10*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 10" Optional="true">{{ index=10, value={($T11*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 11" Optional="true">{{ index=11, value={($T12*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 12" Optional="true">{{ index=12, value={($T13*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 13" Optional="true">{{ index=13, value={($T14*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 14" Optional="true">{{ index=14, value={($T15*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 15" Optional="true">{{ index=15, value={($T16*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 16" Optional="true">{{ index=16, value={($T17*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 17" Optional="true">{{ index=17, value={($T18*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 18" Optional="true">{{ index=18, value={($T19*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 19" Optional="true">{{ index=19, value={($T20*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 20" Optional="true">{{ index=20, value={($T21*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 21" Optional="true">{{ index=21, value={($T22*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 22" Optional="true">{{ index=22, value={($T23*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 23" Optional="true">{{ index=23, value={($T24*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 24" Optional="true">{{ index=24, value={($T25*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 25" Optional="true">{{ index=25, value={($T26*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 26" Optional="true">{{ index=26, value={($T27*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 27" Optional="true">{{ index=27, value={($T28*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 28" Optional="true">{{ index=28, value={($T29*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 29" Optional="true">{{ index=29, value={($T30*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 30" Optional="true">{{ index=30, value={($T31*)mStorage.mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 0" Optional="true">{{ index=0, value={($T1*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 1" Optional="true">{{ index=1, value={($T2*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 2" Optional="true">{{ index=2, value={($T3*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 3" Optional="true">{{ index=3, value={($T4*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 4" Optional="true">{{ index=4, value={($T5*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 5" Optional="true">{{ index=5, value={($T6*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 6" Optional="true">{{ index=6, value={($T7*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 7" Optional="true">{{ index=7, value={($T8*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 8" Optional="true">{{ index=8, value={($T9*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 9" Optional="true">{{ index=9, value={($T10*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 10" Optional="true">{{ index=10, value={($T11*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 11" Optional="true">{{ index=11, value={($T12*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 12" Optional="true">{{ index=12, value={($T13*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 13" Optional="true">{{ index=13, value={($T14*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 14" Optional="true">{{ index=14, value={($T15*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 15" Optional="true">{{ index=15, value={($T16*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 16" Optional="true">{{ index=16, value={($T17*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 17" Optional="true">{{ index=17, value={($T18*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 18" Optional="true">{{ index=18, value={($T19*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 19" Optional="true">{{ index=19, value={($T20*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 20" Optional="true">{{ index=20, value={($T21*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 21" Optional="true">{{ index=21, value={($T22*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 22" Optional="true">{{ index=22, value={($T23*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 23" Optional="true">{{ index=23, value={($T24*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 24" Optional="true">{{ index=24, value={($T25*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 25" Optional="true">{{ index=25, value={($T26*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 26" Optional="true">{{ index=26, value={($T27*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 27" Optional="true">{{ index=27, value={($T28*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 28" Optional="true">{{ index=28, value={($T29*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 29" Optional="true">{{ index=29, value={($T30*)mBuffer.mCharData}}</DisplayString>
<DisplayString Condition="index() == 30" Optional="true">{{ index=30, value={($T31*)mBuffer.mCharData}}</DisplayString>
<Expand>
<Item Name="index">index()</Item>
<Item Name="[value]" Condition="index() == 0" Optional="true">($T1*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 1" Optional="true">($T2*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 2" Optional="true">($T3*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 3" Optional="true">($T4*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 4" Optional="true">($T5*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 5" Optional="true">($T6*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 6" Optional="true">($T7*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 7" Optional="true">($T8*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 8" Optional="true">($T9*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 9" Optional="true">($T10*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 10" Optional="true">($T11*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 11" Optional="true">($T12*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 12" Optional="true">($T13*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 13" Optional="true">($T14*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 14" Optional="true">($T15*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 15" Optional="true">($T16*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 16" Optional="true">($T17*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 17" Optional="true">($T18*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 18" Optional="true">($T19*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 19" Optional="true">($T20*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 20" Optional="true">($T21*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 21" Optional="true">($T22*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 22" Optional="true">($T23*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 23" Optional="true">($T24*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 24" Optional="true">($T25*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 25" Optional="true">($T26*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 26" Optional="true">($T27*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 27" Optional="true">($T28*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 28" Optional="true">($T29*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 29" Optional="true">($T30*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 30" Optional="true">($T31*)mStorage.mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 0" Optional="true">($T1*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 1" Optional="true">($T2*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 2" Optional="true">($T3*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 3" Optional="true">($T4*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 4" Optional="true">($T5*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 5" Optional="true">($T6*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 6" Optional="true">($T7*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 7" Optional="true">($T8*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 8" Optional="true">($T9*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 9" Optional="true">($T10*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 10" Optional="true">($T11*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 11" Optional="true">($T12*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 12" Optional="true">($T13*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 13" Optional="true">($T14*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 14" Optional="true">($T15*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 15" Optional="true">($T16*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 16" Optional="true">($T17*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 17" Optional="true">($T18*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 18" Optional="true">($T19*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 19" Optional="true">($T20*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 20" Optional="true">($T21*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 21" Optional="true">($T22*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 22" Optional="true">($T23*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 23" Optional="true">($T24*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 24" Optional="true">($T25*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 25" Optional="true">($T26*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 26" Optional="true">($T27*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 27" Optional="true">($T28*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 28" Optional="true">($T29*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 29" Optional="true">($T30*)mBuffer.mCharData</Item>
<Item Name="[value]" Condition="index() == 30" Optional="true">($T31*)mBuffer.mCharData</Item>
</Expand>
</Type>
@@ -757,5 +816,94 @@
</Expand>
</Type>
<Type Name="eastl::basic_flags&lt;*,eastl::flag_marshaller&lt;eastl::maskflag_tag,*&gt;&gt;">
<DisplayString Condition="m_mask == 0">(nothing)</DisplayString>
<DisplayString>{static_cast&lt;flag_type&gt;(m_mask),en}</DisplayString>
<Expand>
<Item Name="m_mask">m_mask,bb</Item>
<Item Name="bit 0" Condition="m_mask &amp; (1 &lt;&lt; 0)">(flag_type)(1 &lt;&lt; 0),en</Item>
<Item Name="bit 1" Condition="m_mask &amp; (1 &lt;&lt; 1)">(flag_type)(1 &lt;&lt; 1),en</Item>
<Item Name="bit 2" Condition="m_mask &amp; (1 &lt;&lt; 2)">(flag_type)(1 &lt;&lt; 2),en</Item>
<Item Name="bit 3" Condition="m_mask &amp; (1 &lt;&lt; 3)">(flag_type)(1 &lt;&lt; 3),en</Item>
<Item Name="bit 4" Condition="m_mask &amp; (1 &lt;&lt; 4)">(flag_type)(1 &lt;&lt; 4),en</Item>
<Item Name="bit 5" Condition="m_mask &amp; (1 &lt;&lt; 5)">(flag_type)(1 &lt;&lt; 5),en</Item>
<Item Name="bit 6" Condition="m_mask &amp; (1 &lt;&lt; 6)">(flag_type)(1 &lt;&lt; 6),en</Item>
<Item Name="bit 7" Condition="m_mask &amp; (1 &lt;&lt; 7)">(flag_type)(1 &lt;&lt; 7),en</Item>
</AutoVisualizer>
<Item Name="bit 8" Condition="m_mask &amp; (1 &lt;&lt; 8)">(flag_type)(1 &lt;&lt; 8),en</Item>
<Item Name="bit 9" Condition="m_mask &amp; (1 &lt;&lt; 9)">(flag_type)(1 &lt;&lt; 9),en</Item>
<Item Name="bit 10" Condition="m_mask &amp; (1 &lt;&lt; 10)">(flag_type)(1 &lt;&lt; 10),en</Item>
<Item Name="bit 11" Condition="m_mask &amp; (1 &lt;&lt; 11)">(flag_type)(1 &lt;&lt; 11),en</Item>
<Item Name="bit 12" Condition="m_mask &amp; (1 &lt;&lt; 12)">(flag_type)(1 &lt;&lt; 12),en</Item>
<Item Name="bit 13" Condition="m_mask &amp; (1 &lt;&lt; 13)">(flag_type)(1 &lt;&lt; 13),en</Item>
<Item Name="bit 14" Condition="m_mask &amp; (1 &lt;&lt; 14)">(flag_type)(1 &lt;&lt; 14),en</Item>
<Item Name="bit 15" Condition="m_mask &amp; (1 &lt;&lt; 15)">(flag_type)(1 &lt;&lt; 15),en</Item>
<Item Name="bit 16" Condition="m_mask &amp; (1 &lt;&lt; 16)">(flag_type)(1 &lt;&lt; 16),en</Item>
<Item Name="bit 17" Condition="m_mask &amp; (1 &lt;&lt; 17)">(flag_type)(1 &lt;&lt; 17),en</Item>
<Item Name="bit 18" Condition="m_mask &amp; (1 &lt;&lt; 18)">(flag_type)(1 &lt;&lt; 18),en</Item>
<Item Name="bit 19" Condition="m_mask &amp; (1 &lt;&lt; 19)">(flag_type)(1 &lt;&lt; 19),en</Item>
<Item Name="bit 20" Condition="m_mask &amp; (1 &lt;&lt; 20)">(flag_type)(1 &lt;&lt; 20),en</Item>
<Item Name="bit 21" Condition="m_mask &amp; (1 &lt;&lt; 21)">(flag_type)(1 &lt;&lt; 21),en</Item>
<Item Name="bit 22" Condition="m_mask &amp; (1 &lt;&lt; 22)">(flag_type)(1 &lt;&lt; 22),en</Item>
<Item Name="bit 23" Condition="m_mask &amp; (1 &lt;&lt; 23)">(flag_type)(1 &lt;&lt; 23),en</Item>
<Item Name="bit 24" Condition="m_mask &amp; (1 &lt;&lt; 24)">(flag_type)(1 &lt;&lt; 24),en</Item>
<Item Name="bit 25" Condition="m_mask &amp; (1 &lt;&lt; 25)">(flag_type)(1 &lt;&lt; 25),en</Item>
<Item Name="bit 26" Condition="m_mask &amp; (1 &lt;&lt; 26)">(flag_type)(1 &lt;&lt; 26),en</Item>
<Item Name="bit 27" Condition="m_mask &amp; (1 &lt;&lt; 27)">(flag_type)(1 &lt;&lt; 27),en</Item>
<Item Name="bit 28" Condition="m_mask &amp; (1 &lt;&lt; 28)">(flag_type)(1 &lt;&lt; 28),en</Item>
<Item Name="bit 29" Condition="m_mask &amp; (1 &lt;&lt; 29)">(flag_type)(1 &lt;&lt; 29),en</Item>
<Item Name="bit 30" Condition="m_mask &amp; (1 &lt;&lt; 30)">(flag_type)(1 &lt;&lt; 30),en</Item>
<Item Name="bit 31" Condition="m_mask &amp; (1 &lt;&lt; 31)">(flag_type)(1 &lt;&lt; 31),en</Item>
</Expand>
</Type>
<Type Name="eastl::basic_flags&lt;*,eastl::flag_marshaller&lt;eastl::bitflag_tag,*&gt;&gt;">
<!-- when we have a single flag, display that -->
<DisplayString Condition="(1 &lt;&lt; __log2(m_mask)) == m_mask">{static_cast&lt;flag_type&gt;(__log2(m_mask)),en}</DisplayString>
<!-- we lack the technology to show every flag, so just say there is multiple -->
<DisplayString Condition="m_mask != 0">(multiple values)</DisplayString>
<!-- empty -->
<DisplayString>(nothing)</DisplayString>
<Expand>
<Item Name="m_mask">m_mask,bb</Item>
<Item Name="bit 0" Condition="m_mask &amp; (1 &lt;&lt; 0)">(flag_type)(0),en</Item>
<Item Name="bit 1" Condition="m_mask &amp; (1 &lt;&lt; 1)">(flag_type)(1),en</Item>
<Item Name="bit 2" Condition="m_mask &amp; (1 &lt;&lt; 2)">(flag_type)(2),en</Item>
<Item Name="bit 3" Condition="m_mask &amp; (1 &lt;&lt; 3)">(flag_type)(3),en</Item>
<Item Name="bit 4" Condition="m_mask &amp; (1 &lt;&lt; 4)">(flag_type)(4),en</Item>
<Item Name="bit 5" Condition="m_mask &amp; (1 &lt;&lt; 5)">(flag_type)(5),en</Item>
<Item Name="bit 6" Condition="m_mask &amp; (1 &lt;&lt; 6)">(flag_type)(6),en</Item>
<Item Name="bit 7" Condition="m_mask &amp; (1 &lt;&lt; 7)">(flag_type)(7),en</Item>
<Item Name="bit 8" Condition="m_mask &amp; (1 &lt;&lt; 8)">(flag_type)(8),en</Item>
<Item Name="bit 9" Condition="m_mask &amp; (1 &lt;&lt; 9)">(flag_type)(9),en</Item>
<Item Name="bit 10" Condition="m_mask &amp; (1 &lt;&lt; 10)">(flag_type)(10),en</Item>
<Item Name="bit 11" Condition="m_mask &amp; (1 &lt;&lt; 11)">(flag_type)(11),en</Item>
<Item Name="bit 12" Condition="m_mask &amp; (1 &lt;&lt; 12)">(flag_type)(12),en</Item>
<Item Name="bit 13" Condition="m_mask &amp; (1 &lt;&lt; 13)">(flag_type)(13),en</Item>
<Item Name="bit 14" Condition="m_mask &amp; (1 &lt;&lt; 14)">(flag_type)(14),en</Item>
<Item Name="bit 15" Condition="m_mask &amp; (1 &lt;&lt; 15)">(flag_type)(15),en</Item>
<Item Name="bit 16" Condition="m_mask &amp; (1 &lt;&lt; 16)">(flag_type)(16),en</Item>
<Item Name="bit 17" Condition="m_mask &amp; (1 &lt;&lt; 17)">(flag_type)(17),en</Item>
<Item Name="bit 18" Condition="m_mask &amp; (1 &lt;&lt; 18)">(flag_type)(18),en</Item>
<Item Name="bit 19" Condition="m_mask &amp; (1 &lt;&lt; 19)">(flag_type)(19),en</Item>
<Item Name="bit 20" Condition="m_mask &amp; (1 &lt;&lt; 20)">(flag_type)(20),en</Item>
<Item Name="bit 21" Condition="m_mask &amp; (1 &lt;&lt; 21)">(flag_type)(21),en</Item>
<Item Name="bit 22" Condition="m_mask &amp; (1 &lt;&lt; 22)">(flag_type)(22),en</Item>
<Item Name="bit 23" Condition="m_mask &amp; (1 &lt;&lt; 23)">(flag_type)(23),en</Item>
<Item Name="bit 24" Condition="m_mask &amp; (1 &lt;&lt; 24)">(flag_type)(24),en</Item>
<Item Name="bit 25" Condition="m_mask &amp; (1 &lt;&lt; 25)">(flag_type)(25),en</Item>
<Item Name="bit 26" Condition="m_mask &amp; (1 &lt;&lt; 26)">(flag_type)(26),en</Item>
<Item Name="bit 27" Condition="m_mask &amp; (1 &lt;&lt; 27)">(flag_type)(27),en</Item>
<Item Name="bit 28" Condition="m_mask &amp; (1 &lt;&lt; 28)">(flag_type)(28),en</Item>
<Item Name="bit 29" Condition="m_mask &amp; (1 &lt;&lt; 29)">(flag_type)(29),en</Item>
<Item Name="bit 30" Condition="m_mask &amp; (1 &lt;&lt; 30)">(flag_type)(30),en</Item>
<Item Name="bit 31" Condition="m_mask &amp; (1 &lt;&lt; 31)">(flag_type)(31),en</Item>
</Expand>
</Type>
</AutoVisualizer>

View File

@@ -403,7 +403,7 @@
</Expand>
</Type>
<Type Name="glm::mat&lt;3,2*,*&gt;">
<Type Name="glm::mat&lt;3,2,*,*&gt;">
<DisplayString>[{value[0]} {value[1]} {value[2]}]</DisplayString>
<Expand HideRawView="1">
<!-- display matrix in row major order - it makes more sense -->

View File

@@ -1,71 +0,0 @@
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
REM =========================
REM Variables
REM =========================
SET FMT=clang-format
SET MODE=
SET EXIT_CODE=0
REM =========================
REM Parse arguments
REM =========================
:parse_args
IF "%~1"=="" GOTO end_parse_args
IF "%~1"=="--check" (
SET MODE=check
) ELSE IF "%~1"=="--fix" (
SET MODE=fix
) ELSE (
REM Accumulate directories
SET DIRS=!DIRS! "%~1"
)
SHIFT
GOTO parse_args
:end_parse_args
IF "%MODE%"=="" (
ECHO Usage: %~nx0 --check|--fix <directory> [<directory> ...]
EXIT /B 1
)
IF "%DIRS%"=="" (
ECHO Please provide at least one directory.
EXIT /B 1
)
REM =========================
REM Iterate over directories
REM =========================
FOR %%D IN (%DIRS%) DO (
IF NOT EXIST "%%~D" (
ECHO %%~D is not a valid directory.
SET EXIT_CODE=1
GOTO :continue_dirs
)
REM Recursively find source files
FOR /R "%%~D" %%F IN (*.h *.hpp *.c *.cpp *.m *.mm) DO (
SET FILE=%%F
REM Skip *_generated* files
ECHO !FILE! | FINDSTR /I "_generated" >nul
IF ERRORLEVEL 1 (
IF "%MODE%"=="fix" (
ECHO Formatting !FILE!
%FMT% -i "!FILE!"
) ELSE (
ECHO Checking !FILE!
%FMT% --dry-run --Werror "!FILE!" 2>nul
IF ERRORLEVEL 1 (
REM clang-format will already print diagnostics
SET EXIT_CODE=1
)
)
)
)
:continue_dirs
)
EXIT /B %EXIT_CODE%

View File

@@ -25,7 +25,7 @@ if errorlevel 1 (
)
REM ─── Shared flags ────────────────────────────────────────────────────────────
set "conan_common=--remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc -of build -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True"
set "conan_common=--remote=bigfootpackages -pr:h=./ConanProfiles/msvc -pr:b=./ConanProfiles/Tools/msvc -of build-windows -o bigfoot/*:build_tests=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:tracy=True -o bigfoot/*:vulkan=True"
REM ─── Install dependencies for each build type ────────────────────────────────
for %%C in (Release RelWithDebInfo Debug) do (
@@ -45,9 +45,9 @@ echo All build types installed successfully.
REM ─── Activate build environment and run CMake ────────────────────────────────
echo.
echo Activating build environment and configuring CMake...
mkdir graphviz 2>nul
mkdir graphviz-windows 2>nul
powershell -ExecutionPolicy Bypass -Command "& 'build/build/generators/conanbuild.ps1'; cmake -S . -B build --toolchain build/build/generators/conan_toolchain.cmake --graphviz=graphviz/graph.dot; if ($LASTEXITCODE -ne 0) { Write-Host 'ERROR: CMake configuration failed'; exit 1 }"
powershell -ExecutionPolicy Bypass -Command "& 'build-windows/build/generators/conanbuild.ps1'; cmake -S . -B build-windows --toolchain build-windows/build/generators/conan_toolchain.cmake --graphviz=graphviz-windows/graph.dot; if ($LASTEXITCODE -ne 0) { Write-Host 'ERROR: CMake configuration failed'; exit 1 }"
if errorlevel 1 (
echo ERROR: Build environment or CMake step failed.

View File

@@ -55,7 +55,7 @@ conan_common=(
--remote=bigfootpackages
-pr:h=./ConanProfiles/clang
-pr:b=./ConanProfiles/Tools/clang
-of build
-of build-linux
-o "bigfoot/*:build_tests=True"
-o "bigfoot/*:build_benchmarks=True"
-o "bigfoot/*:tracy=True"
@@ -84,16 +84,16 @@ for build_type in "${build_types[@]}"; do
echo
echo "[${build_type}] Activating build environment..."
# shellcheck disable=SC1090
source "build/build/${build_type}/generators/conanbuild.sh"
source "build-linux/build/${build_type}/generators/conanbuild.sh"
mkdir -p "graphviz/${build_type}"
mkdir -p "graphviz-linux/${build_type}"
echo "[${build_type}] Running CMake..."
if ! cmake -S . -B "build/${build_type}" \
--toolchain "build/build/${build_type}/generators/conan_toolchain.cmake" \
if ! cmake -S . -B "build-linux/${build_type}" \
--toolchain "build-linux/build/${build_type}/generators/conan_toolchain.cmake" \
-DCMAKE_BUILD_TYPE="${build_type}" \
-G "Ninja" \
--graphviz="graphviz/${build_type}/graph.dot"; then
--graphviz="graphviz-linux/${build_type}/graph.dot"; then
echo "ERROR: CMake configuration failed for build type ${build_type}."
exit 1
fi