5c69e59187
Project now utilizes the /MP compiler switch to perform parallelized builds. The number of parallel builds performed is determined on a per-machine basis based on available logical CPUs. Long term this will provide the best performance output to code maintainability ratio compared to just enabling precompiled headers. Using my personal machine (8 cores), I got the following timings (Debug configuration): * Normal build : 89 seconds * Multi-processor build : 28 seconds * PCH enabled : 27 seconds Note that the multi-processor build timings can be further reduced with proper dependency management and removal of existing precompiled header file (precompiledHeaders.h). Specific Changes: * Precompiled header support disabled (not compatible with /MP flag). * precompiledHeader.cpp deleted. * Solution File added. * Minimal Rebuild (/Gm) disabled (ignored when /MP is on). precompiledHeaders.h still exists because it contains a ton of inclusions required by lots of files. A second and less trivial cleanup will involve removing the precompiledHeaders.h file and individually correcting and satisfying dependencies in each source file in the code base. |
||
---|---|---|
PowerEditor | ||
scintilla | ||
.gitignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
What is Notepad++ ?
Notepad++ is a free (free as in both "free speech" and "free beer") source code editor and Notepad replacement that supports several programming languages and natural languages. Running in the MS Windows environment, its use is governed by GPL License.
To build Notepad++ package from source code:
There should be several ways to generate Notepad++ binaries, here we show you only the way with which Notepad++ official releases are generated.
- notepad++.exe: Visual Studio 2013
- SciLexer.dll: Visual Studio 2013 (with nmake)
notepad++.exe:
Double click on PowerEditor\visual.net\notepadPlus.vcproj
to launch Notepad++ project in Visual Studio, then build it with the mode you want, that's it.
SciLexer.dll: From version 6.0, SciLexer.dll comes with release contains boost's PCRE (Perl Compatible Regular Expressions) feature. Therefore Boost is needed to compile Scintilla in order to have PCRE support. Here are the instructions to build SciLexer.dll for Notepad++:
- Download the Boost source code. v1.55 should be used with VS 2013. Then unzip it. In my case, "boost_1_55_0" is copied in
C:\sources\
- Go to
scintilla\boostregex\
then run BuildBoost.bat with your boost path. In my case:BuildBoost.bat C:\sources\boost_1_55_0
- Go in
scintilla\win32\
then runnmake -f scintilla.mak
You can build SciLexer.dll without Boost, ie. with its default POSIX regular expression support instead boost's PCRE one. It will work with notepad++.exe, however some functionalities in Notepad++ may be broken. To build SciLexer.dll without PCRE support:
- Go in
scintilla\win32\
- Run nmake with an option
nmake NOBOOST=1 -f scintilla.mak
Notepad++ Unicode release binary (notepad++.exe) and Scintilla release binary (SciLexer.dll) will be built in the directories PowerEditor\bin\
and scintilla\bin\
respectively.
You have to copy SciLexer.dll in PowerEditor\bin\
in order to launch notepad++.exe
Go to Notepad++ official site for more information.