From ec205fa854ef330e1fac93f4613291f96162a583 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 1 Jun 2025 14:04:46 +0200 Subject: [PATCH] Move embed utility to a separate project. This has to be separate to build a host executable during cross-compilation (e.g. on emscripten builds). --- profiler/CMakeLists.txt | 12 +++++++++--- profiler/helpers/CMakeLists.txt | 13 +++++++++++++ profiler/{src => }/helpers/embed.cpp | 0 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 profiler/helpers/CMakeLists.txt rename profiler/{src => }/helpers/embed.cpp (100%) diff --git a/profiler/CMakeLists.txt b/profiler/CMakeLists.txt index 70c9f02a..529c35f7 100644 --- a/profiler/CMakeLists.txt +++ b/profiler/CMakeLists.txt @@ -32,7 +32,13 @@ include(${CMAKE_CURRENT_LIST_DIR}/../cmake/config.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/vendor.cmake) include(${CMAKE_CURRENT_LIST_DIR}/../cmake/server.cmake) -add_executable(embed src/helpers/embed.cpp ../public/common/tracy_lz4.cpp ../public/common/tracy_lz4hc.cpp) +include(ExternalProject) +ExternalProject_Add(embed + SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/helpers + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR} +) add_custom_command( OUTPUT data @@ -42,8 +48,8 @@ add_custom_command( function(Embed LIST NAME FILE) add_custom_command( OUTPUT data/${NAME}.cpp data/${NAME}.hpp - COMMAND embed ${NAME} ${CMAKE_CURRENT_LIST_DIR}/${FILE} data/${NAME} - DEPENDS data embed ${CMAKE_CURRENT_LIST_DIR}/${FILE} + COMMAND ${CMAKE_CURRENT_BINARY_DIR}/embed ${NAME} ${CMAKE_CURRENT_LIST_DIR}/${FILE} data/${NAME} + DEPENDS data ${CMAKE_CURRENT_BINARY_DIR}/embed ${CMAKE_CURRENT_LIST_DIR}/${FILE} ) list(APPEND ${LIST} data/${NAME}.cpp) return(PROPAGATE ${LIST}) diff --git a/profiler/helpers/CMakeLists.txt b/profiler/helpers/CMakeLists.txt new file mode 100644 index 00000000..4e976e7e --- /dev/null +++ b/profiler/helpers/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.16) + +set(CMAKE_CXX_STANDARD 20) + +project(helpers LANGUAGES CXX) + +add_executable(embed + ../../public/common/tracy_lz4.cpp + ../../public/common/tracy_lz4hc.cpp + embed.cpp +) + +install(TARGETS embed DESTINATION .) \ No newline at end of file diff --git a/profiler/src/helpers/embed.cpp b/profiler/helpers/embed.cpp similarity index 100% rename from profiler/src/helpers/embed.cpp rename to profiler/helpers/embed.cpp