From f9e4de4e0cca8f13b403ee09079b818e51d66c00 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Wed, 15 Nov 2017 21:58:08 +0000 Subject: Removing HTML help feature (for now just defanged) Adding "/nodefaultlib:libcmt" to debug configurations of WDS because of the luajit2 static lib Fixed the /debug:fastlink issue with VS2017 --- 3rdparty/lua/premake4.lua | 2 +- premake4.lua | 23 ++++++++++++++++++++--- windirstat/Controls/ownerdrawnlistcontrol.cpp | 2 +- windirstat/Controls/sortinglistcontrol.cpp | 4 ++-- windirstat/windirstat.cpp | 18 +++++------------- windirstat/windirstat.vs15.vcxproj | 24 ++++++++++++++---------- windirstat/windirstat.vs8.vcproj | 12 ++++++------ 7 files changed, 49 insertions(+), 36 deletions(-) diff --git a/3rdparty/lua/premake4.lua b/3rdparty/lua/premake4.lua index 3d720a8..82e4390 100644 --- a/3rdparty/lua/premake4.lua +++ b/3rdparty/lua/premake4.lua @@ -197,7 +197,7 @@ function create_luajit_projects(basedir) libdirs {"$(IntDir)"} defines {"NDEBUG", "_CRT_SECURE_NO_DEPRECATE"} links {pfx.."luajit2"} - linkoptions {"/pdbaltpath:%_PDB%"} + linkoptions {"/pdbaltpath:%_PDB%", "/nodefaultlib"} vpaths {["Header Files/*"] = { bd.."src/*.h" }, ["Source Files/*"] = { bd.."src/*.c" },} files {bd.."src/luajit.c",} configuration {"Release", "x32"} diff --git a/premake4.lua b/premake4.lua index 36052e4..c3e295b 100644 --- a/premake4.lua +++ b/premake4.lua @@ -69,7 +69,7 @@ do filterfound = true _p(1,'') end - + path = path .. folders[i] -- have I seen this path before? @@ -131,6 +131,23 @@ do end return orig_config_isincrementallink(cfg) end + -- We need full debug info for VS2017 + if action == "vs2017" then + local orig_vc2010_link = premake.vstudio.vc2010.link + premake.vstudio.vc2010.link = function(cfg) + if cfg.flags.Symbols ~= nil and cfg.flags.Symbols then + io.capture() + orig_vc2010_link(cfg) + local captured = io.endcapture() + local indent = io.indent .. io.indent .. io.indent + assert(io.indent ~= nil, "io.indent must not be nil at this point!") + captured = captured:gsub("()", "%1\n" .. string.format("%s%s", indent, tostring(cfg.flags.Symbols ~= nil))) + io.write(captured) + else + orig_vc2010_link(cfg) + end + end + end -- We want to output the file with UTF-8 BOM local orig_vc2010_header = premake.vstudio.vc2010.header premake.vstudio.vc2010.header = function(targets) @@ -276,8 +293,7 @@ solution (iif(release, slnname, "windirstat")) targetdir (iif(release, slnname, "build")) includedirs {".", "windirstat", "common", "windirstat/Controls", "windirstat/Dialogs", "3rdparty/lua/src"} objdir (int_dir) - -- libdirs {"$(IntDir)"} FIXME! - links {"htmlhelp", "psapi", "delayimp", pfx.."luajit2"} + links {"psapi", "delayimp", pfx.."luajit2"} resoptions {"/nologo", "/l409"} resincludedirs {".", "$(IntDir)"} linkoptions {"/delayload:psapi.dll", "/pdbaltpath:%_PDB%"} @@ -350,6 +366,7 @@ solution (iif(release, slnname, "windirstat")) configuration {"Debug"} defines {"_DEBUG", "VTRACE_TO_CONSOLE=1", "VTRACE_DETAIL=2"} flags {"Symbols"} + linkoptions {"/nodefaultlib:libcmt"} configuration {"Release"} defines ("NDEBUG") diff --git a/windirstat/Controls/ownerdrawnlistcontrol.cpp b/windirstat/Controls/ownerdrawnlistcontrol.cpp index 860a30a..275ce86 100644 --- a/windirstat/Controls/ownerdrawnlistcontrol.cpp +++ b/windirstat/Controls/ownerdrawnlistcontrol.cpp @@ -645,7 +645,7 @@ BOOL COwnerDrawnListControl::OnEraseBkgnd(CDC* pDC) CArray columnOrder; columnOrder.SetSize(GetHeaderCtrl()->GetItemCount()); - GetColumnOrderArray(columnOrder.GetData(), columnOrder.GetSize()); + GetColumnOrderArray(columnOrder.GetData(), static_cast(columnOrder.GetSize())); CArray vertical; vertical.SetSize(GetHeaderCtrl()->GetItemCount()); diff --git a/windirstat/Controls/sortinglistcontrol.cpp b/windirstat/Controls/sortinglistcontrol.cpp index a57a0af..bc958e6 100644 --- a/windirstat/Controls/sortinglistcontrol.cpp +++ b/windirstat/Controls/sortinglistcontrol.cpp @@ -99,7 +99,7 @@ void CSortingListControl::LoadPersistentAttributes() CArray arr; arr.SetSize(GetHeaderCtrl()->GetItemCount()); - GetColumnOrderArray(arr.GetData(), arr.GetSize()); + GetColumnOrderArray(arr.GetData(), static_cast(arr.GetSize())); CPersistence::GetColumnOrder(m_name, arr); SetColumnOrderArray(int(arr.GetSize()), arr.GetData()); @@ -127,7 +127,7 @@ void CSortingListControl::SavePersistentAttributes() CArray arr; arr.SetSize(GetHeaderCtrl()->GetItemCount()); - GetColumnOrderArray(arr.GetData(), arr.GetSize()); + GetColumnOrderArray(arr.GetData(), static_cast(arr.GetSize())); CPersistence::SetColumnOrder(m_name, arr); for(int i = 0; i < arr.GetSize(); i++) diff --git a/windirstat/windirstat.cpp b/windirstat/windirstat.cpp index 30f3e04..d28bd5b 100644 --- a/windirstat/windirstat.cpp +++ b/windirstat/windirstat.cpp @@ -765,22 +765,14 @@ BOOL CDirstatApp::OnIdle(LONG lCount) void CDirstatApp::OnHelpManual() { + // FIXME: open browser, point to Wiki (via windirstat.net short link), based on current language DoContextHelp(IDH_StartPage); } -void CDirstatApp::DoContextHelp(DWORD topic) +void CDirstatApp::DoContextHelp(DWORD) { - if(::PathFileExists(m_pszHelpFilePath)) - { - // I want a NULL parent window. So I don't use CWinApp::HtmlHelp(). - ::HtmlHelp(NULL, m_pszHelpFilePath, HH_HELP_CONTEXT, topic); - } - else - { - CString msg; - msg.FormatMessage(IDS_HELPFILEsCOULDNOTBEFOUND, _T("windirstat.chm")); - // TODO: Add the option to download the "current language" help file ... - AfxMessageBox(msg); - } + CString msg; + msg.FormatMessage(IDS_HELPFILEsCOULDNOTBEFOUND, _T("windirstat.chm")); + AfxMessageBox(msg); } diff --git a/windirstat/windirstat.vs15.vcxproj b/windirstat/windirstat.vs15.vcxproj index 907d7a3..e6ab953 100644 --- a/windirstat/windirstat.vs15.vcxproj +++ b/windirstat/windirstat.vs15.vcxproj @@ -119,11 +119,12 @@ Windows - true - htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + true + true + psapi.lib;delayimp.lib;%(AdditionalDependencies) $(OutDir)wds32D.exe MachineX86 - /delayload:psapi.dll /pdbaltpath:%_PDB% %(AdditionalOptions) + /delayload:psapi.dll /pdbaltpath:%_PDB% /nodefaultlib:libcmt %(AdditionalOptions) if not exist "$(SolutionDir)common\hgid.h" call "$(SolutionDir)\common\hgid.cmd" @@ -152,11 +153,12 @@ Windows - true - htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + true + true + psapi.lib;delayimp.lib;%(AdditionalDependencies) $(OutDir)wds64D.exe MachineX64 - /delayload:psapi.dll /pdbaltpath:%_PDB% %(AdditionalOptions) + /delayload:psapi.dll /pdbaltpath:%_PDB% /nodefaultlib:libcmt %(AdditionalOptions) if not exist "$(SolutionDir)common\hgid.h" call "$(SolutionDir)\common\hgid.cmd" @@ -185,10 +187,11 @@ Windows - true + true + true true true - htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + psapi.lib;delayimp.lib;%(AdditionalDependencies) $(OutDir)wds32.exe MachineX86 /delayload:psapi.dll /pdbaltpath:%_PDB% /release %(AdditionalOptions) @@ -220,10 +223,11 @@ Windows - true + true + true true true - htmlhelp.lib;psapi.lib;delayimp.lib;%(AdditionalDependencies) + psapi.lib;delayimp.lib;%(AdditionalDependencies) $(OutDir)wds64.exe MachineX64 /delayload:psapi.dll /pdbaltpath:%_PDB% /release %(AdditionalOptions) diff --git a/windirstat/windirstat.vs8.vcproj b/windirstat/windirstat.vs8.vcproj index 60ce4fc..8710f6b 100644 --- a/windirstat/windirstat.vs8.vcproj +++ b/windirstat/windirstat.vs8.vcproj @@ -72,8 +72,8 @@ />