Wireshark-dev: Re: [Wireshark-dev] Status Cmake Win32 support
From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Fri, 29 Nov 2013 18:13:26 +0000
On 29 November 2013 17:56, Joerg Mayer <jmayer@xxxxxxxxx> wrote:
On Sun, Nov 24, 2013 at 07:45:07PM +0000, Graham Bloice wrote:
> I've now got tshark to build from a VS solution file, had to do some hacks
> to get there though, patch files attached for others to peruse, as I'm not
> sure if they are the optimal solutions:
>    3. As mentioned in my previous message, the VS solution chops out every
>    8192nd byte from the command line passed to make-dissector-reg.py.  My
>    patch (make-reg.patch) gets CMake to write out the required source file
>    list to a file and modifies the python script to read in the file.  The
>    python changes *should* be backwards compatible.

The compile on my openSUSE 13.1 system fails (and I can confirm that this gets
me further with msbuild builds :-)

make[2]: Entering directory `/home/jmayer/work/wireshark/svn/build/qt-gtk3'
/usr/bin/cmake -E cmake_progress_report /home/jmayer/work/wireshark/svn/build/qt-gtk3/CMakeFiles
[ 94%] Generating plugin.c
cd /home/jmayer/work/wireshark/svn/build/qt-gtk3/plugins/asn1 && /usr/bin/python2 /home/jmayer/work/wireshark/svn/trunk/tools/make-dissector-reg.py /home/jmayer/work/wireshark/svn/trunk/plugins/asn1
Traceback (most recent call last):
  File "/home/jmayer/work/wireshark/svn/trunk/tools/make-dissector-reg.py", line 34, in <module>
    registertype = sys.argv[2]
IndexError: list index out of range
make[2]: *** [plugins/asn1/plugin.c] Error 1
make[2]: Leaving directory `/home/jmayer/work/wireshark/svn/build/qt-gtk3'


I think that error means that there were insufficient parameters passed in to the script. The intent was that non-win32 systems would still pass in the parameters on the command line.

Can you try it again, but with the changes to make-register-dissector.py reverted to see if the problem is on the python or CMake side?  I'm fairly positive that I ran an nmake build last night that would still have used make-register-dissector.py in the previous mode, if so that points the finger at the CMake side.