diff --git a/CMakeLists.txt b/CMakeLists.txt index f5ac5e59..7e88a228 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,13 +126,34 @@ if (NOT DEFINED XEUS_CPP_KERNELSPEC_PATH) set(XEUS_CPP_KERNELSPEC_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/") endif () -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_CLANG_VERSION}) -configure_file ( - "${CMAKE_CURRENT_SOURCE_DIR}/share/jupyter/kernels/xcpp/kernel.json.in" - "${CMAKE_CURRENT_BINARY_DIR}/share/jupyter/kernels/xcpp/kernel.json" -) +function(configure_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_CLANG_VERSION}) + + configure_file ( + "${CMAKE_CURRENT_SOURCE_DIR}/${kernel}/kernel.json.in" + "${CMAKE_CURRENT_BINARY_DIR}/${kernel}/kernel.json") + + 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() + +message("Configure kernels: ...") +configure_kernel("share/jupyter/kernels/xcpp") +configure_kernel("share/jupyter/kernels/xcpp11") +configure_kernel("share/jupyter/kernels/xcpp14") +configure_kernel("share/jupyter/kernels/xcpp17") # Source files # ============ diff --git a/share/jupyter/kernels/xcpp/kernel.json.in b/share/jupyter/kernels/xcpp/kernel.json.in index 4fb8d36a..de229b64 100644 --- a/share/jupyter/kernels/xcpp/kernel.json.in +++ b/share/jupyter/kernels/xcpp/kernel.json.in @@ -1,5 +1,5 @@ { - "display_name": "cpp 14 (xcpp)", + "display_name": "cpp 17 (xcpp)", "env": { "PATH":"@XEUS_CPP_PATH@", "LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@" @@ -10,7 +10,7 @@ "{connection_file}", "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", "-I", "@CMAKE_INSTALL_PREFIX@/include", - "-std=c++14"@XEUS_CPP_OMP@ + "-std=c++17"@XEUS_CPP_OMP@ ], "language": "cpp", "metadata": {"debugger": false diff --git a/share/jupyter/kernels/xcpp11/kernel.json.in b/share/jupyter/kernels/xcpp11/kernel.json.in new file mode 100644 index 00000000..382ce12f --- /dev/null +++ b/share/jupyter/kernels/xcpp11/kernel.json.in @@ -0,0 +1,16 @@ +{ + "display_name": "C++11 (xcpp)", + "env": { + "PATH":"@XEUS_CPP_PATH@", + "LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@" + }, + "argv": [ + "@XEUS_CPP_KERNELSPEC_PATH@xcpp", + "-f", + "{connection_file}", + "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-std=c++11"@XEUS_CPP_OMP@ + ], + "language": "cpp", + "metadata": {"debugger": false} +} diff --git a/share/jupyter/kernels/xcpp11/logo-32x32.png b/share/jupyter/kernels/xcpp11/logo-32x32.png new file mode 100644 index 00000000..c09c4585 Binary files /dev/null and b/share/jupyter/kernels/xcpp11/logo-32x32.png differ diff --git a/share/jupyter/kernels/xcpp11/logo-64x64.png b/share/jupyter/kernels/xcpp11/logo-64x64.png new file mode 100644 index 00000000..396c2446 Binary files /dev/null and b/share/jupyter/kernels/xcpp11/logo-64x64.png differ diff --git a/share/jupyter/kernels/xcpp11/logo-svg.svg b/share/jupyter/kernels/xcpp11/logo-svg.svg new file mode 100644 index 00000000..5e117077 --- /dev/null +++ b/share/jupyter/kernels/xcpp11/logo-svg.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/share/jupyter/kernels/xcpp14/kernel.json.in b/share/jupyter/kernels/xcpp14/kernel.json.in new file mode 100644 index 00000000..356286aa --- /dev/null +++ b/share/jupyter/kernels/xcpp14/kernel.json.in @@ -0,0 +1,20 @@ +{ + "display_name": "C++14 (xcpp)", + "env": { + "PATH":"@XEUS_CPP_PATH@", + "LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@" + }, + "argv": [ + "@XEUS_CPP_KERNELSPEC_PATH@xcpp", + "-f", + "{connection_file}", + "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-I", "@CMAKE_INSTALL_PREFIX@/include", + "-std=c++14", + "-fno-exceptions", + "-O2", + "-v"@XEUS_CPP_OMP@ + ], + "language": "cpp", + "metadata": {"debugger": false} +} diff --git a/share/jupyter/kernels/xcpp14/logo-32x32.png b/share/jupyter/kernels/xcpp14/logo-32x32.png new file mode 100644 index 00000000..c09c4585 Binary files /dev/null and b/share/jupyter/kernels/xcpp14/logo-32x32.png differ diff --git a/share/jupyter/kernels/xcpp14/logo-64x64.png b/share/jupyter/kernels/xcpp14/logo-64x64.png new file mode 100644 index 00000000..396c2446 Binary files /dev/null and b/share/jupyter/kernels/xcpp14/logo-64x64.png differ diff --git a/share/jupyter/kernels/xcpp14/logo-svg.svg b/share/jupyter/kernels/xcpp14/logo-svg.svg new file mode 100644 index 00000000..5e117077 --- /dev/null +++ b/share/jupyter/kernels/xcpp14/logo-svg.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/share/jupyter/kernels/xcpp17-omp/kernel.json.in b/share/jupyter/kernels/xcpp17-omp/kernel.json.in new file mode 100644 index 00000000..4105e964 --- /dev/null +++ b/share/jupyter/kernels/xcpp17-omp/kernel.json.in @@ -0,0 +1,18 @@ +{ + "display_name": "C++17 (xcpp+OpenMP)", + "env": { + "PATH":"@XEUS_CPP_PATH@", + "LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@" + }, + "argv": [ + "@XEUS_CPP_KERNELSPEC_PATH@xcpp", + "-f", + "{connection_file}", + "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-I", "@CMAKE_INSTALL_PREFIX@/include", + "-std=c++17"@XEUS_CPP_OMP@ + ], + "language": "cpp", + "metadata": {"debugger": false + } +} diff --git a/share/jupyter/kernels/xcpp17-omp/logo-32x32.png b/share/jupyter/kernels/xcpp17-omp/logo-32x32.png new file mode 100644 index 00000000..c09c4585 Binary files /dev/null and b/share/jupyter/kernels/xcpp17-omp/logo-32x32.png differ diff --git a/share/jupyter/kernels/xcpp17-omp/logo-64x64.png b/share/jupyter/kernels/xcpp17-omp/logo-64x64.png new file mode 100644 index 00000000..396c2446 Binary files /dev/null and b/share/jupyter/kernels/xcpp17-omp/logo-64x64.png differ diff --git a/share/jupyter/kernels/xcpp17-omp/logo-svg.svg b/share/jupyter/kernels/xcpp17-omp/logo-svg.svg new file mode 100644 index 00000000..5e117077 --- /dev/null +++ b/share/jupyter/kernels/xcpp17-omp/logo-svg.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + diff --git a/share/jupyter/kernels/xcpp17/kernel.json.in b/share/jupyter/kernels/xcpp17/kernel.json.in new file mode 100644 index 00000000..b8e23d42 --- /dev/null +++ b/share/jupyter/kernels/xcpp17/kernel.json.in @@ -0,0 +1,18 @@ +{ + "display_name": "C++17 (xcpp)", + "env": { + "PATH":"@XEUS_CPP_PATH@", + "LD_LIBRARY_PATH":"@XEUS_CPP_LD_LIBRARY_PATH@" + }, + "argv": [ + "@XEUS_CPP_KERNELSPEC_PATH@xcpp", + "-f", + "{connection_file}", + "-resource-dir", "@XEUS_CPP_RESOURCE_DIR@", + "-I", "@CMAKE_INSTALL_PREFIX@/include", + "-std=c++17"@XEUS_CPP_OMP@ + ], + "language": "cpp", + "metadata": {"debugger": false + } +} diff --git a/share/jupyter/kernels/xcpp17/logo-32x32.png b/share/jupyter/kernels/xcpp17/logo-32x32.png new file mode 100644 index 00000000..c09c4585 Binary files /dev/null and b/share/jupyter/kernels/xcpp17/logo-32x32.png differ diff --git a/share/jupyter/kernels/xcpp17/logo-64x64.png b/share/jupyter/kernels/xcpp17/logo-64x64.png new file mode 100644 index 00000000..396c2446 Binary files /dev/null and b/share/jupyter/kernels/xcpp17/logo-64x64.png differ diff --git a/share/jupyter/kernels/xcpp17/logo-svg.svg b/share/jupyter/kernels/xcpp17/logo-svg.svg new file mode 100644 index 00000000..5e117077 --- /dev/null +++ b/share/jupyter/kernels/xcpp17/logo-svg.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + +