1 # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 # file Copyright.txt or https://cmake.org/licensing for details.
4 #[=======================================================================[.rst:
8 Find the Concurrent Versions System (CVS).
10 The module defines the following variables:
14 CVS_EXECUTABLE - path to cvs command line client
15 CVS_FOUND - true if the command line client was found
23 message("CVS found: ${CVS_EXECUTABLE}")
25 #]=======================================================================]
29 get_filename_component(
31 "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
34 get_filename_component(
35 CVSNT_Services_EventMessagePath
36 "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
39 # WinCVS (in case CVSNT was installed in the same directory)
41 get_filename_component(
43 "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
46 # TortoiseCVS (in case CVSNT was installed in the same directory)
48 get_filename_component(
49 TortoiseCVS_Folder_Command
50 "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
53 get_filename_component(
54 TortoiseCVS_DefaultIcon
55 "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
58 find_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"
67 mark_as_advanced(CVS_EXECUTABLE)
69 # Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
70 # all listed variables are TRUE
72 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
73 find_package_handle_standard_args(CVS DEFAULT_MSG CVS_EXECUTABLE)