set(MODULE_NAME visual_elements)

list(APPEND visual_elements_LIB_INCLUDES
    GeometryNode.cpp
    basic_shapes/RectangleNode.cpp
    basic_shapes/CircleNode.cpp
    basic_shapes/LineNode.cpp
    MaterialNode.cpp
    MeshNode.cpp
    TextNode.cpp
    Scene.cpp
    SceneModel.cpp
    SceneItem.cpp
    SceneText.cpp
    Texture.cpp
    GridNode.cpp
    AbstractVisualNode.cpp
    
)

add_library(${MODULE_NAME} SHARED ${visual_elements_LIB_INCLUDES})

target_include_directories(${MODULE_NAME} PUBLIC
                          ${CMAKE_CURRENT_SOURCE_DIR}
                          ${CMAKE_CURRENT_SOURCE_DIR}/basic_shapes
                          )

target_link_libraries(${MODULE_NAME} PUBLIC core geometry fonts mesh image)

set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER src)
set_target_properties( ${MODULE_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) 
