1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4#[=======================================================================[.rst:
5FindCVS
6-------
7
8Find the Concurrent Versions System (CVS).
9
10The module defines the following variables:
11
12::
13
14   CVS_EXECUTABLE - path to cvs command line client
15   CVS_FOUND - true if the command line client was found
16
17Example usage:
18
19::
20
21   find_package(CVS)
22   if(CVS_FOUND)
23     message("CVS found: ${CVS_EXECUTABLE}")
24   endif()
25#]=======================================================================]
26
27# CVSNT
28
29get_filename_component(
30  CVSNT_TypeLib_Win32
31  "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
32  PATH)
33
34get_filename_component(
35  CVSNT_Services_EventMessagePath
36  "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
37  PATH)
38
39# WinCVS (in case CVSNT was installed in the same directory)
40
41get_filename_component(
42  WinCVS_Folder_Command
43  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
44  PATH)
45
46# TortoiseCVS (in case CVSNT was installed in the same directory)
47
48get_filename_component(
49  TortoiseCVS_Folder_Command
50  "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
51  PATH)
52
53get_filename_component(
54  TortoiseCVS_DefaultIcon
55  "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
56  PATH)
57
58find_program(CVS_EXECUTABLE cvs
59  ${TortoiseCVS_DefaultIcon}
60  ${TortoiseCVS_Folder_Command}
61  ${WinCVS_Folder_Command}
62  ${CVSNT_Services_EventMessagePath}
63  ${CVSNT_TypeLib_Win32}
64  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\CVS\\Pserver;InstallPath]"
65  DOC "CVS command line client"
66  )
67mark_as_advanced(CVS_EXECUTABLE)
68
69# Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
70# all listed variables are TRUE
71
72include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
73find_package_handle_standard_args(CVS DEFAULT_MSG CVS_EXECUTABLE)
74