Merge pull request #1208 from foxtran/fix/Apple-15

Fix build for AppleClang 15
This commit is contained in:
Bartosz Taudul
2025-11-26 15:14:21 +01:00
committed by GitHub
3 changed files with 10 additions and 4 deletions

View File

@@ -24,6 +24,12 @@ endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "15")
message(FATAL_ERROR "Apple Clang 15 or newer is required.")
elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "16")
# AppleClang 15 has issues with to_chars in <chrono> if target is too old
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-mmacosx-version-min=13.3>)
endif()
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fexperimental-library>)
endif()
endif()

View File

@@ -1,6 +1,6 @@
#include <format>
#include <stdint.h>
#include <stdio.h>
#include <string>
#include "../../public/common/tracy_lz4hc.hpp"
@@ -43,7 +43,7 @@ int main( int argc, char** argv )
const auto lz4sz = tracy::LZ4_compress_HC( (const char*)data, (char*)lz4data, sz, lz4szMax, 6 );
delete[] data;
FILE* hdr = fopen( std::format( "{}.hpp", destination ).c_str(), "wb" );
FILE* hdr = fopen( ( std::string(destination) + ".hpp" ).c_str(), "wb" );
fprintf( hdr, "// This file is generated by embed tool, do not modify\n" );
fprintf( hdr, "// Source: %s\n\n", source );
fprintf( hdr, "#pragma once\n\n" );
@@ -56,7 +56,7 @@ int main( int argc, char** argv )
fprintf( hdr, "}\n" );
fclose( hdr );
FILE* cpp = fopen( std::format( "{}.cpp", destination ).c_str(), "wb" );
FILE* cpp = fopen( ( std::string(destination) + ".cpp" ).c_str(), "wb" );
fprintf( cpp, "// This file is generated by embed tool, do not modify\n" );
fprintf( cpp, "// Source: %s\n\n", source );
fprintf( cpp, "#include \"%s.hpp\"\n\n", destination );

View File

@@ -196,7 +196,7 @@ TracyLlmTools::TracyLlmTools( Worker& worker )
for( size_t i=1; i<levels.size(); i++ ) manualChunk += " > " + chapterNames[i];
manualChunk += "\n\n";
manualChunk += std::string( manual.data() + manualChunkPos, pos - manualChunkPos );
m_manualChunks.emplace_back( std::move( manualChunk ) );
m_manualChunks.emplace_back( ManualChunk{std::move( manualChunk ), "", "", ""} );
}
}