diff --git a/arm64 version/CMakeLists.txt b/arm64 version/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..43888dd98dfa06ffe419569fbf78476367c97d7f --- /dev/null +++ b/arm64 version/CMakeLists.txt @@ -0,0 +1,90 @@ +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() diff --git a/arm64 version/cmake/deb_package_config.cmake b/arm64 version/cmake/deb_package_config.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e98d0cf1db078a4acdd7030bbd97a9a2a584fd0b --- /dev/null +++ b/arm64 version/cmake/deb_package_config.cmake @@ -0,0 +1,13 @@ +set(CPACK_GENERATOR "DEB") +set(CPACK_PACKAGE_NAME "notepad--") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "a text editor like notepad++") +set(CPACK_PACKAGE_CONTACT "coconil") + +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") + +set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64") +set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5concurrent5,libqt5core5a,libqt5gui5,libqt5network5,libqt5printsupport5,libqt5xmlpatterns5") \ No newline at end of file diff --git a/arm64 version/cmake/nsis_package_config.cmake b/arm64 version/cmake/nsis_package_config.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0098d3929ab25f4d1c2a662c4679b96e80b4e55f --- /dev/null +++ b/arm64 version/cmake/nsis_package_config.cmake @@ -0,0 +1,59 @@ +set(CPACK_GENERATOR NSIS) + +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_NAME}") +# 维护人员 +set(CPACK_PACKAGE_CONTACT "XiaoPb") + +set(P4_VERSION_INFO_CL_HIGH "0") +set(P4_VERSION_INFO_CL_LOW "0") +# set(CPACK_PACKAGE_VERSION_PATCH "0") + +set (CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}") + +set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_NAME}V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") + +set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico") +set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/src/Resources/ico/txt (9).ico") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License") + +set (CPACK_PACKAGE_EXECUTABLES "${PROJECT_NAME}" "${PROJECT_NAME}" ) + +# 设置 安装包属性信息 +set (CPACK_NSIS_DEFINES " + ${CPACK_NSIS_DEFINES} + VIProductVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW} + VIFileVersion ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${P4_VERSION_INFO_CL_HIGH}.${P4_VERSION_INFO_CL_LOW} + VIAddVersionKey /LANG=0 \\\"ProductName\\\" \\\"${CPACK_PACKAGE_NAME}\\\" + VIAddVersionKey /LANG=0 \\\"ProductVersion\\\" \\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\" + VIAddVersionKey /LANG=0 \\\"Comments\\\" \\\"${CPACK_PACKAGE_DESCRIPTION}\\\" + VIAddVersionKey /LANG=0 \\\"CompanyName\\\" \\\"${CPACK_PACKAGE_VENDOR}\\\" + VIAddVersionKey /LANG=0 \\\"LegalCopyright\\\" \\\"${CPACK_PACKAGE_COPYRIGHT}\\\" + VIAddVersionKey /LANG=0 \\\"FileDescription\\\" \\\"${CPACK_PACKAGE_NAME} Installer\\\" + VIAddVersionKey /LANG=0 \\\"FileVersion\\\" \\\"v${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}${CPACK_PACKAGE_BUILD_TYPE_REVISION}\\\" + " +) + +# 设置 安装时需要的环境变量 +set (CPACK_NSIS_EXTRA_INSTALL_COMMANDS " + WriteRegStr SHCTX \\\"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\App Paths\\\\${PROJECT_NAME}\\\" \\\"\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\\shell\\\" \\\"\\\" \\\"open\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\\shell\\\\open\\\\command\\\" \\\"\\\" \\\"$\\\\\\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe$\\\\\\\" $\\\\\\\"%1$\\\\\\\"\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\.txt\\\\OpenWithProgids\\\" \\\"${PROJECT_NAME}\\\" \\\"\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" \\\"\\\" \\\"Edit with ${PROJECT_NAME}\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" \\\"Icon\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" + WriteRegStr SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\\command\\\" \\\"\\\" \\\"$\\\\\\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe$\\\\\\\" $\\\\\\\"%1$\\\\\\\"\\\" + ") + +# 设置 卸载时需要的环境变量 +set (CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS " + Delete \\\"$DESKTOP\\\\${PROJECT_NAME}.lnk\\\" + Delete \\\"$SMPROGRAMS\\\\${PROJECT_NAME}.lnk\\\" + DeleteRegKey SHCTX \\\"Software\\\\Classes\\\\*\\\\shell\\\\${PROJECT_NAME}\\\" + DeleteRegKey SHCTX \\\"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\App Paths\\\\bin\\\\${PROJECT_NAME}.exe\\\" \\\"\\\" \\\"$INSTDIR\\\\bin\\\\${PROJECT_NAME}.exe\\\" + DeleteRegKey SHCTX \\\"Software\\\\${PROJECT_NAME}\\\" + DeleteRegValue SHCTX \\\"Software\\\\Classes\\\\.txt\\\\OpenWithProgids\\\" \\\"${PROJECT_NAME}\\\" + DeleteRegKey SHCTX \\\"Software\\\\Classes\\\\${PROJECT_NAME}\\\" + ") diff --git "a/arm64 version/\347\274\226\350\257\221arm64.md" "b/arm64 version/\347\274\226\350\257\221arm64.md" new file mode 100644 index 0000000000000000000000000000000000000000..ac48ca32da1f9f401695da99e8c41db7bc422cf0 --- /dev/null +++ "b/arm64 version/\347\274\226\350\257\221arm64.md" @@ -0,0 +1,6 @@ +## 此文档说明如何编译arm64版本 +### 此版本在raspberry64上编译 +### 已经编译好的包在/arm64_version/build中 +### 已下是如何编译arm64版本 +1. 将arm64_version文件夹中的cmake,和CMakeLists.txt放人notepad--文件夹 +2. 以下步骤同how_build中一致 \ No newline at end of file