From b50d2a9a293ff74c6b74de72a544db1d8bbcd418 Mon Sep 17 00:00:00 2001 From: Don Ho Date: Tue, 14 Oct 2014 22:29:23 +0000 Subject: [PATCH] [NEW] Add VS 2013 support. git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1278 f5eea248-9336-0410-98b8-ebc06183d4e3 --- PowerEditor/src/Notepad_plus.cpp | 10 +- PowerEditor/src/Parameters.cpp | 2 + PowerEditor/src/langs.model.xml | 2 +- PowerEditor/visual.net/notepadPlus.vcxproj | 546 ++++++++++++++++++ ...dPlus.vcproj => notepadPlus.vs2005.vcproj} | 0 readmeFirst.txt | 8 +- scintilla/boostregex/BuildBoost.bat | 2 + 7 files changed, 560 insertions(+), 10 deletions(-) create mode 100644 PowerEditor/visual.net/notepadPlus.vcxproj rename PowerEditor/visual.net/{notepadPlus.vcproj => notepadPlus.vs2005.vcproj} (100%) diff --git a/PowerEditor/src/Notepad_plus.cpp b/PowerEditor/src/Notepad_plus.cpp index c590ff68e..9d5ec2664 100644 --- a/PowerEditor/src/Notepad_plus.cpp +++ b/PowerEditor/src/Notepad_plus.cpp @@ -5293,7 +5293,7 @@ struct Quote{ const char *_quote; }; -const int nbQuote = 197; +const int nbQuote = 201; Quote quotes[nbQuote] = { {"Notepad++", "Good programmers use Notepad++ to code.\nExtreme programmers use MS Word to code, in Comic Sans, center aligned."}, {"Martin Golding", "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."}, @@ -5350,12 +5350,11 @@ Quote quotes[nbQuote] = { {"Anonymous #21", "I love my sixpack so much, I protect it with a layer of fat."}, {"Anonymous #22", "\"It's impossible.\" said pride.\n\"It's risky.\" said experience.\n\"It's pointless.\" said reason.\n\"Give it a try.\" whispered the heart.\n...\n\"What the hell was that?!?!?!?!?!\" shouted the anus two minutes later."}, {"Anonymous #23", "Everybody talks about leaving a better planet for the children.\nWhy nobody tries to leave better children to the planet?"}, -//{"Anonymous #24", ""}, +{"Anonymous #24", "An Architect's dream is an Engineer's nightmare."}, {"Anonymous #25", "In a way, I feel sorry for the kids of this generation.\nThey'll have parents who know how to check browser history."}, {"Anonymous #26", "I would never bungee jump.\nI came into this world because of a broken rubber, and I'm not going out cause of one."}, -//{"Anonymous #27", ""}, +{"Anonymous #27", "I don't have a problem with caffeine.\nI have a problem without caffeine."}, {"Anonymous #28", "Why 6 afraid of 7?\nBecause 7 8 9 (seven ate nine) while 6 and 9 were flirting."}, -//{"Anonymous #29", ""}, {"Anonymous #30", "Why do Java developers wear glasses?\nBecause they don't C#."}, {"Anonymous #31", "A baby's laughter is one of the most beautiful sounds you will ever hear. Unless it's 3 AM. And you're home alone. And you don't have a baby."}, {"Anonymous #32", "Two bytes meet. The first byte asks, \"You look terrible. Are you OK?\"\nThe second byte replies, \"No, just feeling a bit off.\""}, @@ -5407,7 +5406,7 @@ Quote quotes[nbQuote] = { {"Anonymous #79", "I'm a creationist.\nI believe man create God."}, {"Anonymous #80", "Let's eat kids.\nLet's eat, kids.\n\nUse a comma.\nSave lives."}, {"Anonymous #81", "A male engineering student was crossing a road one day when a frog called out to him and said, \"If you kiss me, I'll turn into a beautiful princess.\" He bent over, picked up the frog, and put it in his pocket.\n\nThe frog spoke up again and said, \"If you kiss me and turn me back into a beautiful princess, I will stay with you for one week.\" The engineering student took the frog out of his pocket, smiled at it; and returned it to his pocket.\n\nThe frog then cried out, \"If you kiss me and turn me back into a princess, I'll stay with you and do ANYTHING you want.\" Again the boy took the frog out, smiled at it, and put it back into his pocket.\n\nFinally, the frog asked, \"What is the matter? I've told you I'm a beautiful princess, that I'll stay with you for a week and do anything you want. Why won't you kiss me?\" The boy said, \"Look I'm an engineer. I don't have time for a girlfriend, but a talking frog is cool.\"\n"}, -//{"Anonymous #82", ""}, +{"Anonymous #82", "Programmers never die.\nThey just go offline."}, {"Anonymous #83", "Copy from one, it's plagiarism.\nCopy from two, it's research."}, //{"Anonymous #84", ""}, {"Anonymous #85", "Race, religion, ethnic pride and nationalism etc... does nothing but teach you how to hate people that you've never met."}, @@ -5501,6 +5500,7 @@ Quote quotes[nbQuote] = { {"Friedrich Nietzsche", "There is not enough love and goodness in the world to permit giving any of it away to imaginary beings."}, {"Dhalsim", "Pain is a state of mind and I don't mind your pain."}, {"Elie Wiesel", "Human beings can be beautiful or more beautiful,\nthey can be fat or skinny, they can be right or wrong,\nbut illegal? How can a human being be illegal?"}, +{"Dennis Ritchie", "Empty your memory, with a free(), like a pointer.\nIf you cast a pointer to a integer, it becomes the integer.\nIf you cast a pointer to a struct, it becomes the struct.\nThe pointer can crash, and can overflow.\nBe a pointer my friend."}, {"Chewbacca", "Uuuuuuuuuur Ahhhhrrrrrr\nUhrrrr Ahhhhrrrrrr\nAaaarhg..."} }; diff --git a/PowerEditor/src/Parameters.cpp b/PowerEditor/src/Parameters.cpp index 9a6bffb64..33f73324b 100644 --- a/PowerEditor/src/Parameters.cpp +++ b/PowerEditor/src/Parameters.cpp @@ -545,6 +545,8 @@ generic_string ThemeSwitcher::getThemeFromXmlFileName(const TCHAR *xmlFullPath) typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO); +#pragma warning(disable : 4996) + winVer getWindowsVersion() { OSVERSIONINFOEX osvi; diff --git a/PowerEditor/src/langs.model.xml b/PowerEditor/src/langs.model.xml index 73d70d40a..163c39cc0 100644 --- a/PowerEditor/src/langs.model.xml +++ b/PowerEditor/src/langs.model.xml @@ -94,7 +94,7 @@ as case class data default deriving do else hiding if import in infix infixl infixr instance let module newtype of proc qualified rec then type where _ - !doctype a abbr accept accept-charset accesskey acronym action address align alink alt applet archive area article aside audio axis b background base basefont bdo bgcolor big blockquote body border br button canvas caption cellpadding cellspacing center char charoff charset checkbox checked cite class classid clear code codebase codetype col colgroup color cols colspan command compact content contenteditable contextmenu coords data datafld dataformatas datalist datapagesize datasrc datetime dd declare defer del details dfn dir disabled div dl draggable dropzone dt em embed enctype event face fieldset figcaption figure file font footer for form frame frameborder frameset h1 h2 h3 h4 h5 h6 head header height hgroup hidden hr href hreflang hspace html http-equiv i id iframe image img input ins isindex ismap kbd keygen label lang language leftmargin legend li link longdesc map marginheight marginwidth mark marquee maxlength media menu meta meter method multiple name nav noframes nohref noresize noscript noshade nowrap object ol onabort onafterprint onbeforeonload onbeforeprint onblur oncanplay oncanplaythrough onchange onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange ondurationchange onemptied onended onerror onfocus onformchange onforminput onhaschange oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onmessage onmousedown onmousemove onmouseout onmouseover onmouseup onmousewheel onoffline ononline onpagehide onpageshow onpause onplay onplaying onpopstate onprogress onratechange onreadystatechange onredo onreset onresize onscroll onseeked onseeking onselect onselect onstalled onstorage onsubmit onsubmit onsuspend ontimeupdate onundo onunload onunload onvolumechange onwaiting optgroup option output p param password placeholder pre profile progress prompt public q radio readonly rel reset rev rows rowspan rp rt ruby rules s samp scheme scope script section select selected shape size small source span spellcheck src standby start strike strong style sub submit summary sup tabindex table target tbody td text textarea tfoot th thead time title topmargin tr tt type u ul usemap valign value valuetype var version video vlink vspace wbr width xml xmlns + !doctype a abbr accept accept-charset accesskey acronym action address align alink alt applet archive area article aside audio axis b background base basefont bdo bgcolor big blockquote body border br button canvas caption cellpadding cellspacing center char charoff charset checkbox checked cite class classid clear code codebase codetype col colgroup color cols colspan command compact content contenteditable contextmenu coords data datafld dataformatas datalist datapagesize datasrc datetime dd declare defer del details dfn dir disabled div dl draggable dropzone dt em embed enctype event face fieldset figcaption figure file font footer for form frame frameborder frameset h1 h2 h3 h4 h5 h6 head header height hgroup hidden hr href hreflang hspace html http-equiv i id iframe image img input ins isindex ismap kbd keygen label lang language leftmargin legend li link longdesc main map marginheight marginwidth mark marquee maxlength media menu meta meter method multiple name nav noframes nohref noresize noscript noshade nowrap object ol onabort onafterprint onbeforeonload onbeforeprint onblur oncanplay oncanplaythrough onchange onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange ondurationchange onemptied onended onerror onfocus onformchange onforminput onhaschange oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onmessage onmousedown onmousemove onmouseout onmouseover onmouseup onmousewheel onoffline ononline onpagehide onpageshow onpause onplay onplaying onpopstate onprogress onratechange onreadystatechange onredo onreset onresize onscroll onseeked onseeking onselect onselect onstalled onstorage onsubmit onsubmit onsuspend ontimeupdate onundo onunload onunload onvolumechange onwaiting optgroup option output p param password placeholder pre profile progress prompt public q radio readonly rel reset rev rows rowspan rp rt ruby rules s samp scheme scope script section select selected shape size small source span spellcheck src standby start strike strong style sub submit summary sup tabindex table target tbody td text textarea tfoot th thead time title topmargin tr tt type u ul usemap valign value valuetype var version video vlink vspace wbr width xml xmlns diff --git a/PowerEditor/visual.net/notepadPlus.vcxproj b/PowerEditor/visual.net/notepadPlus.vcxproj new file mode 100644 index 000000000..63fc48e9e --- /dev/null +++ b/PowerEditor/visual.net/notepadPlus.vcxproj @@ -0,0 +1,546 @@ + + + + + Unicode Debug + Win32 + + + Unicode Release + Win32 + + + + Notepad++ + {FCF60E65-1B78-4D1D-AB59-4FC00AC8C248} + Notepad++ + Win32Proj + + + + Application + v120_xp + Unicode + true + + + Application + v120_xp + Unicode + + + + + + + + + + + + + + + <_ProjectFileVersion>12.0.21005.1 + + + $(Configuration)\ + $(Configuration)\ + false + + + ..\bin\ + $(Configuration)\ + false + + + + Disabled + Neither + ..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel;..\src\WinControls\ClipboardHistory;..\src\WinControls\FindCharsInRange;..\src\WinControls\VerticalFileSwitcher;..\src\WinControls\ProjectPanel;..\src\WinControls\DocumentMap;..\src\WinControls\FunctionList;..\src\uchardet;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) + true + Async + Default + MultiThreadedDebug + Create + precompiledHeaders.h + $(IntDir)$(TargetName).pch + Level4 + true + ProgramDatabase + + + /fixed:no %(AdditionalOptions) + comctl32.lib;shlwapi.lib;shell32.lib;Oleacc.lib;%(AdditionalDependencies) + LinkVerboseLib + $(OutDir)notepadPlus_Debug.exe + 1.0 + /TLBID + 5 + true + $(OutDir)notepadPlus.pdb + Windows + MachineX86 + + + ..\src\dpiAware.manifest;%(AdditionalManifestFiles) + + + + + + + + Full + Default + Speed + false + false + ..\src\WinControls\AboutDlg;..\..\scintilla\include;..\include;..\src\WinControls;..\src\WinControls\ImageListSet;..\src\WinControls\OpenSaveFileDialog;..\src\WinControls\SplitterContainer;..\src\WinControls\StaticDialog;..\src\WinControls\TabBar;..\src\WinControls\ToolBar;..\src\MISC\Process;..\src\ScitillaComponent;..\src\MISC;..\src\MISC\SysMsg;..\src\WinControls\StatusBar;..\src;..\src\WinControls\StaticDialog\RunDlg;..\src\tinyxml;..\src\WinControls\ColourPicker;..\src\Win32Explr;..\src\MISC\RegExt;..\src\WinControls\TrayIcon;..\src\WinControls\shortcut;..\src\WinControls\Grid;..\src\WinControls\ContextMenu;..\src\MISC\PluginsManager;..\src\WinControls\Preference;..\src\WinControls\WindowsDlg;..\src\WinControls\TaskList;..\src\WinControls\DockingWnd;..\src\WinControls\ToolTip;..\src\MISC\Exception;..\src\MISC\Common;..\src\tinyxml\tinyXmlA;..\src\WinControls\AnsiCharPanel;..\src\WinControls\ClipboardHistory;..\src\WinControls\FindCharsInRange;..\src\WinControls\VerticalFileSwitcher;..\src\WinControls\ProjectPanel;..\src\WinControls\DocumentMap;..\src\WinControls\FunctionList;..\src\uchardet;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USE_64BIT_TIME_T;TIXML_USE_STL;TIXMLA_USE_STL;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_CRT_NON_CONFORMING_SWPRINTFS=1;%(PreprocessorDefinitions) + false + false + true + Async + MultiThreaded + true + Create + precompiledHeaders.h + Level4 + true + ProgramDatabase + + + comctl32.lib;shlwapi.lib;shell32.lib;Oleacc.lib;%(AdditionalDependencies) + LinkVerboseLib + $(OutDir)notepad++.exe + 1.0 + + 1 + true + $(OutDir)npp.pdb + Windows + true + true + UseLinkTimeCodeGeneration + MachineX86 + + + ..\src\dpiAware.manifest;%(AdditionalManifestFiles) + + + copy ..\src\config.model.xml ..\bin\config.model.xml +copy ..\src\langs.model.xml ..\bin\langs.model.xml +copy ..\src\stylers.model.xml ..\bin\stylers.model.xml +copy ..\src\shortcuts.xml ..\bin\shortcuts.xml +copy ..\src\functionList.xml ..\bin\functionList.xml +copy ..\src\contextMenu.xml ..\bin\contextMenu.xml +..\misc\vistaIconTool\changeIcon.bat "..\misc\vistaIconTool\ChangeIcon.exe" "$(OutDir)notepad++.exe" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TurnOffAllWarnings + + + TurnOffAllWarnings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/PowerEditor/visual.net/notepadPlus.vcproj b/PowerEditor/visual.net/notepadPlus.vs2005.vcproj similarity index 100% rename from PowerEditor/visual.net/notepadPlus.vcproj rename to PowerEditor/visual.net/notepadPlus.vs2005.vcproj diff --git a/readmeFirst.txt b/readmeFirst.txt index 88a061dc1..559b912dc 100644 --- a/readmeFirst.txt +++ b/readmeFirst.txt @@ -8,8 +8,8 @@ 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 2005 -* SciLexer.dll: Visual Studio 2005 (with nmake) +* notepad++.exe: Visual Studio 2013 +* SciLexer.dll: Visual Studio 2013 (with nmake) notepad++.exe: Double click on Notepad++\trunk\PowerEditor\visual.net\notepadPlus.vcproj to launch Notepad++ project in Visual Studio, then build it with the mode you want, that's it. @@ -18,9 +18,9 @@ SciLexer.dll: From version 6.0, SciLexer.dll comes with release contains boost's PCRE (Perl Compatible Regular Expressions) feature. Therefore Boost (http://www.boost.org/) is needed to compile Scintilla in order to have PCRE support. Here are the instructions to build SciLexer.dll for Notepad++: -1. Download source code of Boost from Boost site (http://www.boost.org/), unzip it. In my case, "boost_1_49_0" is copied in "C:\sources\" +1. Download source code of Boost from Boost site (http://www.boost.org/). v1.55 should be used with VS 2013. Then unzip it. In my case, "boost_1_55_0" is copied in "C:\sources\" 2. go to Notepad++\trunk\scintilla\boostregex\ then run BuildBoost.bat with your boost path. In my case: - BuildBoost.bat C:\sources\boost_1_49_0 + BuildBoost.bat C:\sources\boost_1_55_0 3. go in Notepad++\trunk\scintilla\win32\ then run "nmake -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. diff --git a/scintilla/boostregex/BuildBoost.bat b/scintilla/boostregex/BuildBoost.bat index 75d62afa7..116a1a988 100644 --- a/scintilla/boostregex/BuildBoost.bat +++ b/scintilla/boostregex/BuildBoost.bat @@ -232,6 +232,8 @@ ECHO Use: ECHO --toolset msvc-8.0 for Visual studio 2005 ECHO --toolset msvc-9.0 for Visual Studio 2008 ECHO --toolset msvc-10.0 for Visual Studio 2010 +ECHO --toolset msvc-11.0 for Visual Studio 2012 +ECHO --toolset msvc-12.0 for Visual Studio 2013 ECHO. ECHO. ECHO e.g. To build with boost in d:\libs\boost_1_48_0 with Visual Studio 2008