cmake_minimum_required(VERSION 3.5) project(InstructorsAndTrainees LANGUAGES CXX) get_filename_component(PROJECT_PATH ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) get_filename_component(REPO_PATH ${PROJECT_PATH} DIRECTORY) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(PROJECT_TYPE_DEBUG TRUE) endif() if(PROJECT_TYPE_DEBUG) add_definitions(-DPROJECT_TYPE_DEBUG) endif() find_package(Qt5 COMPONENTS Widgets REQUIRED) find_package(Qt5 COMPONENTS Sql REQUIRED) find_package(Qt5 COMPONENTS LinguistTools REQUIRED) find_package(Qt5 COMPONENTS Xml REQUIRED) find_package(Qt5 COMPONENTS Network REQUIRED) 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 tasks/taskswidget.cpp tasks/taskswidget.h tasks/taskswidget.ui docTasks/doctaskswidget.cpp docTasks/doctaskswidget.h docTasks/doctaskswidget.ui docTasks/module.cpp docTasks/module.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/Datas.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 docTasks/fimtaskswidget.cpp docTasks/fimtaskswidget.h docTasks/fimtaskswidget.ui docTasks/tasksAmmFim.cpp docTasks/tasksAmmFim.h 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}/../../DB_LMS/DataBaseLMS) if(PROJECT_TYPE_DEBUG) target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/DB_LMS/Debug64) elseif() target_link_directories(InstructorsAndTrainees PUBLIC ${REPO_PATH}/BUILDS/DB_LMS/Release64) 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/DB_IaT/Debug64/libInstructorsAndTrainees.dll ${REPO_PATH}/BUILDS/GUIdataBaseLMS/Debug64) elseif() add_custom_command(TARGET InstructorsAndTrainees POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REPO_PATH}/BUILDS/DB_IaT/Release64/libInstructorsAndTrainees.dll ${REPO_PATH}/BUILDS/GUIdataBaseLMS/Release64) endif() #Только для TSMP! #install(TARGETS InstructorsAndTrainees DESTINATION ${VEYON_LIB_DIR})