find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets QUIET)

if (Qt${QT_VERSION_MAJOR}Widgets_FOUND)
  project(IvtToolsLDM)

  #Ask CMake to automoc needed includes
  set(CMAKE_AUTOMOC ON)
  set(CMAKE_INCLUDE_CURRENT_DIR ON)

  include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}/
    ${CMAKE_CURRENT_SOURCE_DIR}/AlphaCurveEditor/
    ${CMAKE_CURRENT_SOURCE_DIR}/LDMControlParameters/
  )

  qt_wrap_ui(generated_UICS LDMControlParameters/Ivt_LDMControlParameters_UI.ui)

  # Extract the name of the generated ui files. This will allow us to display
  # in the VC PROJ hierarchy only the name of the file and not the whole directory
  # structure.
  get_filename_component(ui_LDMControlParameters generated_UICS NAME)

  set( ${PROJECT_NAME}_src
    IvtToolsLDMPlugin.cxx
    AlphaCurveEditor/Ivt_AlphaCurveEditor.cxx
    LDMControlParameters/Ivt_LDMControlParameters.cxx
    AlphaCurveEditor/Ivt_AlphaCurveEditor.h
    LDMControlParameters/Ivt_LDMControlParameters.h
  )

  set(Resource_SOURCES
    resource/Version.rc
  )

  link_libraries( "${VolumeViz_LIBRARIES}" )

  file(GLOB_RECURSE PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)

  add_oiv_library( ${PROJECT_NAME} SHARED
    ${${PROJECT_NAME}_src}
    ${PUBLIC_HEADERS}
    ${generated_UICS}
    ${Resource_SOURCES}
  )

  target_link_libraries(${PROJECT_NAME} Qt::Widgets)
  if (${QT_VERSION_MAJOR} EQUAL 6)
    qt_allow_non_utf8_sources(${PROJECT_NAME})
    qt_disable_unicode_defines(${PROJECT_NAME})
  endif()

  #Some VCProj hierarchy
  create_vcproj_hierarchy("Source Files" ${${PROJECT_NAME}_src} ${ui_LDMControlParameters})
  create_vcproj_hierarchy("Header Files" ${CMAKE_CURRENT_SOURCE_DIR} ${PUBLIC_HEADERS})
  create_vcproj_hierarchy("Resource Files" ${Resource_SOURCES})
  
  set_target_properties( ${PROJECT_NAME} PROPERTIES OUTPUT_NAME fei_ivTune_extender_volumeVizLDM )
endif()
