diff --git a/CMakeLists.txt b/CMakeLists.txt index 914b5a30..7e64f798 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,6 +111,11 @@ find_package(pugixml REQUIRED) # Configuration # ============= +if(NOT DEFINED XEUS_CPP_RESOURCE_DIR) + set(XEUS_CPP_RESOURCE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/clang/${CPPINTEROP_LLVM_VERSION_MAJOR}") + message(STATUS "Using clang resource dir headers from ${XEUS_CPP_RESOURCE_DIR}") +endif() + if (NOT DEFINED XEUS_CPP_KERNELSPEC_PATH) set(XEUS_CPP_KERNELSPEC_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/") endif () @@ -118,7 +123,6 @@ endif () function(configure_native_kernel kernel) set(XEUS_CPP_PATH "$ENV{PATH}") set(XEUS_CPP_LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}") - set(XEUS_CPP_RESOURCE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/clang/${CPPINTEROP_LLVM_VERSION_MAJOR}) set(XEUS_CPP_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) if (WIN32) @@ -169,7 +173,6 @@ endfunction() message("Configure kernels: ...") if(EMSCRIPTEN) - set(XEUS_CPP_RESOURCE_DIR "/lib/clang/${CPPINTEROP_LLVM_VERSION_MAJOR}") configure_wasm_kernel("/share/jupyter/kernels/xcpp17/") configure_wasm_kernel("/share/jupyter/kernels/xcpp20/") configure_wasm_kernel("/share/jupyter/kernels/xcpp23/") @@ -438,7 +441,7 @@ if(EMSCRIPTEN) target_link_options(xcpp PUBLIC "SHELL: -s USE_SDL=2" PUBLIC "SHELL: --preload-file ${SYSROOT_PATH}/include@/include" - PUBLIC "SHELL: --preload-file ${CMAKE_INSTALL_PREFIX}${XEUS_CPP_RESOURCE_DIR}@${XEUS_CPP_RESOURCE_DIR}" + PUBLIC "SHELL: --preload-file ${XEUS_CPP_RESOURCE_DIR}@/${CMAKE_INSTALL_LIBDIR}/clang/${CPPINTEROP_LLVM_VERSION_MAJOR}" PUBLIC "SHELL: --preload-file ${XEUS_CPP_DATA_DIR}@/share/xeus-cpp" PUBLIC "SHELL: --preload-file ${XEUS_CPP_CONF_DIR}@/etc/xeus-cpp" PUBLIC "SHELL: --post-js ${CMAKE_CURRENT_SOURCE_DIR}/wasm_patches/post.js" @@ -535,4 +538,4 @@ if(EMSCRIPTEN) "$/xcpp.wasm" "$/xcpp.data" DESTINATION ${CMAKE_INSTALL_BINDIR}) -endif () +endif () \ No newline at end of file diff --git a/share/jupyter/kernels/xcpp17/wasm_kernel.json.in b/share/jupyter/kernels/xcpp17/wasm_kernel.json.in index a6be99dd..e173fcda 100644 --- a/share/jupyter/kernels/xcpp17/wasm_kernel.json.in +++ b/share/jupyter/kernels/xcpp17/wasm_kernel.json.in @@ -2,7 +2,7 @@ "display_name": "C++17", "argv": [ "@XEUS_CPP_KERNELSPEC_PATH@xcpp", - "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-resource-dir", "/lib/clang/@CPPINTEROP_LLVM_VERSION_MAJOR@", "-std=c++17" ], "language": "cpp", diff --git a/share/jupyter/kernels/xcpp20/wasm_kernel.json.in b/share/jupyter/kernels/xcpp20/wasm_kernel.json.in index ea792b9f..5aa4f0fd 100644 --- a/share/jupyter/kernels/xcpp20/wasm_kernel.json.in +++ b/share/jupyter/kernels/xcpp20/wasm_kernel.json.in @@ -2,7 +2,7 @@ "display_name": "C++20", "argv": [ "@XEUS_CPP_KERNELSPEC_PATH@xcpp", - "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-resource-dir", "/lib/clang/@CPPINTEROP_LLVM_VERSION_MAJOR@", "-std=c++20" ], "language": "cpp", diff --git a/share/jupyter/kernels/xcpp23/wasm_kernel.json.in b/share/jupyter/kernels/xcpp23/wasm_kernel.json.in index 93ffa621..d9eac053 100644 --- a/share/jupyter/kernels/xcpp23/wasm_kernel.json.in +++ b/share/jupyter/kernels/xcpp23/wasm_kernel.json.in @@ -2,7 +2,7 @@ "display_name": "C++23", "argv": [ "@XEUS_CPP_KERNELSPEC_PATH@xcpp", - "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-resource-dir", "/lib/clang/@CPPINTEROP_LLVM_VERSION_MAJOR@", "-std=c++23" ], "language": "cpp",