From 383efd6f0f29331e909e32ef57681ef30aef25d4 Mon Sep 17 00:00:00 2001 From: guptamukund22 Date: Tue, 28 Jan 2025 23:40:39 +0530 Subject: [PATCH] Added target_compile_definitions for XEUS_SEARCH_PATH --- CMakeLists.txt | 2 ++ src/xinterpreter.cpp | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39798ec2..469b6375 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -377,6 +377,8 @@ macro(xeus_cpp_create_target target_name linkage output_name) target_link_libraries(${target_name} PRIVATE ${CMAKE_THREAD_LIBS_INIT}) endif() + target_compile_definitions(${target_name} PRIVATE "XEUS_SEARCH_PATH=\"$,:>\"") + endmacro() # xeus-cpp-headers diff --git a/src/xinterpreter.cpp b/src/xinterpreter.cpp index 5ed527e3..81635b45 100644 --- a/src/xinterpreter.cpp +++ b/src/xinterpreter.cpp @@ -46,6 +46,19 @@ void* createInterpreter(const Args &ExtraArgs = {}) { ClangArgs.push_back(CxxInclude.c_str()); } #endif + +#ifdef XEUS_SEARCH_PATH + std::string search_path = XEUS_SEARCH_PATH; + std::istringstream iss(search_path); + std::string path; + while (std::getline(iss, path, ':')) { + if (!path.empty()) { + ClangArgs.push_back("-I"); + ClangArgs.push_back(path.c_str()); + } + } +#endif + ClangArgs.insert(ClangArgs.end(), ExtraArgs.begin(), ExtraArgs.end()); // FIXME: We should process the kernel input options and conditionally pass // the gpu args here.