cmake_minimum_required(VERSION 3.5) project(DataBaseLMS LANGUAGES CXX) get_filename_component(REPO_PATH ${CMAKE_CURRENT_SOURCE_DIR} 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) add_library(DataBaseLMS SHARED DataBaseLMS_global.h databaselms.cpp databaselms.h interfacedatabaselms.cpp interfacedatabaselms.h basicentity.cpp basicentity.h user.cpp user.h instructor.cpp instructor.h trainee.cpp trainee.h group.cpp group.h computer.cpp computer.h task.cpp task.h classroom.cpp classroom.h ) target_link_libraries(DataBaseLMS PRIVATE Qt5::Widgets) target_link_libraries(DataBaseLMS PRIVATE Qt5::Sql) target_compile_definitions(DataBaseLMS PRIVATE DATABASELMS_LIBRARY) message("${REPO_PATH}") if(PROJECT_TYPE_DEBUG) add_custom_command(TARGET DataBaseLMS POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REPO_PATH}/BUILDS/Debug64/DataBaseLMS/libDataBaseLMS.dll ${REPO_PATH}/BUILDS/Debug64/TestServerLMS) add_custom_command(TARGET DataBaseLMS POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REPO_PATH}/BUILDS/Debug64/DataBaseLMS/libDataBaseLMS.dll ${REPO_PATH}/BUILDS/Debug64/GUIdataBaseLMS) elseif() add_custom_command(TARGET DataBaseLMS POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REPO_PATH}/BUILDS/Release64/DataBaseLMS/libDataBaseLMS.dll ${REPO_PATH}/BUILDS/Release64/TestServerLMS) add_custom_command(TARGET DataBaseLMS POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${REPO_PATH}/BUILDS/Release64/DataBaseLMS/libDataBaseLMS.dll ${REPO_PATH}/BUILDS/Release64/GUIdataBaseLMS) endif()