mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-27 18:59:26 +08:00
83 lines
2.1 KiB
CMake
83 lines
2.1 KiB
CMake
cmake_minimum_required(VERSION 3.23)
|
||
|
||
set(PROJECT_NAME EES)
|
||
project(${PROJECT_NAME})
|
||
|
||
set(CMAKE_CXX_STANDARD 17)
|
||
|
||
# 【注意】visual studio编译时的字符编码问题,配置属性 --> C/C++ --> 命令行 --> 其它选项: /utf-8 或添加如下指令
|
||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8")
|
||
|
||
# 设置 Release 模式启用调试信息
|
||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
|
||
# 设置 Release 模式的优化级别和其他选项
|
||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Od /Ob2")
|
||
# 设置 Release 模式下链接器的调试信息
|
||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG")
|
||
|
||
# Qt_PATH 为 Qt 的安装地址
|
||
set(QT_PATH "D:/Programs/Qt5/5.15.2/msvc2019")
|
||
set(CMAKE_PREFIX_PATH ${QT_PATH}/lib/cmake)
|
||
|
||
# 开启自动编译
|
||
set(CMAKE_AUTOMOC ON)
|
||
set(CMAKE_AUTOUIC ON)
|
||
set(CMAKE_AUTORCC ON)
|
||
find_package(Qt5 COMPONENTS
|
||
Widgets
|
||
AxContainer
|
||
Network
|
||
SerialBus
|
||
SerialPort
|
||
Charts
|
||
WebEngineWidgets
|
||
REQUIRED)
|
||
|
||
add_definitions(-DWIN32_LEAN_AND_MEAN)
|
||
|
||
set(ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})
|
||
set(THIRDPARTY_PATH ${ROOT_PATH}/../thirdparty)
|
||
|
||
include_directories(
|
||
${ROOT_PATH}
|
||
${ROOT_PATH}/app
|
||
${ROOT_PATH}/common
|
||
${ROOT_PATH}/widgets
|
||
${THIRDPARTY_PATH}
|
||
${THIRDPARTY_PATH}/mysql/include
|
||
${THIRDPARTY_PATH}/nlohmann_json-3.11.2
|
||
)
|
||
|
||
macro(ADD_SOURCE_GROUP srcpath)
|
||
file(GLOB src_h ${PROJECT_SOURCE_DIR}/${srcpath}/*.h)
|
||
file(GLOB src_cpp ${PROJECT_SOURCE_DIR}/${srcpath}/*.cpp)
|
||
set(src_tmp ${src_h} ${src_cpp})
|
||
source_group(src/${srcpath} FILES ${src_tmp})
|
||
list(APPEND SOURCE_FILE ${src_tmp})
|
||
endmacro(ADD_SOURCE_GROUP)
|
||
|
||
# 设置编译源文件
|
||
ADD_SOURCE_GROUP(./)
|
||
ADD_SOURCE_GROUP(common)
|
||
ADD_SOURCE_GROUP(app)
|
||
ADD_SOURCE_GROUP(database)
|
||
ADD_SOURCE_GROUP(protocol)
|
||
ADD_SOURCE_GROUP(widgets)
|
||
ADD_SOURCE_GROUP(widgets/pages)
|
||
|
||
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin)
|
||
add_executable(${PROJECT_NAME} ${SOURCE_FILE})
|
||
|
||
target_link_libraries(${PROJECT_NAME}
|
||
Qt5::Widgets
|
||
Qt5::AxContainer
|
||
Qt5::Network
|
||
Qt5::SerialBus
|
||
Qt5::SerialPort
|
||
Qt5::Charts
|
||
Qt5::WebEngineWidgets
|
||
)
|
||
target_link_libraries(${PROJECT_NAME}
|
||
ws2_32 iphlpapi
|
||
${THIRDPARTY_PATH}/mysql/lib/Win32/libmysql.lib
|
||
) |