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

set(InspectionGui_LIBS
    Inspection
    FreeCADGui
)

set(Dialogs_UIC_SRCS
    VisualInspection.ui
)

qt_add_resources(Inspection_QRC_SRCS Resources/Inspection.qrc)

SET(Dialogs_SRCS
    ${Dialogs_UIC_HDRS}
    VisualInspection.cpp
    VisualInspection.h
)
SOURCE_GROUP("Dialogs" FILES ${Dialogs_SRCS})

SET(InspectionGui_SRCS
    ${Inspection_QRC_SRCS}
    ${Dialogs_SRCS}
    AppInspectionGui.cpp
    Command.cpp
    PreCompiled.h
    ViewProviderInspection.cpp
    ViewProviderInspection.h
    Workbench.cpp
    Workbench.h
)

set(InspectionGui_Scripts
    ../InitGui.py
)

SET(InspectionGuiIcon_SVG
    Resources/icons/InspectionWorkbench.svg
)

add_library(InspectionGui SHARED
    ${InspectionGui_SRCS}
    ${InspectionGui_Scripts}
    ${InspectionGuiIcon_SVG}
)

if(FREECAD_USE_PCH)
    target_precompile_headers(InspectionGui PRIVATE
            $<$<COMPILE_LANGUAGE:CXX>:"${CMAKE_CURRENT_LIST_DIR}/PreCompiled.h">
    )
endif(FREECAD_USE_PCH)

target_include_directories(
    InspectionGui
    PRIVATE
    ${CMAKE_SOURCE_DIR}/src
    ${CMAKE_CURRENT_BINARY_DIR}
)

target_link_libraries(InspectionGui ${InspectionGui_LIBS})

if (MSVC)
    target_compile_options(InspectionGui PRIVATE /wd4251)
endif()

if (FREECAD_WARN_ERROR)
    target_compile_warn_error(InspectionGui)
endif()


fc_target_copy_resource_flat(InspectionGui
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_BINARY_DIR}/Mod/Inspection
    ${InspectionGui_Scripts}
)

SET_BIN_DIR(InspectionGui InspectionGui /Mod/Inspection)
SET_PYTHON_PREFIX_SUFFIX(InspectionGui)

fc_copy_sources(InspectionGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Inspection" ${InspectionGuiIcon_SVG})

INSTALL(TARGETS InspectionGui DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(FILES ${InspectionGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Inspection/Resources/icons")
