From cffe1ca4633dc9cb14c97a689a8571de83c7b10b Mon Sep 17 00:00:00 2001 From: "Philip.Hazel" Date: Fri, 5 Jun 2020 16:06:05 +0000 Subject: [PATCH] Change CMakeLists.txt to use CHECK_SYMBOL_EXISTS instead of CHECK_FUNCTION_EXISTS. --- CMakeLists.txt | 10 +++++----- ChangeLog | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bd75929..07652e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,11 +134,11 @@ CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H) CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H) CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) -CHECK_FUNCTION_EXISTS(bcopy HAVE_BCOPY) -CHECK_FUNCTION_EXISTS(memfd_create HAVE_MEMFD_CREATE) -CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) -CHECK_FUNCTION_EXISTS(secure_getenv HAVE_SECURE_GETENV) -CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) +CHECK_SYMBOL_EXISTS(bcopy "strings.h" HAVE_BCOPY) +CHECK_SYMBOL_EXISTS(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE) +CHECK_SYMBOL_EXISTS(memmove "string.h" HAVE_MEMMOVE) +CHECK_SYMBOL_EXISTS(secure_getenv "stdlib.h" HAVE_SECURE_GETENV) +CHECK_SYMBOL_EXISTS(strerror "string.h" HAVE_STRERROR) set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror") diff --git a/ChangeLog b/ChangeLog index 1871d3d..0ce683f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,6 +31,12 @@ invalid utf8 mode is enabled. allow spaces in directory names. - This fixes a cmake error, if the path of the pcre2 source contains a space. + +5. Updated CMakeLists.txt with a patch from B. Scott Michel: CMake's +documentation suggests using CHECK_SYMBOL_EXISTS over CHECK_FUNCTION_EXIST. +Moreover, these functions come from specific header files, which need to be +specified (and, thankfully, are the same on both the Linux and WinXX +platforms.) Version 10.35 09-May-2020