[Cmake-commits] CMake branch, next, updated. v3.0.0-4192-g6d39a8c

Brad King brad.king at kitware.com
Mon Jul 14 09:12:52 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  6d39a8c3e6919743e63e332ff7c6f4aa4dcbbee2 (commit)
       via  ac4a1c4667d99e2457409e5219ce7ce69f500772 (commit)
      from  63675f1f5f6584ab45ae5fb55e23a49a7fb2f7c2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d39a8c3e6919743e63e332ff7c6f4aa4dcbbee2
commit 6d39a8c3e6919743e63e332ff7c6f4aa4dcbbee2
Merge: 63675f1 ac4a1c4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 09:12:51 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jul 14 09:12:51 2014 -0400

    Merge topic 'FindCurses-overhaul' into next
    
    ac4a1c46 Revert "FindCurses: Overhaul Curses and NCurses search logic"


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ac4a1c4667d99e2457409e5219ce7ce69f500772
commit ac4a1c4667d99e2457409e5219ce7ce69f500772
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jul 14 09:12:43 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jul 14 09:13:59 2014 -0400

    Revert "FindCurses: Overhaul Curses and NCurses search logic"
    
    This reverts commit fcca1eb90e6d1383e27ceb30c03b739ea30fe180.
    The NCurses headers expect to include each other as "ncurses/...".

diff --git a/Modules/FindCurses.cmake b/Modules/FindCurses.cmake
index 5c61090..6b8b196 100644
--- a/Modules/FindCurses.cmake
+++ b/Modules/FindCurses.cmake
@@ -2,46 +2,28 @@
 # FindCurses
 # ----------
 #
-# Find the curses or ncurses include file and library.
+# Find the curses include file and library
 #
-# Result Variables
-# ^^^^^^^^^^^^^^^^
 #
-# This module defines the following variables:
 #
-# ``CURSES_FOUND``
-#   True if Curses is found.
-# ``CURSES_INCLUDE_DIRS``
-#   The include directories needed to use Curses.
-# ``CURSES_LIBRARIES``
-#   The libraries needed to use Curses.
-# ``CURSES_HAVE_CURSES_H``
-#   True if curses.h is available.
-# ``CURSES_HAVE_NCURSES_H``
-#   True if ncurses.h is available.
+# ::
 #
-# Set ``CURSES_NEED_NCURSES`` to ``TRUE`` before the
-# ``find_package(Curses)`` call if NCurses functionality is required.
+#   CURSES_FOUND - system has Curses
+#   CURSES_INCLUDE_DIR - the Curses include directory
+#   CURSES_LIBRARIES - The libraries needed to use Curses
+#   CURSES_HAVE_CURSES_H - true if curses.h is available
+#   CURSES_HAVE_NCURSES_H - true if ncurses.h is available
+#   CURSES_HAVE_NCURSES_NCURSES_H - true if ncurses/ncurses.h is available
+#   CURSES_HAVE_NCURSES_CURSES_H - true if ncurses/curses.h is available
+#   CURSES_LIBRARY - set for backwards compatibility with 2.4 CMake
 #
-# Backward Compatibility
-# ^^^^^^^^^^^^^^^^^^^^^^
 #
-# The following variable are provided for backward compatibility:
 #
-# ``CURSES_HAVE_NCURSES_NCURSES_H``
-#   Always false.  Used to be true if ``ncurses/ncurses.h`` is available.
-# ``CURSES_HAVE_NCURSES_CURSES_H``
-#   Always false.  Used to be true if ``ncurses/curses.h`` is available.
-# ``CURSES_INCLUDE_DIR``
-#   Path to Curses include.  Use ``CURSES_INCLUDE_DIRS`` instead.
-# ``CURSES_LIBRARY``
-#   Path to Curses library.  Use ``CURSES_LIBRARIES`` instead.
-#
-# Currently if the headers are in a ``ncurses/`` directory the
-# path(s) in ``CURSES_INCLUDE_DIRS`` will simply point at that.
+# Set CURSES_NEED_NCURSES to TRUE before the find_package() command if
+# NCurses functionality is required.
 
 #=============================================================================
