Wireshark-dev: Re: [Wireshark-dev] Building with CMake on Win10 and VS2013 (win64)

From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Wed, 30 Mar 2016 14:57:46 +0100


On 30 March 2016 at 14:39, João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx> wrote:


On 30-03-2016 14:25, João Valverde wrote:


On 30-03-2016 14:20, João Valverde wrote:


On 30-03-2016 08:48, Graham Bloice wrote:


On 30 March 2016 at 03:10, João Valverde
<joao.valverde@xxxxxxxxxxxxxxxxxx
<mailto:joao.valverde@xxxxxxxxxxxxxxxxxx>> wrote:



    On 29-03-2016 21:46, Roland Knall wrote:

        Sorry, late over here. You could try with cmake 3.5rc2. But
        beside that,
        I did not get WS compile correctly with VS2013 for some time
        now, need
        to use VS2015 myself.



    Just another data point, I tried building on Windows 10 x64 with
    VS2015 and the latest of everything I could find (cmake, etc), just
    following along the dev guide, it worked really well, no problems at
    all.


                     mailto:wireshark-dev-request@xxxxxxxxxxxxx
        <mailto:wireshark-dev-request@xxxxxxxxxxxxx>?subject=unsubscribe


I'm a little surprised that VS2015 worked straight away, have you built
an installer and tested that?  I thought there might be issues with the
split C runtime library in VS2015.

I still build with VS2013 on Win 7 (in a VirtualBox VM).  I'll likely be
switching to a Win 10 build VM soon.

I hadn't tried building the NSIS installer, but now that I looked into
it, I'm stumped because I don't have any nsis*.vcxproj files in my build
dir.

Nevermind, it dawned on me that I needed to re-run cmake to detect the
fresh NSIS installation. :)


No problems building the installer with NSIS 3.0b3.


OK, now install on a non Windows 10 machine that doesn't have the VC2015 redist already installed.

My minor criticism/suggestion for the whole process is that it would be better to have a separate build step for the documentation instead of having to pass -DENABLE_CHM_GUIDES=on to cmake and doing everything in a single run (as I understood it).


I think CMake could be adjusted to make the main solution not depend on the docs, then the docs would have to be built separately.
 
Also this bit in the dev guide seems a bit redundant (and the "Note" is not using asciidoc markup?):

--- begin quote ---

Note: If you do not yet have a copy of vcredist_x86.exe or vcredist_x64.exe in ./wireshark-winXX-libs (where XX is 32 or 64) you will need to download the appropriate file and place it in ./wireshark-winXX-libs before starting this step.

If building an x86 version using a Visual Studio "Express" edition or an x64 version with any edition, then you must have the appropriate vcredist file for your compiler in the support libraries directory (vcredist_x86.exe in wireshark-32-libs or vcredist_x64.exe in wireshark-win64-libs).



You omitted the following parapgraph:

The files can be located in the Visual Studio install directory for non-Express edition builds, or downloaded from Microsoft for Expresss edition builds.

That is a leftover part from the express editions, i.e. pre VS2013 which didn't include the redist installers.  In my VS2013CE installation I have all the redist files.

I think it can be reworked to be a bit clearer.

TBH I'd actually like to get rid of anything pre VS2013 from the dev guide.

--
Graham Bloice