diff --git a/cmake/config.cmake b/cmake/config.cmake index d563c225..611506fc 100644 --- a/cmake/config.cmake +++ b/cmake/config.cmake @@ -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 if target is too old + add_compile_options($<$:-mmacosx-version-min=13.3>) + endif() add_compile_options($<$:-fexperimental-library>) endif() endif() diff --git a/profiler/helpers/embed.cpp b/profiler/helpers/embed.cpp index 7c926c68..1e84a10a 100644 --- a/profiler/helpers/embed.cpp +++ b/profiler/helpers/embed.cpp @@ -1,6 +1,6 @@ -#include #include #include +#include #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 ); diff --git a/profiler/src/profiler/TracyLlmTools.cpp b/profiler/src/profiler/TracyLlmTools.cpp index 55983abb..db51d6a7 100644 --- a/profiler/src/profiler/TracyLlmTools.cpp +++ b/profiler/src/profiler/TracyLlmTools.cpp @@ -196,7 +196,7 @@ TracyLlmTools::TracyLlmTools( Worker& worker ) for( size_t i=1; i