-# Copyright 2001-2014 Kitware, Inc.
+# Copyright 2001-2009 Kitware, Inc.
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -102,38 +84,61 @@ if(CURSES_CURSES_LIBRARY  AND  CURSES_NEED_NCURSES)
 
 endif()
 
-if(CURSES_USE_NCURSES)
+
+if(NOT CURSES_USE_NCURSES)
+  find_file(CURSES_HAVE_CURSES_H curses.h )
+  find_path(CURSES_CURSES_H_PATH curses.h )
+  get_filename_component(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
+  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
+
+  # for compatibility with older FindCurses.cmake this has to be in the cache
+  # FORCE must not be used since this would break builds which preload a cache wqith these variables set
+  set(CURSES_INCLUDE_PATH "${CURSES_CURSES_H_PATH}"
+    CACHE FILEPATH "The curses include path")
+  set(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}"
+    CACHE FILEPATH "The curses library")
+else()
+# we need to find ncurses
   get_filename_component(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
   get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
 
-  # Use CURSES_NCURSES_INCLUDE_PATH if set, for compatibility.
-  if(CURSES_NCURSES_INCLUDE_PATH)
-    find_path(CURSES_INCLUDE_PATH
-      NAMES ncurses.h curses.h
-      PATHS ${CURSES_NCURSES_INCLUDE_PATH}
-      NO_DEFAULT_PATH
-      )
+  find_file(CURSES_HAVE_NCURSES_H         ncurses.h)
+  find_file(CURSES_HAVE_NCURSES_NCURSES_H ncurses/ncurses.h)
+  find_file(CURSES_HAVE_NCURSES_CURSES_H  ncurses/curses.h)
+  find_file(CURSES_HAVE_CURSES_H          curses.h
+    HINTS "${_cursesParentDir}/include")
+
+  find_path(CURSES_NCURSES_INCLUDE_PATH ncurses.h ncurses/ncurses.h
+    ncurses/curses.h)
+  find_path(CURSES_NCURSES_INCLUDE_PATH curses.h
+    HINTS "${_cursesParentDir}/include")
+
+  # for compatibility with older FindCurses.cmake this has to be in the cache
+  # FORCE must not be used since this would break builds which preload
+  # however if the value of the variable has NOTFOUND in it, then
+  # it is OK to force, and we need to force in order to have it work.
+  # a cache wqith these variables set
+  # only put ncurses include and library into
+  # variables if they are found
+  if(NOT CURSES_NCURSES_INCLUDE_PATH AND CURSES_HAVE_NCURSES_NCURSES_H)
+    get_filename_component(CURSES_NCURSES_INCLUDE_PATH
+      "${CURSES_HAVE_NCURSES_NCURSES_H}" PATH)
   endif()
-
-  find_path(CURSES_INCLUDE_PATH
-    NAMES ncurses.h curses.h
-    HINTS "${_cursesParentDir}/include"
-    PATH_SUFFIXES ncurses
-    )
-
-  # Previous versions of FindCurses provided these values.
-  if(NOT DEFINED CURSES_LIBRARY)
-    set(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}")
+  if(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
+    set( FORCE_IT )
+    if(CURSES_INCLUDE_PATH MATCHES NOTFOUND)
+      set(FORCE_IT FORCE)
+    endif()
+    set(CURSES_INCLUDE_PATH "${CURSES_NCURSES_INCLUDE_PATH}"
+      CACHE FILEPATH "The curses include path" ${FORCE_IT})
+    set( FORCE_IT)
+    if(CURSES_LIBRARY MATCHES NOTFOUND)
+      set(FORCE_IT FORCE)
+    endif()
+    set(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}"
+      CACHE FILEPATH "The curses library" ${FORCE_IT})
   endif()
 
-  # Previous versions of FindCurses also looked for ncurses/ncurses.h
-  # and told projects to #include <ncurses/ncurses.h> instead of just
-  # #include <ncurses.h>.  Now we just report the include/ncurses
-  # directory instead, so just pretend that ncurses/ncurses.h is
-  # never available.
-  set(CURSES_HAVE_NCURSES_NCURSES_H "CURSES_HAVE_NCURSES_NCURSES_H-NOTFOUND")
-  set(CURSES_HAVE_NCURSES_CURSES_H "CURSES_HAVE_NCURSES_CURSES_H-NOTFOUND")
-
   CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
     cbreak "" CURSES_NCURSES_HAS_CBREAK)
   if(NOT CURSES_NCURSES_HAS_CBREAK)
