project(InstructorsAndTrainees LANGUAGES CXX)

common_info_for_project(InstructorsAndTrainees)

add_library(InstructorsAndTrainees SHARED
  instructorsAndTrainees_global.h
  instructorsandtraineeswidget.cpp
  instructorsandtraineeswidget.h
  instructorsandtraineeswidget.ui
  commonview.cpp
  commonview.h

  trainees/editortrainees.cpp
  trainees/editortrainees.h
  trainees/editortrainees.ui
  trainees/dialogeditgroup.cpp
  trainees/dialogeditgroup.h
  trainees/dialogeditgroup.ui
  trainees/dialogedittrainee.cpp
  trainees/dialogedittrainee.h
  trainees/dialogedittrainee.ui
  trainees/computersLocations.h
  trainees/computersLocations.cpp
  trainees/viewertrainees.cpp
  trainees/viewertrainees.h
  trainees/viewertrainees.ui
  trainees/traineesview.cpp
  trainees/traineesview.h

  instructors/viewerinstructors.cpp
  instructors/viewerinstructors.h
  instructors/viewerinstructors.ui
  instructors/editorinstructors.cpp
  instructors/editorinstructors.h
  instructors/editorinstructors.ui
  instructors/dialogeditinstructor.cpp
  instructors/dialogeditinstructor.h
  instructors/dialogeditinstructor.ui
  instructors/dialogauthorizationinstructor.cpp
  instructors/dialogauthorizationinstructor.h
  instructors/dialogauthorizationinstructor.ui
  instructors/instructorsview.cpp
  instructors/instructorsview.h

  connectorToServer/connectortoserver.cpp
  connectorToServer/connectortoserver.h
  connectorToServer/Core/sendsystem.cpp
  connectorToServer/Core/sendsystem.h
  connectorToServer/Core/dataparser.cpp
  connectorToServer/Core/dataparser.h
  connectorToServer/Core/recognizesystem.cpp
  connectorToServer/Core/recognizesystem.h
  connectorToServer/Core/tcpclient.cpp
  connectorToServer/Core/tcpclient.h
  connectorToServer/Core/tools.cpp
  connectorToServer/Core/tools.h
  connectorToServer/Core/FileData.h
  connectorToServer/Core/notifycontroller.cpp
  connectorToServer/Core/notifycontroller.h
  connectorToServer/Core/versioncontainer.cpp
  connectorToServer/Core/versioncontainer.h
  connectorToServer/Datas.h
  connectorToServer/streamingversiondata.h
  messanger/messangerwidget.cpp
  messanger/messangerwidget.h
  messanger/messangerwidget.ui
  messanger/msgwidget.cpp
  messanger/msgwidget.h
  messanger/msgwidget.ui
  messanger/tabdialogmessenger.cpp
  messanger/tabdialogmessenger.h

  tasks/ammtaskswidget.cpp
  tasks/ammtaskswidget.h
  tasks/ammtaskswidget.ui
  tasks/module.cpp
  tasks/module.h
  tasks/fimtaskswidget.cpp
  tasks/fimtaskswidget.h
  tasks/fimtaskswidget.ui
  tasks/tasktreepreparation.cpp
  tasks/tasktreepreparation.h
  #tasks/tasksAmmFim.cpp
  #tasks/tasksAmmFim.h
   widgets/newversionwidget.cpp
  widgets/newversionwidget.h
  widgets/newversionwidget.ui
  widgets/versionselectwidget.cpp
  widgets/versionselectwidget.h
  widgets/versionselectwidget.ui
  widgets/waitanimationwidget.cpp
  widgets/waitanimationwidget.h
  widgets/waitanimationwidget.ui

  resources.qrc
)

target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Widgets)
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Sql)
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Xml)
target_link_libraries(InstructorsAndTrainees PRIVATE Qt5::Network)

target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/instructors)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/trainees)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/tasks)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/docTasks)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/connectorToServer)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/connectorToServer/Core)
target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/messanger)

target_compile_definitions(InstructorsAndTrainees PRIVATE INSTRUCTORSANDTRAINEES_LIBRARY)

target_include_directories(InstructorsAndTrainees PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../DataBaseLMS)
if(PROJECT_TYPE_DEBUG)
    target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Debug64/DataBaseLMS)
elseif()
    target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/Release64/DataBaseLMS)
endif()
target_link_libraries(InstructorsAndTrainees PRIVATE libDataBaseLMS.dll)

if(PROJECT_TYPE_DEBUG)
    add_custom_command(TARGET InstructorsAndTrainees
	               POST_BUILD
		       COMMAND ${CMAKE_COMMAND} -E copy_if_different
		     ${REPO_PATH}/BUILDS/Debug64/InstructorsAndTrainees/libInstructorsAndTrainees.dll
		     ${REPO_PATH}/BUILDS/Debug64/GUIdataBaseLMS)
elseif()
    add_custom_command(TARGET InstructorsAndTrainees
	               POST_BUILD
		       COMMAND ${CMAKE_COMMAND} -E copy_if_different
		     ${REPO_PATH}/BUILDS/Release64/InstructorsAndTrainees/libInstructorsAndTrainees.dll
		     ${REPO_PATH}/BUILDS/Release64/GUIdataBaseLMS)
endif()

#Только для TSMP!
#install(TARGETS InstructorsAndTrainees DESTINATION ${VEYON_LIB_DIR})
