diff --git a/cpp/librtcx/embed.cmake b/cpp/librtcx/embed.cmake index 12cb32a26bde..b4510b6d1c64 100644 --- a/cpp/librtcx/embed.cmake +++ b/cpp/librtcx/embed.cmake @@ -5,6 +5,10 @@ # cmake-format: on # ============================================================================= +if(NOT TARGET zstd) + message(FATAL_ERROR "embed(): zstd target is required for LIBRTCX embedding.") +endif() + # This function initializes a target for JIT embedding. It must be called before any calls to # embed_includes() or embed_blob() for the target. It creates a dedicated INTERFACE library target # that is used to track registered files and dependencies via target properties. The TARGET argument @@ -268,16 +272,11 @@ function(embed TARGET) set(RUNNER "${TARGET}__jit_embed_run") add_executable(${RUNNER} EXCLUDE_FROM_ALL "${EMBED_SCRIPT}") - target_link_libraries(${RUNNER} PRIVATE ${CMAKE_DL_LIBS}) - if(NOT ARG_COMPRESSION STREQUAL "none") - if(NOT TARGET zstd) - message(FATAL_ERROR "embed(): zstd target is required when COMPRESSION is not none.") - endif() - target_include_directories(${RUNNER} PRIVATE ${ZSTD_INCLUDE_DIR}) - target_link_libraries(${RUNNER} PRIVATE zstd) - endif() + target_link_libraries(${RUNNER} PRIVATE ${CMAKE_DL_LIBS} zstd) + target_include_directories( + ${RUNNER} PRIVATE ${CMAKE_CURRENT_FUNCTION_LIST_DIR} ${ZSTD_INCLUDE_DIR} + ) set_target_properties(${RUNNER} PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED YES) - target_include_directories(${RUNNER} PRIVATE ${CMAKE_CURRENT_FUNCTION_LIST_DIR}) add_custom_command( OUTPUT ${OUTPUT_DIR}/${TARGET}.hpp ${OUTPUT_DIR}/${TARGET}.s ${OUTPUT_DIR}/${TARGET}.bin diff --git a/cpp/librtcx/rtcx.cpp b/cpp/librtcx/rtcx.cpp index 1ec3338d19b5..199f2b563eab 100644 --- a/cpp/librtcx/rtcx.cpp +++ b/cpp/librtcx/rtcx.cpp @@ -619,7 +619,8 @@ void log_nvJitLink_result(link_params const& params, } for (auto& frag : params.memory_fragments) { - fragments_str = std::format("{}\t{}\n", fragments_str, frag.name); + fragments_str = + std::format("{}\t{}\n", fragments_str, frag.name == nullptr ? "" : frag.name); } std::string link_options_str;