diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-11-12 17:50:18 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-11-13 14:24:40 +0000 |
commit | 25ec91a5a7b79e0f1a3cb50bfefc4797299ddafe (patch) | |
tree | a3b0d23a9e32a7fe6b74670bc5d29160350663b8 | |
parent | 51d10654cdb2811b316b07e3a37fed68da386ecd (diff) | |
download | wireshark-25ec91a5a7b79e0f1a3cb50bfefc4797299ddafe.tar.gz wireshark-25ec91a5a7b79e0f1a3cb50bfefc4797299ddafe.tar.bz2 wireshark-25ec91a5a7b79e0f1a3cb50bfefc4797299ddafe.zip |
CMake: add our own FindCygwin module
The one from official CMake (3.3.2) does not look for the default 64bits installation path. Let's add it.
Also add a WIRESHARK_CYGWIN_INSTALL_PATH environment variable allowing to force it.
For reference, registry based detection fails to detect a 64bits installation because it gets redirected to the Wow6432 node.
Change-Id: If3172494e3ab232e094389b493e6b67023662ae5
Reviewed-on: https://code.wireshark.org/review/11769
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
(cherry picked from commit 654d4abf71ea2fd69eacce57dd970f93e2deab46)
Reviewed-on: https://code.wireshark.org/review/11807
-rw-r--r-- | cmake/modules/FindCygwin.cmake | 65 | ||||
-rw-r--r-- | docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc | 7 |
2 files changed, 72 insertions, 0 deletions
diff --git a/cmake/modules/FindCygwin.cmake b/cmake/modules/FindCygwin.cmake new file mode 100644 index 0000000000..e568615ae2 --- /dev/null +++ b/cmake/modules/FindCygwin.cmake @@ -0,0 +1,65 @@ +#.rst: +# FindCygwin +# ---------- +# +# this module looks for Cygwin + +# This code was copied from +# http://cmake.org/gitweb?p=cmake.git;a=blob_plain;f=Modules/FindCygwin.cmake;hb=HEAD +# and modified so as to check C:\Cygwin64 and the WIRESHARK_CYGWIN_INSTALL_PATH +# environment variable + +#============================================================================= +#CMake - Cross Platform Makefile Generator +#Copyright 2000-2015 Kitware, Inc. +#Copyright 2000-2011 Insight Software Consortium +#All rights reserved. +# +#Redistribution and use in source and binary forms, with or without +#modification, are permitted provided that the following conditions +#are met: +# +#* Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +#* Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +#* Neither the names of Kitware, Inc., the Insight Software Consortium, +# nor the names of their contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +#A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +#HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +#LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +#DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +#THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +#(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +if (WIN32) + find_path(CYGWIN_INSTALL_PATH + cygwin.bat + PATH ENV WIRESHARK_CYGWIN_INSTALL_PATH + "C:/Cygwin" + "C:/Cygwin64" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]" + ) + + if(${CYGWIN_INSTALL_PATH} STREQUAL "CYGWIN_INSTALL_PATH-NOTFOUND") + message(FATAL_ERROR "Cygwin installation path was not detected. You can set it with WIRESHARK_CYGWIN_INSTALL_PATH environment variable.") + else() + mark_as_advanced( + CYGWIN_INSTALL_PATH + ) + endif() + +endif () diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc index 39fbd4c678..43819e113c 100644 --- a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc @@ -387,6 +387,13 @@ Set the following environment variables, using paths and values suitable for you > set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo ---- +If your Cygwin installation path is not automatically detected by CMake, you can explicitly specify it with the following +environment variable: + +---- +> set WIRESHARK_CYGWIN_INSTALL_PATH=c:\cygwin or whatever other path that is applicable to your setup +---- + If you are using a version of Visual Studio earlier than VS2012 then you must set an additional env var, e.g. for VS2010 set the following: ---- |