77 lines
2.1 KiB
CMake
77 lines
2.1 KiB
CMake
|
|
cmake_minimum_required(VERSION 3.5)
|
||
|
|
SET(PROJECT_NAME PostProcessing)
|
||
|
|
project(${PROJECT_NAME} LANGUAGES CXX)
|
||
|
|
|
||
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||
|
|
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(Qt5 COMPONENTS Widgets AxContainer REQUIRED)
|
||
|
|
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||
|
|
############################################################
|
||
|
|
# Create an executable
|
||
|
|
############################################################
|
||
|
|
|
||
|
|
#所有.ui文件
|
||
|
|
file(GLOB ALL_UI "*.ui")
|
||
|
|
#所有.h文件
|
||
|
|
file(GLOB ALL_HEAD "*.h")
|
||
|
|
#所有.cpp文件
|
||
|
|
file(GLOB ALL_SOURCE "*.cpp")
|
||
|
|
|
||
|
|
SET(SRC_QRC_FILES
|
||
|
|
"${LIBRARY_ElaWidgetTools_INCLUDE}/ElaWidgetTools.qrc"
|
||
|
|
)
|
||
|
|
|
||
|
|
# 定义QCustomPlot DLL导入符号宏定义
|
||
|
|
ADD_DEFINITIONS("-DQCUSTOMPLOT_USE_LIBRARY")
|
||
|
|
|
||
|
|
add_executable(${PROJECT_NAME}
|
||
|
|
${ALL_HEAD}
|
||
|
|
${ALL_SOURCE}
|
||
|
|
${ALL_UI}
|
||
|
|
${SRC_QRC_FILES}
|
||
|
|
)
|
||
|
|
|
||
|
|
# 包含头文件目录
|
||
|
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME}
|
||
|
|
PRIVATE
|
||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/..
|
||
|
|
${LIBRARY_VTK_INCLUDE}
|
||
|
|
)
|
||
|
|
|
||
|
|
# 配置编译选项
|
||
|
|
IF(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||
|
|
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
|
||
|
|
SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
|
||
|
|
ENDIF()
|
||
|
|
|
||
|
|
#输出目录
|
||
|
|
SET(EXECUTABLE_OUTPUT_PATH ${outputDir_EXE})
|
||
|
|
|
||
|
|
#vld路径设置
|
||
|
|
SET(VLD_DIR ${LIBRARY_THIRDPARTY_DIR}/Libs/windows-x86_64/vld-2.5.1)
|
||
|
|
FILE(COPY ${VLD_DIR}/bin/vld_x64.dll DESTINATION ${outputDir_EXE})
|
||
|
|
|
||
|
|
INCLUDE_DIRECTORIES(${VLD_DIR}/include ${LIBRARY_ElaWidgetTools_INCLUDE} ${LIBRARY_QCustomPlot_INCLUDE})
|
||
|
|
|
||
|
|
#UI组件库
|
||
|
|
FILE(COPY ${LIBRARY_ElaWidgetTools_BINS} DESTINATION ${outputDir_EXE})
|
||
|
|
|
||
|
|
#QCustomPlot组件库
|
||
|
|
FILE(COPY ${LIBRARY_QCustomPlot_BINS} DESTINATION ${outputDir_EXE})
|
||
|
|
|
||
|
|
target_link_libraries(${PROJECT_NAME}
|
||
|
|
PRIVATE
|
||
|
|
# ${libName}
|
||
|
|
${VLD_DIR}/lib/vld.lib
|
||
|
|
)
|
||
|
|
|
||
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Widgets Qt5::AxContainer ${LIBRARY_VTK_LIBS} ${LIBRARY_ElaWidgetTools_LIBS} ${LIBRARY_QCustomPlot_LIBS})
|
||
|
|
|