From 77a5ae9cd2334601083d797cefdd90f74dc1c0ca Mon Sep 17 00:00:00 2001 From: mcbarton Date: Thu, 26 Jun 2025 21:39:56 +0100 Subject: [PATCH] Combine configure_native_kernel and configure_wasm_kernel functions into configure_kernel function --- CMakeLists.txt | 83 ++++++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6213b5b6..a9ad0673 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,66 +120,57 @@ if (NOT DEFINED XEUS_CPP_KERNELSPEC_PATH) set(XEUS_CPP_KERNELSPEC_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/") 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_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) - - if (WIN32) - string(REPLACE "\\" "/" kernel "${kernel}") - string(REPLACE "\\" "/" XEUS_CPP_PATH "${XEUS_CPP_PATH}") - string(REPLACE "\\" "/" XEUS_CPP_LD_LIBRARY_PATH "${XEUS_CPP_LD_LIBRARY_PATH}") - string(REPLACE "\\" "/" XEUS_CPP_RESOURCE_DIR "${XEUS_CPP_RESOURCE_DIR}") - string(REPLACE "\\" "/" XEUS_CPP_INCLUDE_DIR "${XEUS_CPP_INCLUDE_DIR}") - endif() - - configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}${kernel}kernel.json.in" - "${CMAKE_CURRENT_BINARY_DIR}${kernel}kernel.json") +function(configure_kernel kernel is_wasm) + if(NOT is_wasm) + set(XEUS_CPP_PATH "$ENV{PATH}") + set(XEUS_CPP_LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}") + set(XEUS_CPP_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) - configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-32x32.png" - "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) - configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-64x64.png" - "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) - configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-svg.svg" - "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) -endfunction() - -function(configure_wasm_kernel kernel) + if (WIN32) + string(REPLACE "\\" "/" kernel "${kernel}") + string(REPLACE "\\" "/" XEUS_CPP_PATH "${XEUS_CPP_PATH}") + string(REPLACE "\\" "/" XEUS_CPP_LD_LIBRARY_PATH "${XEUS_CPP_LD_LIBRARY_PATH}") + string(REPLACE "\\" "/" XEUS_CPP_RESOURCE_DIR "${XEUS_CPP_RESOURCE_DIR}") + string(REPLACE "\\" "/" XEUS_CPP_INCLUDE_DIR "${XEUS_CPP_INCLUDE_DIR}") + endif() - configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}${kernel}wasm_kernel.json.in" - "${CMAKE_CURRENT_BINARY_DIR}${kernel}kernel.json") + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}${kernel}kernel.json.in" + "${CMAKE_CURRENT_BINARY_DIR}${kernel}kernel.json" + ) + else() + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}${kernel}wasm_kernel.json.in" + "${CMAKE_CURRENT_BINARY_DIR}${kernel}kernel.json" + ) + endif() - configure_file ( + configure_file( "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-32x32.png" "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) - configure_file ( + COPYONLY + ) + configure_file( "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-64x64.png" "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) - configure_file ( + COPYONLY + ) + configure_file( "${CMAKE_CURRENT_SOURCE_DIR}${kernel}logo-svg.svg" "${CMAKE_CURRENT_BINARY_DIR}${kernel}" - COPYONLY) + COPYONLY + ) endfunction() message("Configure kernels: ...") if(EMSCRIPTEN) - configure_wasm_kernel("/share/jupyter/kernels/xcpp17/") - configure_wasm_kernel("/share/jupyter/kernels/xcpp20/") - configure_wasm_kernel("/share/jupyter/kernels/xcpp23/") + configure_kernel("/share/jupyter/kernels/xcpp17/" TRUE) + configure_kernel("/share/jupyter/kernels/xcpp20/" TRUE) + configure_kernel("/share/jupyter/kernels/xcpp23/" TRUE) else() - configure_native_kernel("/share/jupyter/kernels/xcpp17/") - configure_native_kernel("/share/jupyter/kernels/xcpp20/") - configure_native_kernel("/share/jupyter/kernels/xcpp23/") + configure_kernel("/share/jupyter/kernels/xcpp17/" FALSE) + configure_kernel("/share/jupyter/kernels/xcpp20/" FALSE) + configure_kernel("/share/jupyter/kernels/xcpp23/" FALSE) endif() # Source files