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.
72 lines
2.3 KiB
72 lines
2.3 KiB
1 year ago
|
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
|
||
|
)
|