Skip to content

Improve building with VS2015#2464

Closed
evpobr wants to merge 34 commits intonotepad-plus-plus:masterfrom
evpobr:vs2015
Closed

Improve building with VS2015#2464
evpobr wants to merge 34 commits intonotepad-plus-plus:masterfrom
evpobr:vs2015

Conversation

@evpobr
Copy link
Copy Markdown
Contributor

@evpobr evpobr commented Oct 22, 2016

  • Add more .gitignore rules for Visual Studio
  • Remove obsolete Debug Unicode & Release Unicode configurations
  • Add solution for VS2015
  • Rewrite SciLexer from scratch
  • Add boost NuGet package to SciLexer project
  • Reconfigure N++ VS2015 project (partial)
  • Implement post-build step
  • Find better place for solutions and projects
  • speed up compilation with precompiled headers
  • Add NppShell IExplorerShell, xmlApiSorter and xmlUpdater projects to solution

Now there is complete VS2015 solution in \Projects\VS2015 folder - Notepad++.sln. You can use it to build SciLexer.dll, notepad++.exe and related binaries in one step with Visual Studio 2015.

@MAPJe71
Copy link
Copy Markdown
Contributor

MAPJe71 commented Oct 23, 2016

Proposal: in addition to NppShell project add projects for IExplorerShell, xmlApiSorter and xmlUpdater.

@MAPJe71
Copy link
Copy Markdown
Contributor

MAPJe71 commented Oct 24, 2016

FYI: Although the source files are still part the repository, ChangeIcon is no longer used.

@donho
Copy link
Copy Markdown
Member

donho commented Oct 28, 2016

You can use it to build SciLexer.dll and notepad++.exe in one step with Visual Studio 2015.

With or without RegEx of boost ?

@evpobr
Copy link
Copy Markdown
Contributor Author

evpobr commented Oct 28, 2016

Boost RegEx with NuGet package.

#define generic_fopen _tfopen
#define generic_fgets _fgetts
#define generic_stat _tstat
#ifdef UNICODE
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non UNICODE support was dropped some time ago, why should it come back?

, see Revision: 5c48259
Author: Don Ho don.h@free.fr
Date: 26.12.2015 01:17:01
Message:
Clean up

Remove unnecessary directive.

Modified: PowerEditor/src/MISC/Common/Common.h

@chcg
Copy link
Copy Markdown
Contributor

chcg commented Oct 30, 2016

Also precompiled header already exists and were dropped in favour of multiprocessor build as far as I remember around here:

Revision: b35e759
Author: Don Ho don.h@free.fr
Date: 31.05.2015 15:57:17
Message:
[UPDATE] Unprecompile headers


Modified: PowerEditor/src/MISC/Common/Common.h
Modified: PowerEditor/src/MISC/Common/precompiledHeaders.h
...

Do you have measurements for a speedup with precompiled headers?

@evpobr
Copy link
Copy Markdown
Contributor Author

evpobr commented Oct 30, 2016

non UNICODE support was dropped some time ago, why should it come back?

@chcg: @MAPJe71 wants xmlApiSorter and xmlUpdater projects, they are ANSI console programs. To build them i need ANSI versions of generic_XXX functions.

Also precompiled header already exists and were dropped in favour of multiprocessor build as far as I remember around here:

Interesting question, documentation says these options are incompatible. I was not sure so i run some tests. Here are the results:

/MP /Yc Time
yes yes 45830 ms
no yes 68709 ms
yes no 61363 ms
no no 119763 ms

Surprisely, they work together in VS2015 just fine. I will enable them for other projects. Did not get any warnings.

@MAPJe71
Copy link
Copy Markdown
Contributor

MAPJe71 commented Oct 30, 2016

@evpobr & @chcg
Wasn't aware that xmlApiSorter and xmlUpdater are still ANSI. This make me wonder if they are still used.

@donho
Are these console tools still in use?
When no longer in use: wouldn't it be better to remove them from the repository?
When still in use: should they be converted to Unicode tools?

@chcg
Copy link
Copy Markdown
Contributor

chcg commented Nov 1, 2016

@evpobr evpobr closed this May 11, 2017
chcg added a commit to chcg/notepad-plus-plus that referenced this pull request Apr 3, 2025
Release 5.5.6 (https://www.scintilla.org/scintilla556.zip)

    Released 2 April 2025.
    Disallow changing case of protected text. Bug notepad-plus-plus#2463.
    Return enumeration type from MarkerSymbolDefined to match MarkerDefine. Bug notepad-plus-plus#2469.
    On Win32, use DirectWrite for autocompletion lists when DirectWrite chosen for document text.
    On Win32, optimize case-insensitive DBCS search to be around 5 times faster by using 64K memory to cache folding data for each DBCS code page used.
    On Win32, fix a crash with bidirectional text.
    When using Visual C++ through nmake, fix building for ARM64. Feature notepad-plus-plus#1546.
    On Qt, draw clipped UTF-8 text correctly. Bug notepad-plus-plus#2464.
    On Qt, avoid a dwell start when the mouse is moved outside the Scintilla widget. Bug notepad-plus-plus#2466.
    On Qt, autoCompleteSelection converts from local encoding when not in Unicode mode. Bug notepad-plus-plus#2465.

Release 5.4.4 (https://www.scintilla.org/lexilla544.zip)

    Released 2 April 2025.
    Fix building for ARM64. Pull request notepad-plus-plus#308.
donho pushed a commit that referenced this pull request Apr 8, 2025
Release 5.5.6 (https://www.scintilla.org/scintilla556.zip)

    Released 2 April 2025.
*   Disallow changing case of protected text. Bug #2463.
*   Return enumeration type from MarkerSymbolDefined to match MarkerDefine. Bug #2469.
*   On Win32, use DirectWrite for autocompletion lists when DirectWrite chosen for document text.
*   On Win32, optimize case-insensitive DBCS search to be around 5 times faster by using 64K memory to cache folding data for each DBCS code page used.
*   On Win32, fix a crash with bidirectional text.
*   When using Visual C++ through nmake, fix building for ARM64. Feature #1546.
*   On Qt, draw clipped UTF-8 text correctly. Bug #2464.
*   On Qt, avoid a dwell start when the mouse is moved outside the Scintilla widget. Bug #2466.
*   On Qt, autoCompleteSelection converts from local encoding when not in Unicode mode. Bug #2465.

Release 5.4.4 (https://www.scintilla.org/lexilla544.zip)

    Released 2 April 2025.
*   Fix building for ARM64. Pull request #308.

Close #16373
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants