You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

71 lines
2.3 KiB

cmake_minimum_required(VERSION 3.5)
PROJECT(Map LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
if(WIN32)
MESSAGE(STATUS "WIN32")
set(CMAKE_PREFIX_PATH "C:/DevelopEnv/Qt/5.15.2/mingw81_64")
set(QT_VERSION "5.15.2")
elseif(UNIX)
MESSAGE(STATUS "UNIX")
set(CMAKE_PREFIX_PATH "/home/tian/Qt5.12.3/5.12.3/gcc_64")
# solve program: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
set(QT_VERSION "5.12.3")
set(CMAKE_CXX_FLAGS -pthread)
endif()
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
# 添加用到的qt库
find_package(Qt5 COMPONENTS
Core
Gui
Widgets
Websockets
LinguistTools
REQUIRED)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) #设置可执行文件生成目录
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/Libs) #设置链接库生成目录
include_directories(${PROJECT_SOURCE_DIR}/src)
FILE(GLOB_RECURSE APP_HEADER ${PROJECT_SOURCE_DIR}/Src/*.h)
FILE(GLOB_RECURSE APP_SRC ${PROJECT_SOURCE_DIR}/Src/*.cpp)
FILE(GLOB_RECURSE FORMS ${PROJECT_SOURCE_DIR}/Src/*.ui)
FILE(GLOB_RECURSE RESOURCE_FILES ${PROJECT_SOURCE_DIR}/resources/*.qrc ${PROJECT_SOURCE_DIR}/resources/*.rc)
# 翻译
# 初始化要使用的列表
set(TS_FILES)
set(QM_FILES)
set(PROJECT_SOURCES ${APP_SRC} ${COMMONMODULE_SRC} ${DATA_SRC} ${DECODEROUTE_SRC} ${FILEOPERATOR_SRC} ${OVERLOAD_SRC} ${PLOT_SRC} ${PYTHONPLOT_SRC} ${MATLABPLOT_SRC} ${UI_SRC}
${FORMS})
# 将要生成的翻译文件添加到列表中
list(APPEND TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/FlightDataAnalysis_zh.ts)
# 设置翻译文件的生成路径,如果不指定就会生成在CMakeFiles的目录里
set_source_files_properties(${TS_FILES}
PROPERTIES OUTPUT_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}
)
qt5_create_translation(QM_FILES ${TS_FILES} ${PROJECT_SOURCES})
# 添加更新翻译的目标
add_custom_target(lupdate_task DEPENDS ${TS_FILES})
# 添加发布翻译的目标
add_custom_target(lrelease_task DEPENDS ${QM_FILES})
SET(CMAKE_BUILD_TYPE "Release")
add_executable(${PROJECT_NAME} ${APP_SRC} ${APP_HEADER}
${FORMS} ${RESOURCE_FILES} ${TS_FILES})
target_link_libraries(${PROJECT_NAME}
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::WebSockets
)