From 157350aa0746476b1d8061128cc45abb261059e6 Mon Sep 17 00:00:00 2001 From: Marc Auberer Date: Sat, 7 Feb 2026 12:22:56 +0000 Subject: [PATCH] [CMake] Correctly add llvm compile definitions LLVM_DEFINITIONS is a string, not a list. This led to wrongly passed compile definition. See https://llvm.org/docs/CMake.html#embedding-llvm-in-your-project --- tpde-encodegen/CMakeLists.txt | 3 ++- tpde-llvm/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tpde-encodegen/CMakeLists.txt b/tpde-encodegen/CMakeLists.txt index 4f306a05..3a7762be 100644 --- a/tpde-encodegen/CMakeLists.txt +++ b/tpde-encodegen/CMakeLists.txt @@ -13,7 +13,8 @@ add_executable(tpde::tpde_encodegen ALIAS tpde_encodegen) set(TPDE_LINK_LLVM_STATIC FALSE CACHE BOOL "Should LLVM be linked statically?") target_include_directories(tpde_encodegen SYSTEM PRIVATE ${LLVM_INCLUDE_DIRS}) -target_compile_definitions(tpde_encodegen PRIVATE ${LLVM_DEFINITIONS}) +separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS}) +target_compile_definitions(tpde_encodegen PRIVATE ${LLVM_DEFINITIONS_LIST}) target_compile_options(tpde_encodegen PRIVATE "$<$:-fno-rtti;-fno-exceptions>") if (TPDE_LINK_LLVM_STATIC) set(LLVM_COMPONENTS diff --git a/tpde-llvm/CMakeLists.txt b/tpde-llvm/CMakeLists.txt index c529a85f..e9157055 100644 --- a/tpde-llvm/CMakeLists.txt +++ b/tpde-llvm/CMakeLists.txt @@ -26,7 +26,8 @@ target_link_libraries(tpde_llvm PRIVATE tpde) set(TPDE_LINK_LLVM_STATIC FALSE CACHE BOOL "Should LLVM be linked statically?") target_include_directories(tpde_llvm SYSTEM PUBLIC ${LLVM_INCLUDE_DIRS}) -target_compile_definitions(tpde_llvm PUBLIC ${LLVM_DEFINITIONS}) +separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS}) +target_compile_definitions(tpde_llvm PUBLIC ${LLVM_DEFINITIONS_LIST}) if (NOT LLVM_ENABLE_RTTI) target_compile_options(tpde_llvm PUBLIC -fno-rtti) endif ()