diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 46a94d4..b50d3c9 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,4 +1,4 @@ { "name": "Bigfoot", - "image": "git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main" + "image": "git.romainboullard.com/bigfootdev/linuxcppbuilder:development" } diff --git a/.gitignore b/.gitignore index 129a851..ac60dd1 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,4 @@ graph_info.json test_package/Vendor -graphviz \ No newline at end of file +graphviz* \ No newline at end of file diff --git a/Bigfoot/Sources/Engine/CMakeLists.txt b/Bigfoot/Sources/Engine/CMakeLists.txt index 943596b..32ebc90 100644 --- a/Bigfoot/Sources/Engine/CMakeLists.txt +++ b/Bigfoot/Sources/Engine/CMakeLists.txt @@ -5,8 +5,7 @@ set(PublicDependencies SQLite::SQLite3) set(PrivateDependencies) set(BigfootPublicDependencies - System - Utils) + System) set(BigfootPrivateDependencies) set(BIGFOOT_MAJOR 0) diff --git a/Bigfoot/Sources/Utils/CMakeLists.txt b/Bigfoot/Sources/Utils/CMakeLists.txt index b8284d1..2250593 100644 --- a/Bigfoot/Sources/Utils/CMakeLists.txt +++ b/Bigfoot/Sources/Utils/CMakeLists.txt @@ -4,7 +4,10 @@ project(${PackageName}) set(PublicDependencies $<$:quill::quill> $,mimalloc-asan,mimalloc-static> - unordered_dense::unordered_dense) + unordered_dense::unordered_dense + EASTL::EASTL + flatbuffers::flatbuffers + rapidhash::rapidhash) set(PrivateDependencies) set(BigfootPublicDependencies) set(BigfootPrivateDependencies) diff --git a/Bigfoot/Tests/Engine/CMakeLists.txt b/Bigfoot/Tests/Engine/CMakeLists.txt index bbd169b..f2dd9ed 100644 --- a/Bigfoot/Tests/Engine/CMakeLists.txt +++ b/Bigfoot/Tests/Engine/CMakeLists.txt @@ -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") \ No newline at end of file diff --git a/Bigfoot/Tests/System/CMakeLists.txt b/Bigfoot/Tests/System/CMakeLists.txt index 88b69d7..6c98a7c 100644 --- a/Bigfoot/Tests/System/CMakeLists.txt +++ b/Bigfoot/Tests/System/CMakeLists.txt @@ -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}") \ No newline at end of file + "") \ No newline at end of file diff --git a/Bigfoot/Tests/Utils/CMakeLists.txt b/Bigfoot/Tests/Utils/CMakeLists.txt index 5101201..eb59da7 100644 --- a/Bigfoot/Tests/Utils/CMakeLists.txt +++ b/Bigfoot/Tests/Utils/CMakeLists.txt @@ -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() \ No newline at end of file diff --git a/CMake/Package.cmake b/CMake/Package.cmake index 9566088..4b91db9 100644 --- a/CMake/Package.cmake +++ b/CMake/Package.cmake @@ -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} $ @@ -51,17 +14,7 @@ function(bigfoot_create_package_lib PackagePublicDependencies PackagePrivateDepe ${PackagePrivateDependencies} $) - 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 $ 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/) diff --git a/CMake/Utils.cmake b/CMake/Utils.cmake index f70c70b..a3c4922 100644 --- a/CMake/Utils.cmake +++ b/CMake/Utils.cmake @@ -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 $ generator expression - if(Dir MATCHES "^\\$$") - 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 "^\\$$") + 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 "^\\$$") + 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) diff --git a/Vendor/NatVis/EASTL/EASTL.natvis b/Vendor/NatVis/EASTL/EASTL.natvis index e1ec96d..472e834 100644 --- a/Vendor/NatVis/EASTL/EASTL.natvis +++ b/Vendor/NatVis/EASTL/EASTL.natvis @@ -103,20 +103,44 @@ - - [{mnSize}] {{}} - [{mnSize}] {{ {*mpData} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)} }} - [{mnSize}] {{ {*mpData}, {*(mpData+1)}, {*(mpData+2)}, {*(mpData+3)}, {*(mpData+4)}, {*(mpData+5)}, ... }} + + [{mStorage.mnSize}] {{}} + [{mStorage.mnSize}] {{ {*mStorage.mpData} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)} }} + [{mStorage.mnSize}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)}, ... }} - mnSize + + DynamicSize + + mStorage.mnSize - mnSize - mpData + mStorage.mnSize + mStorage.mpData + + + + + + [{$T2}] {{}} + [{$T2}] {{ {*mStorage.mpData} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)} }} + [{$T2}] {{ {*mStorage.mpData}, {*(mStorage.mpData+1)}, {*(mStorage.mpData+2)}, {*(mStorage.mpData+3)}, {*(mStorage.mpData+4)}, {*(mStorage.mpData+5)}, ... }} + + + ConstantSize + + $T2 + + $T2 + mStorage.mpData @@ -319,6 +343,22 @@ + + [0] {{}} + [1] {{ {mAnchor.mpNext} }} + [?] {{ {mAnchor.mpNext}, ... }} + + + Content of intrusive lists will repeat indefinitely. Keep that in mind! + + + mAnchor.mpNext + mpNext + *(($T1*)this) + + + + {*($T1*)mpNode} @@ -537,6 +577,25 @@ + + {mError} (Error) + {mValue} + + mError + mValue + mHasValue + + + + + void + {mError} (Error) + + mError + mHasValue + + + {$T1} to {$T2}} @@ -606,70 +665,70 @@ [valueless_by_exception] - {{ index=0, value={($T1*)mStorage.mBuffer.mCharData}} - {{ index=1, value={($T2*)mStorage.mBuffer.mCharData}} - {{ index=2, value={($T3*)mStorage.mBuffer.mCharData}} - {{ index=3, value={($T4*)mStorage.mBuffer.mCharData}} - {{ index=4, value={($T5*)mStorage.mBuffer.mCharData}} - {{ index=5, value={($T6*)mStorage.mBuffer.mCharData}} - {{ index=6, value={($T7*)mStorage.mBuffer.mCharData}} - {{ index=7, value={($T8*)mStorage.mBuffer.mCharData}} - {{ index=8, value={($T9*)mStorage.mBuffer.mCharData}} - {{ index=9, value={($T10*)mStorage.mBuffer.mCharData}} - {{ index=10, value={($T11*)mStorage.mBuffer.mCharData}} - {{ index=11, value={($T12*)mStorage.mBuffer.mCharData}} - {{ index=12, value={($T13*)mStorage.mBuffer.mCharData}} - {{ index=13, value={($T14*)mStorage.mBuffer.mCharData}} - {{ index=14, value={($T15*)mStorage.mBuffer.mCharData}} - {{ index=15, value={($T16*)mStorage.mBuffer.mCharData}} - {{ index=16, value={($T17*)mStorage.mBuffer.mCharData}} - {{ index=17, value={($T18*)mStorage.mBuffer.mCharData}} - {{ index=18, value={($T19*)mStorage.mBuffer.mCharData}} - {{ index=19, value={($T20*)mStorage.mBuffer.mCharData}} - {{ index=20, value={($T21*)mStorage.mBuffer.mCharData}} - {{ index=21, value={($T22*)mStorage.mBuffer.mCharData}} - {{ index=22, value={($T23*)mStorage.mBuffer.mCharData}} - {{ index=23, value={($T24*)mStorage.mBuffer.mCharData}} - {{ index=24, value={($T25*)mStorage.mBuffer.mCharData}} - {{ index=25, value={($T26*)mStorage.mBuffer.mCharData}} - {{ index=26, value={($T27*)mStorage.mBuffer.mCharData}} - {{ index=27, value={($T28*)mStorage.mBuffer.mCharData}} - {{ index=28, value={($T29*)mStorage.mBuffer.mCharData}} - {{ index=29, value={($T30*)mStorage.mBuffer.mCharData}} - {{ index=30, value={($T31*)mStorage.mBuffer.mCharData}} + {{ index=0, value={($T1*)mBuffer.mCharData}} + {{ index=1, value={($T2*)mBuffer.mCharData}} + {{ index=2, value={($T3*)mBuffer.mCharData}} + {{ index=3, value={($T4*)mBuffer.mCharData}} + {{ index=4, value={($T5*)mBuffer.mCharData}} + {{ index=5, value={($T6*)mBuffer.mCharData}} + {{ index=6, value={($T7*)mBuffer.mCharData}} + {{ index=7, value={($T8*)mBuffer.mCharData}} + {{ index=8, value={($T9*)mBuffer.mCharData}} + {{ index=9, value={($T10*)mBuffer.mCharData}} + {{ index=10, value={($T11*)mBuffer.mCharData}} + {{ index=11, value={($T12*)mBuffer.mCharData}} + {{ index=12, value={($T13*)mBuffer.mCharData}} + {{ index=13, value={($T14*)mBuffer.mCharData}} + {{ index=14, value={($T15*)mBuffer.mCharData}} + {{ index=15, value={($T16*)mBuffer.mCharData}} + {{ index=16, value={($T17*)mBuffer.mCharData}} + {{ index=17, value={($T18*)mBuffer.mCharData}} + {{ index=18, value={($T19*)mBuffer.mCharData}} + {{ index=19, value={($T20*)mBuffer.mCharData}} + {{ index=20, value={($T21*)mBuffer.mCharData}} + {{ index=21, value={($T22*)mBuffer.mCharData}} + {{ index=22, value={($T23*)mBuffer.mCharData}} + {{ index=23, value={($T24*)mBuffer.mCharData}} + {{ index=24, value={($T25*)mBuffer.mCharData}} + {{ index=25, value={($T26*)mBuffer.mCharData}} + {{ index=26, value={($T27*)mBuffer.mCharData}} + {{ index=27, value={($T28*)mBuffer.mCharData}} + {{ index=28, value={($T29*)mBuffer.mCharData}} + {{ index=29, value={($T30*)mBuffer.mCharData}} + {{ index=30, value={($T31*)mBuffer.mCharData}} index() - ($T1*)mStorage.mBuffer.mCharData - ($T2*)mStorage.mBuffer.mCharData - ($T3*)mStorage.mBuffer.mCharData - ($T4*)mStorage.mBuffer.mCharData - ($T5*)mStorage.mBuffer.mCharData - ($T6*)mStorage.mBuffer.mCharData - ($T7*)mStorage.mBuffer.mCharData - ($T8*)mStorage.mBuffer.mCharData - ($T9*)mStorage.mBuffer.mCharData - ($T10*)mStorage.mBuffer.mCharData - ($T11*)mStorage.mBuffer.mCharData - ($T12*)mStorage.mBuffer.mCharData - ($T13*)mStorage.mBuffer.mCharData - ($T14*)mStorage.mBuffer.mCharData - ($T15*)mStorage.mBuffer.mCharData - ($T16*)mStorage.mBuffer.mCharData - ($T17*)mStorage.mBuffer.mCharData - ($T18*)mStorage.mBuffer.mCharData - ($T19*)mStorage.mBuffer.mCharData - ($T20*)mStorage.mBuffer.mCharData - ($T21*)mStorage.mBuffer.mCharData - ($T22*)mStorage.mBuffer.mCharData - ($T23*)mStorage.mBuffer.mCharData - ($T24*)mStorage.mBuffer.mCharData - ($T25*)mStorage.mBuffer.mCharData - ($T26*)mStorage.mBuffer.mCharData - ($T27*)mStorage.mBuffer.mCharData - ($T28*)mStorage.mBuffer.mCharData - ($T29*)mStorage.mBuffer.mCharData - ($T30*)mStorage.mBuffer.mCharData - ($T31*)mStorage.mBuffer.mCharData + ($T1*)mBuffer.mCharData + ($T2*)mBuffer.mCharData + ($T3*)mBuffer.mCharData + ($T4*)mBuffer.mCharData + ($T5*)mBuffer.mCharData + ($T6*)mBuffer.mCharData + ($T7*)mBuffer.mCharData + ($T8*)mBuffer.mCharData + ($T9*)mBuffer.mCharData + ($T10*)mBuffer.mCharData + ($T11*)mBuffer.mCharData + ($T12*)mBuffer.mCharData + ($T13*)mBuffer.mCharData + ($T14*)mBuffer.mCharData + ($T15*)mBuffer.mCharData + ($T16*)mBuffer.mCharData + ($T17*)mBuffer.mCharData + ($T18*)mBuffer.mCharData + ($T19*)mBuffer.mCharData + ($T20*)mBuffer.mCharData + ($T21*)mBuffer.mCharData + ($T22*)mBuffer.mCharData + ($T23*)mBuffer.mCharData + ($T24*)mBuffer.mCharData + ($T25*)mBuffer.mCharData + ($T26*)mBuffer.mCharData + ($T27*)mBuffer.mCharData + ($T28*)mBuffer.mCharData + ($T29*)mBuffer.mCharData + ($T30*)mBuffer.mCharData + ($T31*)mBuffer.mCharData @@ -757,5 +816,94 @@ + + (nothing) + {static_cast<flag_type>(m_mask),en} + + m_mask,bb + (flag_type)(1 << 0),en + (flag_type)(1 << 1),en + (flag_type)(1 << 2),en + (flag_type)(1 << 3),en + (flag_type)(1 << 4),en + (flag_type)(1 << 5),en + (flag_type)(1 << 6),en + (flag_type)(1 << 7),en - + (flag_type)(1 << 8),en + (flag_type)(1 << 9),en + (flag_type)(1 << 10),en + (flag_type)(1 << 11),en + (flag_type)(1 << 12),en + (flag_type)(1 << 13),en + (flag_type)(1 << 14),en + (flag_type)(1 << 15),en + + (flag_type)(1 << 16),en + (flag_type)(1 << 17),en + (flag_type)(1 << 18),en + (flag_type)(1 << 19),en + (flag_type)(1 << 20),en + (flag_type)(1 << 21),en + (flag_type)(1 << 22),en + (flag_type)(1 << 23),en + + (flag_type)(1 << 24),en + (flag_type)(1 << 25),en + (flag_type)(1 << 26),en + (flag_type)(1 << 27),en + (flag_type)(1 << 28),en + (flag_type)(1 << 29),en + (flag_type)(1 << 30),en + (flag_type)(1 << 31),en + + + + + + {static_cast<flag_type>(__log2(m_mask)),en} + + (multiple values) + + (nothing) + + + m_mask,bb + (flag_type)(0),en + (flag_type)(1),en + (flag_type)(2),en + (flag_type)(3),en + (flag_type)(4),en + (flag_type)(5),en + (flag_type)(6),en + (flag_type)(7),en + + (flag_type)(8),en + (flag_type)(9),en + (flag_type)(10),en + (flag_type)(11),en + (flag_type)(12),en + (flag_type)(13),en + (flag_type)(14),en + (flag_type)(15),en + + (flag_type)(16),en + (flag_type)(17),en + (flag_type)(18),en + (flag_type)(19),en + (flag_type)(20),en + (flag_type)(21),en + (flag_type)(22),en + (flag_type)(23),en + + (flag_type)(24),en + (flag_type)(25),en + (flag_type)(26),en + (flag_type)(27),en + (flag_type)(28),en + (flag_type)(29),en + (flag_type)(30),en + (flag_type)(31),en + + + \ No newline at end of file diff --git a/Vendor/NatVis/GLM/GLM.natvis b/Vendor/NatVis/GLM/GLM.natvis index 018be8d..349d3c1 100644 --- a/Vendor/NatVis/GLM/GLM.natvis +++ b/Vendor/NatVis/GLM/GLM.natvis @@ -403,7 +403,7 @@ - + [{value[0]} {value[1]} {value[2]}] diff --git a/Vendor/Tools/Tracy0.12.2/tracy-capture.exe b/Vendor/Tools/Tracy0.13.1/tracy-capture.exe similarity index 79% rename from Vendor/Tools/Tracy0.12.2/tracy-capture.exe rename to Vendor/Tools/Tracy0.13.1/tracy-capture.exe index 2243190..9dd844d 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-capture.exe and b/Vendor/Tools/Tracy0.13.1/tracy-capture.exe differ diff --git a/Vendor/Tools/Tracy0.12.2/tracy-csvexport.exe b/Vendor/Tools/Tracy0.13.1/tracy-csvexport.exe similarity index 78% rename from Vendor/Tools/Tracy0.12.2/tracy-csvexport.exe rename to Vendor/Tools/Tracy0.13.1/tracy-csvexport.exe index f2b3aff..0811b9c 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-csvexport.exe and b/Vendor/Tools/Tracy0.13.1/tracy-csvexport.exe differ diff --git a/Vendor/Tools/Tracy0.12.2/tracy-import-chrome.exe b/Vendor/Tools/Tracy0.13.1/tracy-import-chrome.exe similarity index 79% rename from Vendor/Tools/Tracy0.12.2/tracy-import-chrome.exe rename to Vendor/Tools/Tracy0.13.1/tracy-import-chrome.exe index afeaf73..7de4d00 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-import-chrome.exe and b/Vendor/Tools/Tracy0.13.1/tracy-import-chrome.exe differ diff --git a/Vendor/Tools/Tracy0.12.2/tracy-import-fuchsia.exe b/Vendor/Tools/Tracy0.13.1/tracy-import-fuchsia.exe similarity index 79% rename from Vendor/Tools/Tracy0.12.2/tracy-import-fuchsia.exe rename to Vendor/Tools/Tracy0.13.1/tracy-import-fuchsia.exe index 2ebc7c5..9f64f42 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-import-fuchsia.exe and b/Vendor/Tools/Tracy0.13.1/tracy-import-fuchsia.exe differ diff --git a/Vendor/Tools/Tracy0.12.2/tracy-profiler.exe b/Vendor/Tools/Tracy0.13.1/tracy-profiler.exe similarity index 72% rename from Vendor/Tools/Tracy0.12.2/tracy-profiler.exe rename to Vendor/Tools/Tracy0.13.1/tracy-profiler.exe index a44284a..6d0d858 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-profiler.exe and b/Vendor/Tools/Tracy0.13.1/tracy-profiler.exe differ diff --git a/Vendor/Tools/Tracy0.12.2/tracy-update.exe b/Vendor/Tools/Tracy0.13.1/tracy-update.exe similarity index 78% rename from Vendor/Tools/Tracy0.12.2/tracy-update.exe rename to Vendor/Tools/Tracy0.13.1/tracy-update.exe index 27b536a..8db7dec 100644 Binary files a/Vendor/Tools/Tracy0.12.2/tracy-update.exe and b/Vendor/Tools/Tracy0.13.1/tracy-update.exe differ diff --git a/format.bat b/format.bat deleted file mode 100644 index 54d904f..0000000 --- a/format.bat +++ /dev/null @@ -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 [ ...] - 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% diff --git a/generate_bigfoot.bat b/generate_bigfoot.bat index b397175..5ec1ffb 100644 --- a/generate_bigfoot.bat +++ b/generate_bigfoot.bat @@ -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. diff --git a/generate_bigfoot.sh b/generate_bigfoot.sh index b64ab9e..c0d1161 100755 --- a/generate_bigfoot.sh +++ b/generate_bigfoot.sh @@ -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