perspective-server 4.4.0

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
Documentation
if(NOT WORKSPACE_ROOT)
    message(STATUS "${Yellow}WORKSPACE_ROOT not set, assuming ${CMAKE_CURRENT_SOURCE_DIR}/../../../..${ColorReset}")
    set(WORKSPACE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../../../..")
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
    set(CLANGD_ADD_FLAGS "Add:
        [
            -target,
            wasm32-unknown-emscripten,
            --sysroot=${WORKSPACE_ROOT}/.emsdk/upstream/emscripten/cache/sysroot,
        ]")
else()
    set(CLANGD_ADD_FLAGS "")
endif()


# Check for existence of .clangd file
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/.clangd.in)
    if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
      message(STATUS "${Cyan}Found ${CMAKE_CURRENT_LIST_DIR}/.clangd.in${ColorReset}")
      # Configure the .clangd file from the template
      configure_file(
          ${CMAKE_CURRENT_LIST_DIR}/.clangd.in
          ${CMAKE_BINARY_DIR}/.clangd
          @ONLY
      )
      # Symlink .clangd to the project root
      execute_process(
          COMMAND ln -sf ${CMAKE_BINARY_DIR}/.clangd ${WORKSPACE_ROOT}/.clangd
      )
      message(STATUS "${Cyan}Created ${CMAKE_BINARY_DIR}/.clangd${ColorReset}")
    else()
      message("${Cyan} ${CMAKE_CURRENT_SOURCE_DIR} is not the root of the project, skipping IDE setup${ColorReset}")
    endif()
else()
    message("${Yellow}No .clangd.in found, skipping IDE setup${ColorReset}")
endif()