Wireshark mailing list archives
Re: Building on Windows with CMake: Status and help needed
From: Graham Bloice <graham.bloice () trihedral com>
Date: Tue, 8 Oct 2013 08:31:46 +0100
On 8 October 2013 00:22, Joerg Mayer <jmayer () loplof de> wrote:
This is undoubtedly about the fact that Makefile.nmake copies lots of DLLs and etc to a separate "run" directory. The exe's won't run from the build dir on Windows. See install_all: target in Makefile.nmake (top-level) ... # "install-all" will copy all files needed to run Wireshark/Tshark # to the INSTALL_DIR, so you can run/debug Wireshark/Tshark fromthere.install-all: install-generated-files ...Dependency Walker (www.dependencywalker.com) is pretty useful for finding dependent DLLs.I forgot to mention that when I mentioned "dumpbin /dependants" earlier.I think I've found an easier solution to run inside the source tree: Just the the PATH variable to all the libdirs. So far I have only tried this manually but I've finally managed to run capinfos (and get the usage output :-) If I find the time I'll add automatic PATH modification tomorrow evening, the idea is something like: check whether path has already been modified. if not: set( ENV{PATH} $ENV{PATH} ${CMAKE_BINARY_DIR}/lib <list> <of> <lib> <dirs> ) Feel free to beat me to it ;-) Good night
You got there with the idea before me. I was thinking last night about the DLL search path (http://msdn.microsoft.com/en-us/library/7d83bc18.aspx) used by windows, and like you think that just modifying the path will do the job. Can that path extension be "exported" to the calling shell so that a dev can build and then run from the same command prompt? This actually leads to another bugbear of mine. All the third party libraries are extracted to separate directories with random locations for their includes, import libraries (.lib) and DLL's that really complicates the windows build. I think it would be a good idea, when reworking the third party lib downloader, to arrange for these three components of the third party libs to all be in a consistent place, e.g. all headers under .../include/somelib/, all import libs under .../lib and all binaries under .../bin, similar to the organisation of these items on some other well known platforms. This means less messing around with paths to all these things in CMake. Graham
___________________________________________________________________________ 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:
- Building on Windows with CMake: Status and help needed Joerg Mayer (Oct 05)
- Re: Building on Windows with CMake: Status and help needed Graham Bloice (Oct 06)
- Re: Building on Windows with CMake: Status and help needed Joerg Mayer (Oct 06)
- Re: Building on Windows with CMake: Status and help needed Bill Meier (Oct 06)
- Fwd: Building on Windows with CMake: Status and help needed Manish Kumar (Oct 07)
- Re: Building on Windows with CMake: Status and help needed Gerald Combs (Oct 07)
- Re: Building on Windows with CMake: Status and help needed Graham Bloice (Oct 07)
- Re: Building on Windows with CMake: Status and help needed Joerg Mayer (Oct 07)
- Re: Building on Windows with CMake: Status and help needed Graham Bloice (Oct 08)
- Re: Building on Windows with CMake: Status and help needed Joerg Mayer (Oct 06)
- Re: Building on Windows with CMake: Status and help needed Graham Bloice (Oct 06)