You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
CMake
74 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
|
|
project(WeighUI VERSION 0.1 LANGUAGES CXX)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
|
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
|
|
|
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Multimedia)
|
|
else()
|
|
find_package(Qt5 REQUIRED COMPONENTS Multimedia)
|
|
endif()
|
|
|
|
# fastdds 路径(与称重系统主项目保持一致)
|
|
set(fastcdr_DIR "/opt/fastdds/v3.2.2/lib/cmake/fastcdr")
|
|
set(fastdds_DIR "/opt/fastdds/v3.2.2/share/fastdds/cmake")
|
|
set(foonathan_memory_DIR "/opt/foonathan_memory/lib/foonathan_memory/cmake")
|
|
|
|
find_package(fastcdr REQUIRED)
|
|
find_package(fastdds 3 REQUIRED)
|
|
|
|
set(PROJECT_SOURCES
|
|
main.cpp
|
|
weighui.cpp
|
|
weighui.h
|
|
weighui.ui
|
|
dds/Subscriber.hpp
|
|
dds/Subscriber.cxx
|
|
dds/msg.hpp
|
|
lib/WeighingDDSTypePubSubTypes.cxx
|
|
lib/WeighingDDSTypeTypeObjectSupport.cxx
|
|
)
|
|
|
|
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
|
qt_add_executable(WeighUI
|
|
MANUAL_FINALIZATION
|
|
${PROJECT_SOURCES}
|
|
)
|
|
else()
|
|
if(ANDROID)
|
|
add_library(WeighUI SHARED
|
|
${PROJECT_SOURCES}
|
|
)
|
|
else()
|
|
add_executable(WeighUI
|
|
${PROJECT_SOURCES}
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
target_include_directories(WeighUI PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/lib
|
|
${CMAKE_CURRENT_SOURCE_DIR}/dds
|
|
)
|
|
|
|
target_link_libraries(WeighUI PRIVATE
|
|
Qt${QT_VERSION_MAJOR}::Widgets
|
|
Qt${QT_VERSION_MAJOR}::Multimedia
|
|
fastcdr
|
|
fastdds
|
|
)
|
|
|
|
if(QT_VERSION_MAJOR EQUAL 6)
|
|
qt_finalize_executable(WeighUI)
|
|
endif()
|