SmartLockerTools/Analyser/CMakeLists.txt
luocai 2661f0729a
All checks were successful
Build Applications / PullDocker (push) Successful in 7s
Build Applications / Build (push) Successful in 2m26s
Windows CI / build (push) Successful in 3m41s
optimize communicate stop.
2024-10-25 17:18:09 +08:00

108 lines
2.9 KiB
CMake

project(Analyser VERSION 0.3 LANGUAGES C CXX)
set(APPLICATION_NAME "掌静脉测试工具")
find_package(Boost REQUIRED COMPONENTS json)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Quick QuickTemplates2 SerialPort JpegPrivate BundledLibjpeg)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Quick QuickTemplates2 SerialPort JpegPrivate BundledLibjpeg)
qt_standard_project_setup(REQUIRES 6.5)
configure_file(Configuration.h.in Configuration.h)
qt_add_executable(Analyser Analyser.rc
main.cpp
Application.h Application.cpp
CategoryLogSinkBackend.h CategoryLogSinkBackend.cpp
ImageDecoder.h ImageDecoder.cpp
ModuleCommunication.h ModuleCommunication.cpp
PalmFeatureTableModel.h PalmFeatureTableModel.cpp
VideoFrameProvider.h VideoFrameProvider.cpp
VideoPlayer.h VideoPlayer.cpp
)
qt_add_qml_module(Analyser
URI Analyser
VERSION 1.0
QML_FILES
qml/Main.qml
qml/ConnectionItem.qml
qml/OperationItem.qml
qml/OtaPage.qml
qml/EnrollVerifyOperations.qml
qml/ExtendedOperations.qml
RESOURCES
resources/successfull.svg
resources/warning.svg
resources/palm-middle.png
)
target_compile_definitions(Analyser
PRIVATE _CRT_SECURE_NO_WARNINGS
)
if(UNIX)
set_target_properties(Analyser PROPERTIES
SUFFIX .AppImage
)
set(EXECUTABLE_NAME Analyser.AppImage)
else()
set(EXECUTABLE_NAME Analyser.exe)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set_property(TARGET Analyser PROPERTY
WIN32_EXECUTABLE true
)
endif()
target_include_directories(Analyser
PRIVATE ${FFmpeg_INCLUDE_DIR}
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
)
target_link_directories(Analyser
PRIVATE ${FFmpeg_LIB_DIR}
)
target_link_libraries(Analyser
PRIVATE Fluent
PRIVATE Fluentplugin
PRIVATE Encrypt
PRIVATE Database
PRIVATE Peripheral
PRIVATE avcodec
PRIVATE swscale
PRIVATE avutil
PRIVATE avdevice
PRIVATE avformat
$<$<PLATFORM_ID:Windows>:Ws2_32>
PRIVATE Boost::json
PRIVATE Qt${QT_VERSION_MAJOR}::Quick
PRIVATE Qt${QT_VERSION_MAJOR}::QuickTemplates2
PRIVATE Qt${QT_VERSION_MAJOR}::SerialPort
PRIVATE Qt${QT_VERSION_MAJOR}::JpegPrivate
PRIVATE Qt${QT_VERSION_MAJOR}::BundledLibjpeg
)
install(TARGETS Analyser
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
configure_file(
${CMAKE_SOURCE_DIR}/resources/run.sh.in
${CMAKE_CURRENT_BINARY_DIR}/scripts/${EXECUTABLE_NAME}
@ONLY
)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/scripts/${EXECUTABLE_NAME} DESTINATION .)
qt_generate_deploy_qml_app_script(
TARGET Analyser
OUTPUT_SCRIPT deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
NO_TRANSLATIONS
DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM
)
install(SCRIPT ${deploy_script})