Tony Trinh wrote:
When I query the list of RADIUS fields from tshark, I see a different
number of results as shown below.
*in-source CMake build (tshark run from top-level source directory):*
$ ./tshark -G fields | grep 'radius\.' | wc -l
89
$ WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 ./tshark -G fields | grep
'radius\.' | wc -l
8613
*out-of-source CMake build (tshark run from build directory):*
$ ./tshark -G fields | grep 'radius\.' | wc -l
8613
*autotools build (tshark run from top-level source directory):*
$ ./tshark -G fields | grep 'radius\.' | wc -l
8613
Why is the environment variable WIRESHARK_RUN_FROM_BUILD_DIRECTORY
necessary for the in-source CMake build but not in any other case?
There's code in epan/filesystem.c that is able to detect (based on the
presence of the .libs directory) that we're being run from an
autotools-based build directory (thus making the environment variable
not necessary). No such code (yet) exists for cmake. Or Windows, for
that matter...