Wireshark mailing list archives

Re: Status Cmake Win32 support


From: Graham Bloice <graham.bloice () trihedral com>
Date: Sun, 13 Oct 2013 09:46:52 +0100

On 12 October 2013 23:38, Joerg Mayer <jmayer () loplof de> wrote:

On Sat, Oct 12, 2013 at 07:31:27PM +0100, Graham Bloice wrote:
On 11 October 2013 16:09, Joerg Mayer <jmayer () loplof de> wrote:


Another milestone hit:

- Win 32bit: The following executables build and run from the build
directory
  (as well as capture if they should be able to). *: Acutally tested
  $ ls *exe
  capinfos.exe* dumpcap.exe  mergecap.exe  randpkt.exe   reordercap.exe
 tshark.exe*
  dftest.exe    editcap.exe  qtshark.exe*  rawshark.exe  text2pcap.exe
wireshark.exe*



Using CMake to generate a MSVC2010 solution, I can't get near that number
of successful executables.  I have used the CMake generated solution with
command line build (msbuild Wireshark.sln) and from within VS.

I can look into this but probably not within the next two weeks as I'm
currently
trying to get this to "featurecompleteness" first and because I don't know
that
process (msbuild) at all. OK, I don't expect to reach that within two
weeks, but
I hope to have the most important items covered by then.


From a Visual Studio command prompt (probably the same one you use for
nmake)  cause CMake to generate the appropriate output (not passing -G does
that for me) then type `msbuild Wireshark.sln`.

It's make on steroids, but also works with Visual Studio solutions.  A
Visual Studio solution (for 2010 onwards) is a set of xml files.  The .sln
file lists all the projects aka targets, and each project file has all the
instructions to build that project.



 I do have
modified CMake files in an attempt to group the "projects" in Visual
Studio
into some sort of logical tree rather than the large flat list.  I don't
believe these changes affect the CMake output to actually build things.
I've also enabled the use of make-tap-reg.py for creating the tap
register
functions which seems to work.

Sounds good to me. UseMakeDissectorReg.cmake only implements the python
version,
no idea why I implemented the shell version in UseMakeTapReg.cmake.


I'll try these changes out on a Linux CMake build to make sure they don't
break anything and then commit them.  Should I set UseMakeTapReg to use
Python in all platforms or just Windows?



Problems I have seen \ am stuck with:

Again vs specific or with nmake as well?


All VS2010 solution.


   - epan generated files always get rebuilt, e.g. diam_dict.c and the
like
   - epan won't create register.c, make-dissector-reg.py complains about
a
   missing file, from the output the filename looks odd, I suspect I'm
hitting
   some command line limit:

1>  Generating register.c
1>  Registering 1151 files, 0 cached
1>  Traceback (most recent call last):
1>    File "E:/Wireshark/trunk/tools/make-dissector-reg.py", line 126, in
<module>
1>      file = open(filename)
1>  IOError: [Errno 2] No such file or directory:
'E:/Wireshark/trunk/epan\\dissectos/packet-dua.c'
1>C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):
error
MSB6006: "cmd.exe" exited with code 1.

That's again interesting. It works for me using cmd (on Win7). I'm not so
sure
about the source of the problem. What do you get when you
dir E:/Wireshark/trunk/epan\\dissectos/packet-dua.c
Ah, forget it: Where does the spelling dissectos come from?


I know, it's really odd.  The command in the solution is built correctly.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: