| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- cmake_minimum_required(VERSION 3.16)
- project(NotePad-- VERSION 1.22.0)
-
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTOUIC ON)
- set(CMAKE_AUTORCC ON)
- find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns)
- # qscint 关键依赖库
- add_subdirectory(${PROJECT_SOURCE_DIR}/src/qscint)
- # 插件库包含
- # helloworld 动态插件库
- add_subdirectory(${PROJECT_SOURCE_DIR}/src/plugin/helloworld)
- # win下需要开启UNICODE进行支持TCHAR
- if(CMAKE_HOST_WIN32)
- add_definitions(-D_UNICODE -DUNICODE)
- endif()
- if(${PLUGIN_EN})
- if(${PLUGIN_EN} STREQUAL on)
- add_definitions(-DNO_PLUGIN=1)
- endif(${PLUGIN_EN})
- endif()
- file(GLOB UI_SRC ${PROJECT_SOURCE_DIR}/src/*.ui)
- set(UI_SRC ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/cceditor/ccnotepad.ui)
- aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)
- aux_source_directory(${PROJECT_SOURCE_DIR}/src/cceditor SRC)
- if(CMAKE_HOST_WIN32)
- # 添加 WIN32 保证主程序启动没有命令行
- list(APPEND WIN_RCS ${PROJECT_SOURCE_DIR}/src/RealCompareToMinGw.rc)
- add_executable(${PROJECT_NAME} WIN32 ${WIN_RCS} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)
- else()
- add_executable(${PROJECT_NAME} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)
- endif()
- target_include_directories(${PROJECT_NAME} PRIVATE
- ${PROJECT_SOURCE_DIR}/src
- ${PROJECT_SOURCE_DIR}/src/cceditor
- ${PROJECT_SOURCE_DIR}/src/qscint/src
- ${PROJECT_SOURCE_DIR}/src/qscint/src/Qsci
- ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/src
- ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/include
- ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/lexlib
- ${PROJECT_SOURCE_DIR}/src/qscint/scintilla/boostregex
- )
- target_link_libraries(${PROJECT_NAME} qscint Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::XmlPatterns)
- # set(PROJECT_BINARY_DIR "${PROJECT_BINARY_DIR}/bin")
- # set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
- if(CMAKE_HOST_UNIX)
- install(
- TARGETS ${PROJECT_NAME}
- DESTINATION "bin"
- )
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/linux/usr
- DESTINATION "/")
- include(${PROJECT_SOURCE_DIR}/cmake/deb_package_config.cmake)
- include(CPack)
- elseif(CMAKE_HOST_WIN32)
- install(TARGETS ${PROJECT_NAME}
- DESTINATION "/")
- install(DIRECTORY ${PROJECT_SOURCE_DIR}/build/bin/
- DESTINATION "/")
- # 设置软件版本
- set(CPACK_PACKAGE_NAME "NotePad--")
- set(CPACK_PACKAGE_DESCRIPTION "NotePad--")
- set(CPACK_PACKAGE_COPYRIGHT "Copyright (c) 2023")
- set(CPACK_PACKAGE_VERSION "1.22.0")
- set(CPACK_PACKAGE_VERSION_MAJOR "1")
- set(CPACK_PACKAGE_VERSION_MINOR "22")
- set(CPACK_PACKAGE_VERSION_PATCH "0")
- include(${PROJECT_SOURCE_DIR}/cmake/nsis_package_config.cmake)
- include(CPack)
- endif()
|