@@ -142,39 +147,6 @@ if(CURSES_USE_NCURSES)
     CHECK_LIBRARY_EXISTS("${CURSES_EXTRA_LIBRARY}"
       cbreak "" CURSES_TINFO_HAS_CBREAK)
   endif()
-else()
-  get_filename_component(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
-  get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
-
-  find_path(CURSES_INCLUDE_PATH
-    NAMES curses.h
-    HINTS "${_cursesParentDir}/include"
-    )
-
-  # Previous versions of FindCurses provided these values.
-  if(NOT DEFINED CURSES_CURSES_H_PATH)
-    set(CURSES_CURSES_H_PATH "${CURSES_INCLUDE_PATH}")
-  endif()
-  if(NOT DEFINED CURSES_LIBRARY)
-    set(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}")
-  endif()
-endif()
-
-# Previous versions of FindCurses did a separate find_file for
-# ncurses.h and curses.h.  Report the results as it would have.
-if(NOT DEFINED CURSES_HAVE_NCURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/ncurses.h")
-    set(CURSES_HAVE_NCURSES_H "${CURSES_INCLUDE_PATH}/ncurses.h")
-  else()
-    set(CURSES_HAVE_NCURSES_H "CURSES_HAVE_NCURSES_H-NOTFOUND")
-  endif()
-endif()
-if(NOT DEFINED CURSES_HAVE_CURSES_H)
-  if(EXISTS "${CURSES_INCLUDE_PATH}/curses.h")
-    set(CURSES_HAVE_CURSES_H "${CURSES_INCLUDE_PATH}/curses.h")
-  else()
-    set(CURSES_HAVE_CURSES_H "CURSES_HAVE_CURSES_H-NOTFOUND")
-  endif()
 endif()
 
 if (NOT CURSES_TINFO_HAS_CBREAK)
@@ -185,10 +157,11 @@ endif()
 find_library(CURSES_FORM_LIBRARY form HINTS "${_cursesLibDir}")
 find_library(CURSES_FORM_LIBRARY form )
 
-# Previous versions of FindCurses provided these values.
-if(NOT DEFINED FORM_LIBRARY)
-  set(FORM_LIBRARY "${CURSES_FORM_LIBRARY}")
-endif()
+# for compatibility with older FindCurses.cmake this has to be in the cache
+# FORCE must not be used since this would break builds which preload a cache
+# qith these variables set
+set(FORM_LIBRARY "${CURSES_FORM_LIBRARY}"
+  CACHE FILEPATH "The curses form library")
 
 # Need to provide the *_LIBRARIES
 set(CURSES_LIBRARIES ${CURSES_LIBRARY})
@@ -201,9 +174,8 @@ if(CURSES_FORM_LIBRARY)
   set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_FORM_LIBRARY})
 endif()
 
-# Provide the *_INCLUDE_DIRS result.
-set(CURSES_INCLUDE_DIRS ${CURSES_INCLUDE_PATH})
-set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH}) # compatibility
+# Proper name is *_INCLUDE_DIR
+set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH})
 
 # handle the QUIETLY and REQUIRED arguments and set CURSES_FOUND to TRUE if
 # all listed variables are TRUE
@@ -213,7 +185,17 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG
 
 mark_as_advanced(
   CURSES_INCLUDE_PATH
+  CURSES_LIBRARY
+  CURSES_CURSES_INCLUDE_PATH
   CURSES_CURSES_LIBRARY
+  CURSES_NCURSES_INCLUDE_PATH
   CURSES_NCURSES_LIBRARY
   CURSES_EXTRA_LIBRARY
+  FORM_LIBRARY
+  CURSES_LIBRARIES
+  CURSES_INCLUDE_DIR
+  CURSES_CURSES_HAS_WSYNCUP
+  CURSES_NCURSES_HAS_WSYNCUP
+  CURSES_NCURSES_HAS_CBREAK
+  CURSES_TINFO_HAS_CBREAK
   )

-----------------------------------------------------------------------

Summary of changes:
 Modules/FindCurses.cmake |  176 +++++++++++++++++++++-------------------------
 1 file changed, 79 insertions(+), 97 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list