# SPDX-License-Identifier: LGPL-2.1-or-later

cmake_minimum_required(VERSION 3.22)
project(FreeCADWebDependencyProbe LANGUAGES CXX)

if(NOT EMSCRIPTEN)
    message(FATAL_ERROR "FreeCADWebDependencyProbe requires the Emscripten toolchain")
endif()

find_package(yaml-cpp 0.8 CONFIG REQUIRED)
find_package(Qt5 5.15 CONFIG REQUIRED COMPONENTS Core Network Xml)
find_package(Python3 3.12 EXACT COMPONENTS Interpreter Development REQUIRED)

add_executable(FreeCADWebDependencyProbe dependency-probe.cpp)
target_compile_features(FreeCADWebDependencyProbe PRIVATE cxx_std_17)
target_link_libraries(FreeCADWebDependencyProbe PRIVATE
    yaml-cpp::yaml-cpp
    Qt5::Core
    Qt5::Network
    Qt5::Xml
    Python3::Python
)
target_link_options(FreeCADWebDependencyProbe PRIVATE
    "-sENVIRONMENT=node"
    "-sWASM_ASYNC_COMPILATION=0"
)

set_target_properties(FreeCADWebDependencyProbe PROPERTIES SUFFIX ".js")
