cmake_minimum_required (VERSION 3.2)

set(PYTHON_FILES python/ExampleSpotlightLocatorVPE.py)

set(HEADER_FILES
    include/ExampleSpotlightLocator.h

    ${KATANA_ROOT}/plugin_apis/include/FnViewer/utils/FnGLShaderProgram.h
    ${KATANA_ROOT}/plugin_apis/include/FnViewer/utils/FnBaseLocator.h
)

set(SOURCE_FILES
    src/ExampleSpotlightLocator.cpp
    src/LocatorPlugins.cpp

    ${KATANA_ROOT}/plugin_apis/src/FnViewer/utils/FnGLShaderProgram.cpp
    ${KATANA_ROOT}/plugin_apis/src/FnViewer/utils/FnBaseLocator.cpp
)

add_library(ExampleSpotlightLocator MODULE
    ${HEADER_FILES}
    ${SOURCE_FILES}
    ${PYTHON_FILES}
)
source_group("include" FILES ${HEADER_FILES})
source_group("src" FILES ${SOURCE_FILES})
source_group("python" FILES ${PYTHON_FILES})

include_directories(include)

add_definitions(-DFNVIEWER_STATIC=1 -D_USE_MATH_DEFINES -DNOMINMAX -DFNLOGGING_STATIC)

target_include_directories(ExampleSpotlightLocator
    PRIVATE
        include
        ${OPENGL_INCLUDE_DIR}
        ${KATANA_ROOT}/plugin_apis/include
)

target_link_libraries(ExampleSpotlightLocator
    PRIVATE
        Katana::FnAttribute
        Katana::FnViewerAPI
        Katana::pystring
        ${OPENGL_LIBRARIES}
        OpenEXR::OpenEXR
        GLEW::GLEW)

set_target_properties(ExampleSpotlightLocator PROPERTIES PREFIX "")
install(TARGETS ExampleSpotlightLocator DESTINATION Libs)
install(FILES ${PYTHON_FILES} DESTINATION UIPlugins)
