mirror of https://gitee.com/cxasm/notepad--.git
commit
78e6e39ca6
|
@ -0,0 +1,55 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
project(notepad--)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Concurrent Network PrintSupport XmlPatterns)
|
||||
|
||||
# TODO: use system provided libraries to build
|
||||
# current status: some header can not be found,for example: Scintilla.h
|
||||
find_library(QSCINTILLA_LIB_PATH qscintilla2_qt5)
|
||||
find_path(QSCINTILLA_INC_PATH qsciscintilla.h PATHS /usr/include/)
|
||||
find_path(SCINTILLA_INC_PATH Scintilla.h PATHS /usr/include/)
|
||||
if((${QSCINTILLA_LIB_PATH} STREQUAL "QSCINTILLA_LIB_PATH-NOTFOUND") OR
|
||||
(${QSCINTILLA_INC_PATH} STREQUAL "QSCINTILLA_INC_PATH-NOTFOUND") OR
|
||||
(${SCINTILLA_INC_PATH} STREQUAL "SCINTILLA_INC_PATH-NOTFOUND") )
|
||||
set(NOTEPAD_USE_SYS_LIB OFF)
|
||||
message("system libraries or header not found,build from local")
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/src/qscint)
|
||||
else()
|
||||
set(NOTEPAD_USE_SYS_LIB ON)
|
||||
message("use system libraries")
|
||||
message("QSCINTILLA_LIB_PATH:" ${QSCINTILLA_LIB_PATH})
|
||||
message("QSCINTILLA_INC_PATH:" ${QSCINTILLA_INC_PATH})
|
||||
message("SCINTILLA_INC_PATH:" ${SCINTILLA_INC_PATH})
|
||||
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)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SRC} ${UI_SRC} ${PROJECT_SOURCE_DIR}/src/RealCompare.qrc)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/src
|
||||
${PROJECT_SOURCE_DIR}/src/cceditor
|
||||
)
|
||||
|
||||
if(NOTEPAD_USE_SYS_LIB)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${QSCINTILLA_INC_PATH} ${SCINTILLA_INC_PATH})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} qscintilla2_qt5 Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::XmlPatterns)
|
||||
|
||||
install(
|
||||
TARGETS ${PROJECT_NAME}
|
||||
DESTINATION "bin"
|
||||
)
|
||||
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/src/linux/usr
|
||||
DESTINATION "/")
|
||||
|
||||
include(${PROJECT_SOURCE_DIR}/cmake/package_config.cmake)
|
||||
include(CPack)
|
18
README.md
18
README.md
|
@ -21,6 +21,24 @@ NDD已初步推出插件编写功能,希望广大的CPP/QT开发者加入我
|
|||
|
||||
![输入图片说明](6688.png)
|
||||
|
||||
**Linux编译说明:**
|
||||
|
||||
## Ubuntu
|
||||
|
||||
1. 安装编译环境 `sudo apt-get install g++ make cmake`
|
||||
1. 安装qt工具和库 `sudo apt-get install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5printsupport5 libqt5xmlpatterns5-dev `
|
||||
1. 配置 `cmake -B build -DCMAKE_BUILD_TYPE=Release`
|
||||
1. 编译 `cd build && make -j`
|
||||
1. 打包 `cpack`
|
||||
|
||||
## ArchLinux
|
||||
|
||||
1. 安装编译环境 `sudo pacman -S gcc cmake make `
|
||||
1. 安装qt工具和库 `sudo pacman -S qt5-tools qt5-base qt5-xmlpatterns `
|
||||
1. 配置 `cmake -B build -DCMAKE_BUILD_TYPE=Release`
|
||||
1. 编译 `cd build && make -j`
|
||||
1. 打包:使用aur
|
||||
|
||||
**编译说明:**
|
||||
|
||||
1)使用qtcreator 或 vs 先打开qscint/src/qscintilla.pro 。先编译出这个qscintlla的依赖库。
|
||||
|
|
|
@ -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 "amd64")
|
||||
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libqt5concurrent5,libqt5core5a,libqt5gui5,libqt5network5,libqt5printsupport5,libqt5xmlpatterns5")
|
|
@ -7,10 +7,14 @@
|
|||
#include "ui_findcmpwin.h"
|
||||
#include "rcglobal.h"
|
||||
|
||||
#ifndef DEF_FIND_TAB_INDEX
|
||||
#define DEF_FIND_TAB_INDEX
|
||||
|
||||
enum FindTabIndex {
|
||||
FIND_TAB,
|
||||
REPLACE_TAB,
|
||||
};
|
||||
#endif
|
||||
class ScintillaEditView;
|
||||
|
||||
//struct FindCmpRecord {
|
||||
|
|
|
@ -6,13 +6,16 @@
|
|||
|
||||
|
||||
#include "ui_findwin.h"
|
||||
|
||||
#ifndef DEF_FIND_TAB_INDEX
|
||||
#define DEF_FIND_TAB_INDEX
|
||||
enum FindTabIndex {
|
||||
FIND_TAB =0,
|
||||
REPLACE_TAB,
|
||||
DIR_FIND_TAB,
|
||||
MARK_TAB,
|
||||
};
|
||||
#endif
|
||||
|
||||
class ScintillaEditView;
|
||||
class QsciScintilla;
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
project(qscintilla2_qt5 CXX)
|
||||
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets PrintSupport)
|
||||
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC)
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexers SRC)
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/lexlib SRC)
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/src SRC)
|
||||
aux_source_directory(${PROJECT_SOURCE_DIR}/scintilla/boostregex SRC)
|
||||
|
||||
file(GLOB MOC_HEADER ${PROJECT_SOURCE_DIR}/src/Qsci/*.h)
|
||||
|
||||
#message(${MOC_HEADER})
|
||||
|
||||
add_library(${PROJECT_NAME} STATIC ${SRC} ${MOC_HEADER})
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/scintilla/lexlib
|
||||
${PROJECT_SOURCE_DIR}/scintilla/boostregex
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||
${PROJECT_SOURCE_DIR}/src
|
||||
${PROJECT_SOURCE_DIR}/src/Qsci
|
||||
${PROJECT_SOURCE_DIR}/scintilla/src
|
||||
${PROJECT_SOURCE_DIR}/scintilla/include)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Concurrent Qt5::Network Qt5::PrintSupport)
|
Loading…
Reference in New Issue