mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 10:20:56 -06:00
* FindKDE4: Added note about KDE4_FOUND result variable (it is set by the upstream FindKDE4Internal module, and now also synced in the docs and code for consistency). For the sake of completeness with other find modules, also the following deprecated find modules are synced as they already provided these variables: * FindDart: Documented the Dart_FOUND result variable. * FindUnixCommands: Updated documentation (documented UnixCommands_FOUND result variable, and listed cache variables used by this module). Issue: #27242
79 lines
2.0 KiB
CMake
79 lines
2.0 KiB
CMake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
# file LICENSE.rst or https://cmake.org/licensing for details.
|
|
|
|
#[=======================================================================[.rst:
|
|
FindCygwin
|
|
----------
|
|
|
|
Finds Cygwin, a POSIX-compatible environment that runs natively on Microsoft
|
|
Windows:
|
|
|
|
.. code-block:: cmake
|
|
|
|
find_package(Cygwin [...])
|
|
|
|
.. note::
|
|
|
|
This module is primarily intended for use in other :ref:`Find Modules` to help
|
|
locate programs when using the ``find_*()`` commands, such as
|
|
:command:`find_program`. In most cases, direct use of those commands is
|
|
sufficient. Use this module only if a specific program is known to be
|
|
installed via Cygwin and is usable from Windows.
|
|
|
|
Result Variables
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module defines the following variables:
|
|
|
|
``Cygwin_FOUND``
|
|
.. versionadded:: 4.2
|
|
|
|
Boolean indicating whether Cygwin was found.
|
|
|
|
``CYGWIN_INSTALL_PATH``
|
|
The path to the Cygwin root installation directory.
|
|
|
|
Examples
|
|
^^^^^^^^
|
|
|
|
Finding the Cygwin installation and using its path in a custom find module:
|
|
|
|
.. code-block:: cmake
|
|
:caption: ``FindFoo.cmake``
|
|
|
|
find_package(Cygwin)
|
|
find_program(Foo_EXECUTABLE NAMES foo PATHS ${CYGWIN_INSTALL_PATH}/bin)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Foo REQUIRED_VARS Foo_EXECUTABLE)
|
|
|
|
See Also
|
|
^^^^^^^^
|
|
|
|
* The :module:`FindMsys` module to find MSYS path in a similar way.
|
|
#]=======================================================================]
|
|
|
|
if (WIN32)
|
|
if(CYGWIN_INSTALL_PATH)
|
|
set(CYGWIN_BAT "${CYGWIN_INSTALL_PATH}/cygwin.bat")
|
|
endif()
|
|
|
|
find_program(CYGWIN_BAT
|
|
NAMES cygwin.bat
|
|
PATHS
|
|
"C:/Cygwin"
|
|
"C:/Cygwin64"
|
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]"
|
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]"
|
|
)
|
|
get_filename_component(CYGWIN_INSTALL_PATH "${CYGWIN_BAT}" DIRECTORY)
|
|
mark_as_advanced(CYGWIN_BAT)
|
|
|
|
endif ()
|
|
|
|
if(CYGWIN_BAT AND CYGWIN_INSTALL_PATH)
|
|
set(Cygwin_FOUND TRUE)
|
|
else()
|
|
set(Cygwin_FOUND FALSE)
|
|
endif()
|