diff --git a/cmake/CheckIncludeFiles.cmake b/cmake/CheckIncludeFiles.cmake deleted file mode 100644 index c7fc2b5de..000000000 --- a/cmake/CheckIncludeFiles.cmake +++ /dev/null @@ -1,123 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. See full license information in -# doc_src/license.hdr or https://cmake.org/licensing for details. - -#.rst: -# CheckIncludeFiles -# ----------------- -# -# Provides a macro to check if a list of one or more header files can -# be included together in ``C``. -# -# .. command:: CHECK_INCLUDE_FILES -# -# :: -# -# CHECK_INCLUDE_FILES("" [LANGUAGE ]) -# -# Check if the given ```` list may be included together -# in a ``C`` source file and store the result in an internal cache -# entry named ````. Specify the ```` argument -# as a :ref:`;-list ` of header file names. -# -# If LANGUAGE is set, the specified compiler will be used to perform the -# check. Acceptable values are C and CXX. -# -# The following variables may be set before calling this macro to modify -# the way the check is run: -# -# ``CMAKE_REQUIRED_FLAGS`` -# string of compile command line flags -# ``CMAKE_REQUIRED_DEFINITIONS`` -# list of macros to define (-DFOO=bar) -# ``CMAKE_REQUIRED_INCLUDES`` -# list of include directories -# ``CMAKE_REQUIRED_QUIET`` -# execute quietly without messages -# -# See modules :module:`CheckIncludeFile` and :module:`CheckIncludeFileCXX` -# to check for a single header file in ``C`` or ``CXX`` languages. - -macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE) - if(NOT DEFINED "${VARIABLE}") - set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n") - - if("x${ARGN}" STREQUAL "x") - if(CMAKE_C_COMPILER_LOADED) - set(_lang C) - elseif(CMAKE_CXX_COMPILER_LOADED) - set(_lang CXX) - else() - message(FATAL_ERROR "CHECK_INCLUDE_FILES needs either C or CXX language enabled") - endif() - elseif("x${ARGN}" MATCHES "^xLANGUAGE;([a-zA-Z]+)$") - set(_lang "${CMAKE_MATCH_1}") - else() - message(FATAL_ERROR "Unknown arguments:\n ${ARGN}\n") - endif() - - if(_lang STREQUAL "C") - set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.c) - elseif(_lang STREQUAL "CXX") - set(src ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckIncludeFiles/${VARIABLE}.cpp) - else() - message(FATAL_ERROR "Unknown language:\n ${_lang}\nSupported languages: C, CXX.\n") - endif() - - if(CMAKE_REQUIRED_INCLUDES) - set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}") - else() - set(CHECK_INCLUDE_FILES_INCLUDE_DIRS) - endif() - set(CHECK_INCLUDE_FILES_CONTENT "/* */\n") - set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS}) - foreach(FILE ${INCLUDE}) - string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT - "#include <${FILE}>\n") - endforeach() - string(APPEND CMAKE_CONFIGURABLE_FILE_CONTENT - "\n\nint main(void){return 0;}\n") - configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in" - "${src}" @ONLY) - - set(_INCLUDE ${INCLUDE}) # remove empty elements - if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$") - list(LENGTH _INCLUDE _INCLUDE_LEN) - set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}") - elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$") - set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}") - else() - set(_description "include file ${_INCLUDE}") - endif() - - if(NOT CMAKE_REQUIRED_QUIET) - message(STATUS "Looking for ${_description}") - endif() - try_compile(${VARIABLE} - ${CMAKE_BINARY_DIR} - ${src} - COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} - CMAKE_FLAGS - -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS} - "${CHECK_INCLUDE_FILES_INCLUDE_DIRS}" - OUTPUT_VARIABLE OUTPUT) - if(${VARIABLE}) - if(NOT CMAKE_REQUIRED_QUIET) - message(STATUS "Looking for ${_description} - found") - endif() - set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}") - file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log - "Determining if files ${INCLUDE} " - "exist passed with the following output:\n" - "${OUTPUT}\n\n") - else() - if(NOT CMAKE_REQUIRED_QUIET) - message(STATUS "Looking for ${_description} - not found") - endif() - set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}") - file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Determining if files ${INCLUDE} " - "exist failed with the following output:\n" - "${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") - endif() - endif() -endmacro() diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake index 9ec9d031f..0686d4ef0 100644 --- a/cmake/ConfigureChecks.cmake +++ b/cmake/ConfigureChecks.cmake @@ -22,8 +22,6 @@ if(NOT ${CURSES_FOUND}) set(CURSES_CURSES_LIBRARY ${CURSES_LIBRARIES}) set(CURSES_LIBRARY ${CURSES_LIBRARIES}) endif() -# Set up extra include directories for CheckIncludeFile -list(APPEND CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_DIRS}) # Fix undefined reference to tparm on RHEL 6 and potentially others # If curses is found via CMake, it also links against tinfo if it exists. But if we use our diff --git a/doc_src/license.rst b/doc_src/license.rst index 4c75d3b0a..d47ec00a0 100644 --- a/doc_src/license.rst +++ b/doc_src/license.rst @@ -176,46 +176,6 @@ products or services of Licensee, or any third party. agrees to be bound by the terms and conditions of this License Agreement. -License for CMake ------------------ - -The ``fish`` source code contains files from `CMake `_ to support the build system. -This code is distributed under the terms of a BSD-style license. Copyright 2000-2017 Kitware, Inc. -and Contributors. - -The BSD license for CMake follows. - -CMake - Cross Platform Makefile Generator -Copyright 2000-2017 Kitware, Inc. and Contributors -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 name of Kitware, Inc. nor the names of 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. - MIT License -----------