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("$<$:/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})