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>
This commit is contained in:
parent
da71ccbf77
commit
654d4abf71
|
@ -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 ()
|
|
@ -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:
|
||||
----
|
||||
|
|
Loading…
Reference in New Issue