108 lines
2.9 KiB
CMake
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})
|
|
|