mirror of
https://github.com/moparisthebest/curl
synced 2025-02-28 17:31:46 -05:00
CMake: Update scripts to use consistent style
Closes #2727 Reviewed-by: Sergei Nikulov
This commit is contained in:
parent
a82372e0fb
commit
d1207c07d0
@ -4,57 +4,57 @@ option(CURL_HIDDEN_SYMBOLS "Set to ON to hide libcurl internal symbols (=hide al
|
|||||||
mark_as_advanced(CURL_HIDDEN_SYMBOLS)
|
mark_as_advanced(CURL_HIDDEN_SYMBOLS)
|
||||||
|
|
||||||
if(CURL_HIDDEN_SYMBOLS)
|
if(CURL_HIDDEN_SYMBOLS)
|
||||||
set(SUPPORTS_SYMBOL_HIDING FALSE)
|
set(SUPPORTS_SYMBOL_HIDING FALSE)
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
||||||
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
||||||
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
||||||
elseif(CMAKE_COMPILER_IS_GNUCC)
|
elseif(CMAKE_COMPILER_IS_GNUCC)
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 2.8.10)
|
if(NOT CMAKE_VERSION VERSION_LESS 2.8.10)
|
||||||
set(GCC_VERSION ${CMAKE_C_COMPILER_VERSION})
|
set(GCC_VERSION ${CMAKE_C_COMPILER_VERSION})
|
||||||
else()
|
|
||||||
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
|
||||||
OUTPUT_VARIABLE GCC_VERSION)
|
|
||||||
endif()
|
|
||||||
if(NOT GCC_VERSION VERSION_LESS 3.4)
|
|
||||||
# note: this is considered buggy prior to 4.0 but the autotools don't care, so let's ignore that fact
|
|
||||||
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
|
||||||
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
|
||||||
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
|
||||||
endif()
|
|
||||||
elseif(CMAKE_C_COMPILER_ID MATCHES "SunPro" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.0)
|
|
||||||
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
|
||||||
set(_SYMBOL_EXTERN "__global")
|
|
||||||
set(_CFLAG_SYMBOLS_HIDE "-xldscope=hidden")
|
|
||||||
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0)
|
|
||||||
# note: this should probably just check for version 9.1.045 but I'm not 100% sure
|
|
||||||
# so let's to it the same way autotools do.
|
|
||||||
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
|
||||||
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
|
||||||
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
|
||||||
check_c_source_compiles("#include <stdio.h>
|
|
||||||
int main (void) { printf(\"icc fvisibility bug test\"); return 0; }" _no_bug)
|
|
||||||
if(NOT _no_bug)
|
|
||||||
set(SUPPORTS_SYMBOL_HIDING FALSE)
|
|
||||||
set(_SYMBOL_EXTERN "")
|
|
||||||
set(_CFLAG_SYMBOLS_HIDE "")
|
|
||||||
endif()
|
|
||||||
elseif(MSVC)
|
|
||||||
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(HIDES_CURL_PRIVATE_SYMBOLS ${SUPPORTS_SYMBOL_HIDING})
|
|
||||||
elseif(MSVC)
|
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.7)
|
|
||||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) #present since 3.4.3 but broken
|
|
||||||
set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
|
|
||||||
else()
|
else()
|
||||||
message(WARNING "Hiding private symbols regardless CURL_HIDDEN_SYMBOLS being disabled.")
|
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
||||||
set(HIDES_CURL_PRIVATE_SYMBOLS TRUE)
|
OUTPUT_VARIABLE GCC_VERSION)
|
||||||
endif()
|
endif()
|
||||||
elseif()
|
if(NOT GCC_VERSION VERSION_LESS 3.4)
|
||||||
|
# note: this is considered buggy prior to 4.0 but the autotools don't care, so let's ignore that fact
|
||||||
|
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
||||||
|
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
||||||
|
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_C_COMPILER_ID MATCHES "SunPro" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.0)
|
||||||
|
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
||||||
|
set(_SYMBOL_EXTERN "__global")
|
||||||
|
set(_CFLAG_SYMBOLS_HIDE "-xldscope=hidden")
|
||||||
|
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel" AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 9.0)
|
||||||
|
# note: this should probably just check for version 9.1.045 but I'm not 100% sure
|
||||||
|
# so let's to it the same way autotools do.
|
||||||
|
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
||||||
|
set(_SYMBOL_EXTERN "__attribute__ ((__visibility__ (\"default\")))")
|
||||||
|
set(_CFLAG_SYMBOLS_HIDE "-fvisibility=hidden")
|
||||||
|
check_c_source_compiles("#include <stdio.h>
|
||||||
|
int main (void) { printf(\"icc fvisibility bug test\"); return 0; }" _no_bug)
|
||||||
|
if(NOT _no_bug)
|
||||||
|
set(SUPPORTS_SYMBOL_HIDING FALSE)
|
||||||
|
set(_SYMBOL_EXTERN "")
|
||||||
|
set(_CFLAG_SYMBOLS_HIDE "")
|
||||||
|
endif()
|
||||||
|
elseif(MSVC)
|
||||||
|
set(SUPPORTS_SYMBOL_HIDING TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(HIDES_CURL_PRIVATE_SYMBOLS ${SUPPORTS_SYMBOL_HIDING})
|
||||||
|
elseif(MSVC)
|
||||||
|
if(NOT CMAKE_VERSION VERSION_LESS 3.7)
|
||||||
|
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) #present since 3.4.3 but broken
|
||||||
set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
|
set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
|
||||||
|
else()
|
||||||
|
message(WARNING "Hiding private symbols regardless CURL_HIDDEN_SYMBOLS being disabled.")
|
||||||
|
set(HIDES_CURL_PRIVATE_SYMBOLS TRUE)
|
||||||
|
endif()
|
||||||
|
elseif()
|
||||||
|
set(HIDES_CURL_PRIVATE_SYMBOLS FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CURL_CFLAG_SYMBOLS_HIDE ${_CFLAG_SYMBOLS_HIDE})
|
set(CURL_CFLAG_SYMBOLS_HIDE ${_CFLAG_SYMBOLS_HIDE})
|
||||||
|
@ -7,36 +7,36 @@
|
|||||||
# also defined, but not for general use are
|
# also defined, but not for general use are
|
||||||
# CARES_LIBRARY, where to find the c-ares library.
|
# CARES_LIBRARY, where to find the c-ares library.
|
||||||
|
|
||||||
FIND_PATH(CARES_INCLUDE_DIR ares.h
|
find_path(CARES_INCLUDE_DIR ares.h
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
/usr/include
|
/usr/include
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(CARES_NAMES ${CARES_NAMES} cares)
|
set(CARES_NAMES ${CARES_NAMES} cares)
|
||||||
FIND_LIBRARY(CARES_LIBRARY
|
find_library(CARES_LIBRARY
|
||||||
NAMES ${CARES_NAMES}
|
NAMES ${CARES_NAMES}
|
||||||
PATHS /usr/lib /usr/local/lib
|
PATHS /usr/lib /usr/local/lib
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (CARES_LIBRARY AND CARES_INCLUDE_DIR)
|
if(CARES_LIBRARY AND CARES_INCLUDE_DIR)
|
||||||
SET(CARES_LIBRARIES ${CARES_LIBRARY})
|
set(CARES_LIBRARIES ${CARES_LIBRARY})
|
||||||
SET(CARES_FOUND "YES")
|
set(CARES_FOUND "YES")
|
||||||
ELSE (CARES_LIBRARY AND CARES_INCLUDE_DIR)
|
else()
|
||||||
SET(CARES_FOUND "NO")
|
set(CARES_FOUND "NO")
|
||||||
ENDIF (CARES_LIBRARY AND CARES_INCLUDE_DIR)
|
endif()
|
||||||
|
|
||||||
|
|
||||||
IF (CARES_FOUND)
|
if(CARES_FOUND)
|
||||||
IF (NOT CARES_FIND_QUIETLY)
|
if(NOT CARES_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found c-ares: ${CARES_LIBRARIES}")
|
message(STATUS "Found c-ares: ${CARES_LIBRARIES}")
|
||||||
ENDIF (NOT CARES_FIND_QUIETLY)
|
endif()
|
||||||
ELSE (CARES_FOUND)
|
else()
|
||||||
IF (CARES_FIND_REQUIRED)
|
if(CARES_FIND_REQUIRED)
|
||||||
MESSAGE(FATAL_ERROR "Could not find c-ares library")
|
message(FATAL_ERROR "Could not find c-ares library")
|
||||||
ENDIF (CARES_FIND_REQUIRED)
|
endif()
|
||||||
ENDIF (CARES_FOUND)
|
endif()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
mark_as_advanced(
|
||||||
CARES_LIBRARY
|
CARES_LIBRARY
|
||||||
CARES_INCLUDE_DIR
|
CARES_INCLUDE_DIR
|
||||||
)
|
)
|
||||||
|
@ -28,211 +28,209 @@ set(_GSS_ROOT_HINTS
|
|||||||
|
|
||||||
# try to find library using system pkg-config if user didn't specify root dir
|
# try to find library using system pkg-config if user didn't specify root dir
|
||||||
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
|
if(NOT GSS_ROOT_DIR AND NOT "$ENV{GSS_ROOT_DIR}")
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
find_package(PkgConfig QUIET)
|
find_package(PkgConfig QUIET)
|
||||||
pkg_search_module(_GSS_PKG ${_MIT_MODNAME} ${_HEIMDAL_MODNAME})
|
pkg_search_module(_GSS_PKG ${_MIT_MODNAME} ${_HEIMDAL_MODNAME})
|
||||||
list(APPEND _GSS_ROOT_HINTS "${_GSS_PKG_PREFIX}")
|
list(APPEND _GSS_ROOT_HINTS "${_GSS_PKG_PREFIX}")
|
||||||
elseif(WIN32)
|
elseif(WIN32)
|
||||||
list(APPEND _GSS_ROOT_HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
|
list(APPEND _GSS_ROOT_HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos;InstallDir]")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT _GSS_FOUND) #not found by pkg-config. Let's take more traditional approach.
|
if(NOT _GSS_FOUND) #not found by pkg-config. Let's take more traditional approach.
|
||||||
find_file(_GSS_CONFIGURE_SCRIPT
|
find_file(_GSS_CONFIGURE_SCRIPT
|
||||||
|
NAMES
|
||||||
|
"krb5-config"
|
||||||
|
HINTS
|
||||||
|
${_GSS_ROOT_HINTS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
bin
|
||||||
|
NO_CMAKE_PATH
|
||||||
|
NO_CMAKE_ENVIRONMENT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
# if not found in user-supplied directories, maybe system knows better
|
||||||
|
find_file(_GSS_CONFIGURE_SCRIPT
|
||||||
|
NAMES
|
||||||
|
"krb5-config"
|
||||||
|
PATH_SUFFIXES
|
||||||
|
bin
|
||||||
|
)
|
||||||
|
|
||||||
|
if(_GSS_CONFIGURE_SCRIPT)
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--cflags" "gssapi"
|
||||||
|
OUTPUT_VARIABLE _GSS_CFLAGS
|
||||||
|
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
||||||
|
)
|
||||||
|
message(STATUS "CFLAGS: ${_GSS_CFLAGS}")
|
||||||
|
if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
|
||||||
|
# should also work in an odd case when multiple directories are given
|
||||||
|
string(STRIP "${_GSS_CFLAGS}" _GSS_CFLAGS)
|
||||||
|
string(REGEX REPLACE " +-I" ";" _GSS_CFLAGS "${_GSS_CFLAGS}")
|
||||||
|
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1"_GSS_CFLAGS "${_GSS_CFLAGS}")
|
||||||
|
|
||||||
|
foreach(_flag ${_GSS_CFLAGS})
|
||||||
|
if(_flag MATCHES "^-I.*")
|
||||||
|
string(REGEX REPLACE "^-I" "" _val "${_flag}")
|
||||||
|
list(APPEND _GSS_INCLUDE_DIR "${_val}")
|
||||||
|
else()
|
||||||
|
list(APPEND _GSS_COMPILER_FLAGS "${_flag}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--libs" "gssapi"
|
||||||
|
OUTPUT_VARIABLE _GSS_LIB_FLAGS
|
||||||
|
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
||||||
|
)
|
||||||
|
message(STATUS "LDFLAGS: ${_GSS_LIB_FLAGS}")
|
||||||
|
|
||||||
|
if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
|
||||||
|
# this script gives us libraries and link directories. Blah. We have to deal with it.
|
||||||
|
string(STRIP "${_GSS_LIB_FLAGS}" _GSS_LIB_FLAGS)
|
||||||
|
string(REGEX REPLACE " +-(L|l)" ";-\\1" _GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
|
||||||
|
string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1"_GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
|
||||||
|
|
||||||
|
foreach(_flag ${_GSS_LIB_FLAGS})
|
||||||
|
if(_flag MATCHES "^-l.*")
|
||||||
|
string(REGEX REPLACE "^-l" "" _val "${_flag}")
|
||||||
|
list(APPEND _GSS_LIBRARIES "${_val}")
|
||||||
|
elseif(_flag MATCHES "^-L.*")
|
||||||
|
string(REGEX REPLACE "^-L" "" _val "${_flag}")
|
||||||
|
list(APPEND _GSS_LINK_DIRECTORIES "${_val}")
|
||||||
|
else()
|
||||||
|
list(APPEND _GSS_LINKER_FLAGS "${_flag}")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--version"
|
||||||
|
OUTPUT_VARIABLE _GSS_VERSION
|
||||||
|
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
||||||
|
)
|
||||||
|
|
||||||
|
# older versions may not have the "--version" parameter. In this case we just don't care.
|
||||||
|
if(_GSS_CONFIGURE_FAILED)
|
||||||
|
set(_GSS_VERSION 0)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--vendor"
|
||||||
|
OUTPUT_VARIABLE _GSS_VENDOR
|
||||||
|
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
||||||
|
)
|
||||||
|
|
||||||
|
# older versions may not have the "--vendor" parameter. In this case we just don't care.
|
||||||
|
if(_GSS_CONFIGURE_FAILED)
|
||||||
|
set(GSS_FLAVOUR "Heimdal") # most probably, shouldn't really matter
|
||||||
|
else()
|
||||||
|
if(_GSS_VENDOR MATCHES ".*H|heimdal.*")
|
||||||
|
set(GSS_FLAVOUR "Heimdal")
|
||||||
|
else()
|
||||||
|
set(GSS_FLAVOUR "MIT")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
else() # either there is no config script or we are on platform that doesn't provide one (Windows?)
|
||||||
|
|
||||||
|
find_path(_GSS_INCLUDE_DIR
|
||||||
NAMES
|
NAMES
|
||||||
"krb5-config"
|
"gssapi/gssapi.h"
|
||||||
HINTS
|
HINTS
|
||||||
${_GSS_ROOT_HINTS}
|
${_GSS_ROOT_HINTS}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
bin
|
include
|
||||||
NO_CMAKE_PATH
|
inc
|
||||||
NO_CMAKE_ENVIRONMENT_PATH
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# if not found in user-supplied directories, maybe system knows better
|
if(_GSS_INCLUDE_DIR) #jay, we've found something
|
||||||
find_file(_GSS_CONFIGURE_SCRIPT
|
set(CMAKE_REQUIRED_INCLUDES "${_GSS_INCLUDE_DIR}")
|
||||||
NAMES
|
check_include_files( "gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _GSS_HAVE_MIT_HEADERS)
|
||||||
"krb5-config"
|
|
||||||
PATH_SUFFIXES
|
|
||||||
bin
|
|
||||||
)
|
|
||||||
|
|
||||||
if(_GSS_CONFIGURE_SCRIPT)
|
if(_GSS_HAVE_MIT_HEADERS)
|
||||||
execute_process(
|
|
||||||
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--cflags" "gssapi"
|
|
||||||
OUTPUT_VARIABLE _GSS_CFLAGS
|
|
||||||
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
|
||||||
)
|
|
||||||
message(STATUS "CFLAGS: ${_GSS_CFLAGS}")
|
|
||||||
if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
|
|
||||||
# should also work in an odd case when multiple directories are given
|
|
||||||
string(STRIP "${_GSS_CFLAGS}" _GSS_CFLAGS)
|
|
||||||
string(REGEX REPLACE " +-I" ";" _GSS_CFLAGS "${_GSS_CFLAGS}")
|
|
||||||
string(REGEX REPLACE " +-([^I][^ \\t;]*)" ";-\\1"_GSS_CFLAGS "${_GSS_CFLAGS}")
|
|
||||||
|
|
||||||
foreach(_flag ${_GSS_CFLAGS})
|
|
||||||
if(_flag MATCHES "^-I.*")
|
|
||||||
string(REGEX REPLACE "^-I" "" _val "${_flag}")
|
|
||||||
list(APPEND _GSS_INCLUDE_DIR "${_val}")
|
|
||||||
else()
|
|
||||||
list(APPEND _GSS_COMPILER_FLAGS "${_flag}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--libs" "gssapi"
|
|
||||||
OUTPUT_VARIABLE _GSS_LIB_FLAGS
|
|
||||||
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
|
||||||
)
|
|
||||||
message(STATUS "LDFLAGS: ${_GSS_LIB_FLAGS}")
|
|
||||||
if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
|
|
||||||
# this script gives us libraries and link directories. Blah. We have to deal with it.
|
|
||||||
string(STRIP "${_GSS_LIB_FLAGS}" _GSS_LIB_FLAGS)
|
|
||||||
string(REGEX REPLACE " +-(L|l)" ";-\\1" _GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
|
|
||||||
string(REGEX REPLACE " +-([^Ll][^ \\t;]*)" ";-\\1"_GSS_LIB_FLAGS "${_GSS_LIB_FLAGS}")
|
|
||||||
|
|
||||||
foreach(_flag ${_GSS_LIB_FLAGS})
|
|
||||||
if(_flag MATCHES "^-l.*")
|
|
||||||
string(REGEX REPLACE "^-l" "" _val "${_flag}")
|
|
||||||
list(APPEND _GSS_LIBRARIES "${_val}")
|
|
||||||
elseif(_flag MATCHES "^-L.*")
|
|
||||||
string(REGEX REPLACE "^-L" "" _val "${_flag}")
|
|
||||||
list(APPEND _GSS_LINK_DIRECTORIES "${_val}")
|
|
||||||
else()
|
|
||||||
list(APPEND _GSS_LINKER_FLAGS "${_flag}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--version"
|
|
||||||
OUTPUT_VARIABLE _GSS_VERSION
|
|
||||||
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
|
||||||
)
|
|
||||||
|
|
||||||
# older versions may not have the "--version" parameter. In this case we just don't care.
|
|
||||||
if(_GSS_CONFIGURE_FAILED)
|
|
||||||
set(_GSS_VERSION 0)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${_GSS_CONFIGURE_SCRIPT} "--vendor"
|
|
||||||
OUTPUT_VARIABLE _GSS_VENDOR
|
|
||||||
RESULT_VARIABLE _GSS_CONFIGURE_FAILED
|
|
||||||
)
|
|
||||||
|
|
||||||
# older versions may not have the "--vendor" parameter. In this case we just don't care.
|
|
||||||
if(_GSS_CONFIGURE_FAILED)
|
|
||||||
set(GSS_FLAVOUR "Heimdal") # most probably, shouldn't really matter
|
|
||||||
else()
|
|
||||||
if(_GSS_VENDOR MATCHES ".*H|heimdal.*")
|
|
||||||
set(GSS_FLAVOUR "Heimdal")
|
|
||||||
else()
|
|
||||||
set(GSS_FLAVOUR "MIT")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
else() # either there is no config script or we are on platform that doesn't provide one (Windows?)
|
|
||||||
|
|
||||||
find_path(_GSS_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
"gssapi/gssapi.h"
|
|
||||||
HINTS
|
|
||||||
${_GSS_ROOT_HINTS}
|
|
||||||
PATH_SUFFIXES
|
|
||||||
include
|
|
||||||
inc
|
|
||||||
)
|
|
||||||
|
|
||||||
if(_GSS_INCLUDE_DIR) #jay, we've found something
|
|
||||||
set(CMAKE_REQUIRED_INCLUDES "${_GSS_INCLUDE_DIR}")
|
|
||||||
check_include_files( "gssapi/gssapi_generic.h;gssapi/gssapi_krb5.h" _GSS_HAVE_MIT_HEADERS)
|
|
||||||
|
|
||||||
if(_GSS_HAVE_MIT_HEADERS)
|
|
||||||
set(GSS_FLAVOUR "MIT")
|
|
||||||
else()
|
|
||||||
# prevent compiling the header - just check if we can include it
|
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D__ROKEN_H__")
|
|
||||||
check_include_file( "roken.h" _GSS_HAVE_ROKEN_H)
|
|
||||||
|
|
||||||
check_include_file( "heimdal/roken.h" _GSS_HAVE_HEIMDAL_ROKEN_H)
|
|
||||||
if(_GSS_HAVE_ROKEN_H OR _GSS_HAVE_HEIMDAL_ROKEN_H)
|
|
||||||
set(GSS_FLAVOUR "Heimdal")
|
|
||||||
endif()
|
|
||||||
set(CMAKE_REQUIRED_DEFINITIONS "")
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
# I'm not convienced if this is the right way but this is what autotools do at the moment
|
|
||||||
find_path(_GSS_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
"gssapi.h"
|
|
||||||
HINTS
|
|
||||||
${_GSS_ROOT_HINTS}
|
|
||||||
PATH_SUFFIXES
|
|
||||||
include
|
|
||||||
inc
|
|
||||||
)
|
|
||||||
|
|
||||||
if(_GSS_INCLUDE_DIR)
|
|
||||||
set(GSS_FLAVOUR "Heimdal")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# if we have headers, check if we can link libraries
|
|
||||||
if(GSS_FLAVOUR)
|
|
||||||
set(_GSS_LIBDIR_SUFFIXES "")
|
|
||||||
set(_GSS_LIBDIR_HINTS ${_GSS_ROOT_HINTS})
|
|
||||||
get_filename_component(_GSS_CALCULATED_POTENTIAL_ROOT "${_GSS_INCLUDE_DIR}" PATH)
|
|
||||||
list(APPEND _GSS_LIBDIR_HINTS ${_GSS_CALCULATED_POTENTIAL_ROOT})
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
||||||
list(APPEND _GSS_LIBDIR_SUFFIXES "lib/AMD64")
|
|
||||||
if(GSS_FLAVOUR STREQUAL "MIT")
|
|
||||||
set(_GSS_LIBNAME "gssapi64")
|
|
||||||
else()
|
|
||||||
set(_GSS_LIBNAME "libgssapi")
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
list(APPEND _GSS_LIBDIR_SUFFIXES "lib/i386")
|
|
||||||
if(GSS_FLAVOUR STREQUAL "MIT")
|
|
||||||
set(_GSS_LIBNAME "gssapi32")
|
|
||||||
else()
|
|
||||||
set(_GSS_LIBNAME "libgssapi")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
list(APPEND _GSS_LIBDIR_SUFFIXES "lib;lib64") # those suffixes are not checked for HINTS
|
|
||||||
if(GSS_FLAVOUR STREQUAL "MIT")
|
|
||||||
set(_GSS_LIBNAME "gssapi_krb5")
|
|
||||||
else()
|
|
||||||
set(_GSS_LIBNAME "gssapi")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_library(_GSS_LIBRARIES
|
|
||||||
NAMES
|
|
||||||
${_GSS_LIBNAME}
|
|
||||||
HINTS
|
|
||||||
${_GSS_LIBDIR_HINTS}
|
|
||||||
PATH_SUFFIXES
|
|
||||||
${_GSS_LIBDIR_SUFFIXES}
|
|
||||||
)
|
|
||||||
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
if(_GSS_PKG_${_MIT_MODNAME}_VERSION)
|
|
||||||
set(GSS_FLAVOUR "MIT")
|
set(GSS_FLAVOUR "MIT")
|
||||||
set(_GSS_VERSION _GSS_PKG_${_MIT_MODNAME}_VERSION)
|
else()
|
||||||
|
# prevent compiling the header - just check if we can include it
|
||||||
|
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D__ROKEN_H__")
|
||||||
|
check_include_file( "roken.h" _GSS_HAVE_ROKEN_H)
|
||||||
|
|
||||||
|
check_include_file( "heimdal/roken.h" _GSS_HAVE_HEIMDAL_ROKEN_H)
|
||||||
|
if(_GSS_HAVE_ROKEN_H OR _GSS_HAVE_HEIMDAL_ROKEN_H)
|
||||||
|
set(GSS_FLAVOUR "Heimdal")
|
||||||
|
endif()
|
||||||
|
set(CMAKE_REQUIRED_DEFINITIONS "")
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
|
# I'm not convienced if this is the right way but this is what autotools do at the moment
|
||||||
|
find_path(_GSS_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
"gssapi.h"
|
||||||
|
HINTS
|
||||||
|
${_GSS_ROOT_HINTS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
inc
|
||||||
|
)
|
||||||
|
|
||||||
|
if(_GSS_INCLUDE_DIR)
|
||||||
set(GSS_FLAVOUR "Heimdal")
|
set(GSS_FLAVOUR "Heimdal")
|
||||||
set(_GSS_VERSION _GSS_PKG_${_MIT_HEIMDAL}_VERSION)
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# if we have headers, check if we can link libraries
|
||||||
|
if(GSS_FLAVOUR)
|
||||||
|
set(_GSS_LIBDIR_SUFFIXES "")
|
||||||
|
set(_GSS_LIBDIR_HINTS ${_GSS_ROOT_HINTS})
|
||||||
|
get_filename_component(_GSS_CALCULATED_POTENTIAL_ROOT "${_GSS_INCLUDE_DIR}" PATH)
|
||||||
|
list(APPEND _GSS_LIBDIR_HINTS ${_GSS_CALCULATED_POTENTIAL_ROOT})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
list(APPEND _GSS_LIBDIR_SUFFIXES "lib/AMD64")
|
||||||
|
if(GSS_FLAVOUR STREQUAL "MIT")
|
||||||
|
set(_GSS_LIBNAME "gssapi64")
|
||||||
|
else()
|
||||||
|
set(_GSS_LIBNAME "libgssapi")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
list(APPEND _GSS_LIBDIR_SUFFIXES "lib/i386")
|
||||||
|
if(GSS_FLAVOUR STREQUAL "MIT")
|
||||||
|
set(_GSS_LIBNAME "gssapi32")
|
||||||
|
else()
|
||||||
|
set(_GSS_LIBNAME "libgssapi")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
list(APPEND _GSS_LIBDIR_SUFFIXES "lib;lib64") # those suffixes are not checked for HINTS
|
||||||
|
if(GSS_FLAVOUR STREQUAL "MIT")
|
||||||
|
set(_GSS_LIBNAME "gssapi_krb5")
|
||||||
|
else()
|
||||||
|
set(_GSS_LIBNAME "gssapi")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_library(_GSS_LIBRARIES
|
||||||
|
NAMES
|
||||||
|
${_GSS_LIBNAME}
|
||||||
|
HINTS
|
||||||
|
${_GSS_LIBDIR_HINTS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
${_GSS_LIBDIR_SUFFIXES}
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
if(_GSS_PKG_${_MIT_MODNAME}_VERSION)
|
||||||
|
set(GSS_FLAVOUR "MIT")
|
||||||
|
set(_GSS_VERSION _GSS_PKG_${_MIT_MODNAME}_VERSION)
|
||||||
|
else()
|
||||||
|
set(GSS_FLAVOUR "Heimdal")
|
||||||
|
set(_GSS_VERSION _GSS_PKG_${_MIT_HEIMDAL}_VERSION)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(GSS_INCLUDE_DIR ${_GSS_INCLUDE_DIR})
|
set(GSS_INCLUDE_DIR ${_GSS_INCLUDE_DIR})
|
||||||
@ -243,35 +241,33 @@ set(GSS_COMPILER_FLAGS ${_GSS_COMPILER_FLAGS})
|
|||||||
set(GSS_VERSION ${_GSS_VERSION})
|
set(GSS_VERSION ${_GSS_VERSION})
|
||||||
|
|
||||||
if(GSS_FLAVOUR)
|
if(GSS_FLAVOUR)
|
||||||
|
if(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "Heimdal")
|
||||||
if(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "Heimdal")
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.amd64.manifest")
|
||||||
set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.amd64.manifest")
|
else()
|
||||||
else()
|
set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.x86.manifest")
|
||||||
set(HEIMDAL_MANIFEST_FILE "Heimdal.Application.x86.manifest")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EXISTS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}")
|
|
||||||
file(STRINGS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}" heimdal_version_str
|
|
||||||
REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$")
|
|
||||||
|
|
||||||
string(REGEX MATCH "[0-9]\\.[^\"]+"
|
|
||||||
GSS_VERSION "${heimdal_version_str}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT GSS_VERSION)
|
|
||||||
set(GSS_VERSION "Heimdal Unknown")
|
|
||||||
endif()
|
|
||||||
elseif(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "MIT")
|
|
||||||
get_filename_component(_MIT_VERSION "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME CACHE)
|
|
||||||
if(WIN32 AND _MIT_VERSION)
|
|
||||||
set(GSS_VERSION "${_MIT_VERSION}")
|
|
||||||
else()
|
|
||||||
set(GSS_VERSION "MIT Unknown")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
|
||||||
|
|
||||||
|
if(EXISTS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}")
|
||||||
|
file(STRINGS "${GSS_INCLUDE_DIR}/${HEIMDAL_MANIFEST_FILE}" heimdal_version_str
|
||||||
|
REGEX "^.*version=\"[0-9]\\.[^\"]+\".*$")
|
||||||
|
|
||||||
|
string(REGEX MATCH "[0-9]\\.[^\"]+"
|
||||||
|
GSS_VERSION "${heimdal_version_str}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT GSS_VERSION)
|
||||||
|
set(GSS_VERSION "Heimdal Unknown")
|
||||||
|
endif()
|
||||||
|
elseif(NOT GSS_VERSION AND GSS_FLAVOUR STREQUAL "MIT")
|
||||||
|
get_filename_component(_MIT_VERSION "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MIT\\Kerberos\\SDK\\CurrentVersion;VersionString]" NAME CACHE)
|
||||||
|
if(WIN32 AND _MIT_VERSION)
|
||||||
|
set(GSS_VERSION "${_MIT_VERSION}")
|
||||||
|
else()
|
||||||
|
set(GSS_VERSION "MIT Unknown")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
# LIBSSH2_INCLUDE_DIR - the libssh2 include directory
|
# LIBSSH2_INCLUDE_DIR - the libssh2 include directory
|
||||||
# LIBSSH2_LIBRARY - the libssh2 library name
|
# LIBSSH2_LIBRARY - the libssh2 library name
|
||||||
|
|
||||||
if (LIBSSH2_INCLUDE_DIR AND LIBSSH2_LIBRARY)
|
if(LIBSSH2_INCLUDE_DIR AND LIBSSH2_LIBRARY)
|
||||||
set(LibSSH2_FIND_QUIETLY TRUE)
|
set(LibSSH2_FIND_QUIETLY TRUE)
|
||||||
endif (LIBSSH2_INCLUDE_DIR AND LIBSSH2_LIBRARY)
|
endif()
|
||||||
|
|
||||||
FIND_PATH(LIBSSH2_INCLUDE_DIR libssh2.h
|
find_path(LIBSSH2_INCLUDE_DIR libssh2.h
|
||||||
)
|
)
|
||||||
|
|
||||||
FIND_LIBRARY(LIBSSH2_LIBRARY NAMES ssh2
|
find_library(LIBSSH2_LIBRARY NAMES ssh2
|
||||||
)
|
)
|
||||||
|
|
||||||
if(LIBSSH2_INCLUDE_DIR)
|
if(LIBSSH2_INCLUDE_DIR)
|
||||||
@ -27,9 +27,9 @@ if(LIBSSH2_INCLUDE_DIR)
|
|||||||
string(REGEX REPLACE "^0(.+)" "\\1" LIBSSH2_VERSION_PATCH "${LIBSSH2_VERSION_PATCH}")
|
string(REGEX REPLACE "^0(.+)" "\\1" LIBSSH2_VERSION_PATCH "${LIBSSH2_VERSION_PATCH}")
|
||||||
|
|
||||||
set(LIBSSH2_VERSION "${LIBSSH2_VERSION_MAJOR}.${LIBSSH2_VERSION_MINOR}.${LIBSSH2_VERSION_PATCH}")
|
set(LIBSSH2_VERSION "${LIBSSH2_VERSION_MAJOR}.${LIBSSH2_VERSION_MINOR}.${LIBSSH2_VERSION_PATCH}")
|
||||||
endif(LIBSSH2_INCLUDE_DIR)
|
endif()
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibSSH2 DEFAULT_MSG LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY )
|
find_package_handle_standard_args(LibSSH2 DEFAULT_MSG LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY )
|
||||||
|
|
||||||
MARK_AS_ADVANCED(LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY LIBSSH2_VERSION_MAJOR LIBSSH2_VERSION_MINOR LIBSSH2_VERSION_PATCH LIBSSH2_VERSION)
|
mark_as_advanced(LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY LIBSSH2_VERSION_MAJOR LIBSSH2_VERSION_MINOR LIBSSH2_VERSION_PATCH LIBSSH2_VERSION)
|
||||||
|
@ -14,5 +14,5 @@ find_package_handle_standard_args(NGHTTP2
|
|||||||
"Could NOT find NGHTTP2"
|
"Could NOT find NGHTTP2"
|
||||||
)
|
)
|
||||||
|
|
||||||
set(NGHTTP2_INCLUDE_DIRS ${NGHTTP2_INCLUDE_DIR} )
|
set(NGHTTP2_INCLUDE_DIRS ${NGHTTP2_INCLUDE_DIR})
|
||||||
set(NGHTTP2_LIBRARIES ${NGHTTP2_LIBRARY})
|
set(NGHTTP2_LIBRARIES ${NGHTTP2_LIBRARY})
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
# multiple times with a sequence of possibly dependent libraries in
|
# multiple times with a sequence of possibly dependent libraries in
|
||||||
# order of least-to-most-dependent. Some libraries depend on others
|
# order of least-to-most-dependent. Some libraries depend on others
|
||||||
# to link correctly.
|
# to link correctly.
|
||||||
macro(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
|
macro(check_library_exists_concat LIBRARY SYMBOL VARIABLE)
|
||||||
check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} "${CMAKE_LIBRARY_PATH}"
|
check_library_exists("${LIBRARY};${CURL_LIBS}" ${SYMBOL} "${CMAKE_LIBRARY_PATH}"
|
||||||
${VARIABLE})
|
${VARIABLE})
|
||||||
if(${VARIABLE})
|
if(${VARIABLE})
|
||||||
@ -17,7 +17,7 @@ endmacro()
|
|||||||
# This macro is intended to be called multiple times with a sequence of
|
# This macro is intended to be called multiple times with a sequence of
|
||||||
# possibly dependent header files. Some headers depend on others to be
|
# possibly dependent header files. Some headers depend on others to be
|
||||||
# compiled correctly.
|
# compiled correctly.
|
||||||
macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
|
macro(check_include_file_concat FILE VARIABLE)
|
||||||
check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
|
check_include_files("${CURL_INCLUDES};${FILE}" ${VARIABLE})
|
||||||
if(${VARIABLE})
|
if(${VARIABLE})
|
||||||
set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
|
set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
|
||||||
@ -26,7 +26,7 @@ macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
|
|||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# For other curl specific tests, use this macro.
|
# For other curl specific tests, use this macro.
|
||||||
macro(CURL_INTERNAL_TEST CURL_TEST)
|
macro(curl_internal_test CURL_TEST)
|
||||||
if(NOT DEFINED "${CURL_TEST}")
|
if(NOT DEFINED "${CURL_TEST}")
|
||||||
set(MACRO_CHECK_FUNCTION_DEFINITIONS
|
set(MACRO_CHECK_FUNCTION_DEFINITIONS
|
||||||
"-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
|
"-D${CURL_TEST} ${CURL_TEST_DEFINES} ${CMAKE_REQUIRED_FLAGS}")
|
||||||
@ -58,43 +58,7 @@ macro(CURL_INTERNAL_TEST CURL_TEST)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
|
macro(curl_nroff_check)
|
||||||
if(NOT DEFINED "${CURL_TEST}_COMPILE")
|
|
||||||
set(MACRO_CHECK_FUNCTION_DEFINITIONS
|
|
||||||
"-D${CURL_TEST} ${CMAKE_REQUIRED_FLAGS}")
|
|
||||||
if(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
set(CURL_TEST_ADD_LIBRARIES
|
|
||||||
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST}")
|
|
||||||
try_run(${CURL_TEST} ${CURL_TEST}_COMPILE
|
|
||||||
${CMAKE_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/CMake/CurlTests.c
|
|
||||||
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
|
|
||||||
"${CURL_TEST_ADD_LIBRARIES}"
|
|
||||||
OUTPUT_VARIABLE OUTPUT)
|
|
||||||
if(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
|
|
||||||
set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
|
|
||||||
else()
|
|
||||||
message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
|
|
||||||
set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
|
|
||||||
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"Performing Curl Test ${CURL_TEST} failed with the following output:\n"
|
|
||||||
"${OUTPUT}")
|
|
||||||
if(${CURL_TEST}_COMPILE)
|
|
||||||
file(APPEND
|
|
||||||
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"There was a problem running this test\n")
|
|
||||||
endif()
|
|
||||||
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
|
|
||||||
"\n\n")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endmacro()
|
|
||||||
|
|
||||||
macro(CURL_NROFF_CHECK)
|
|
||||||
find_program(NROFF NAMES gnroff nroff)
|
find_program(NROFF NAMES gnroff nroff)
|
||||||
if(NROFF)
|
if(NROFF)
|
||||||
# Need a way to write to stdin, this will do
|
# Need a way to write to stdin, this will do
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
endif()
|
||||||
|
|
||||||
if (NOT DEFINED CMAKE_INSTALL_PREFIX)
|
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||||
set (CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
|
set(CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
|
||||||
endif ()
|
endif()
|
||||||
message(${CMAKE_INSTALL_PREFIX})
|
message(${CMAKE_INSTALL_PREFIX})
|
||||||
|
|
||||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
@ -19,8 +19,8 @@ foreach(file ${files})
|
|||||||
)
|
)
|
||||||
if(NOT "${rm_retval}" STREQUAL 0)
|
if(NOT "${rm_retval}" STREQUAL 0)
|
||||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||||
endif(NOT "${rm_retval}" STREQUAL 0)
|
endif()
|
||||||
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
else()
|
||||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||||
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
endif()
|
||||||
endforeach(file)
|
endforeach()
|
||||||
|
@ -2,58 +2,58 @@
|
|||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||||
|
|
||||||
if(NOT CURL_FIND_COMPONENTS)
|
if(NOT CURL_FIND_COMPONENTS)
|
||||||
set(CURL_FIND_COMPONENTS curl libcurl)
|
set(CURL_FIND_COMPONENTS curl libcurl)
|
||||||
if(CURL_FIND_REQUIRED)
|
if(CURL_FIND_REQUIRED)
|
||||||
set(CURL_FIND_REQUIRED_curl TRUE)
|
set(CURL_FIND_REQUIRED_curl TRUE)
|
||||||
set(CURL_FIND_REQUIRED_libcurl TRUE)
|
set(CURL_FIND_REQUIRED_libcurl TRUE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(_curl_missing_components)
|
set(_curl_missing_components)
|
||||||
foreach(_comp ${CURL_FIND_COMPONENTS})
|
foreach(_comp ${CURL_FIND_COMPONENTS})
|
||||||
if(EXISTS "${_DIR}/${_comp}-target.cmake")
|
if(EXISTS "${_DIR}/${_comp}-target.cmake")
|
||||||
include("${_DIR}/${_comp}-target.cmake")
|
include("${_DIR}/${_comp}-target.cmake")
|
||||||
set(CURL_${_comp}_FOUND TRUE)
|
set(CURL_${_comp}_FOUND TRUE)
|
||||||
else()
|
else()
|
||||||
set(CURL_${_comp}_FOUND FALSE)
|
set(CURL_${_comp}_FOUND FALSE)
|
||||||
if(CURL_FIND_REQUIRED_${_comp})
|
if(CURL_FIND_REQUIRED_${_comp})
|
||||||
set(CURL_FOUND FALSE)
|
set(CURL_FOUND FALSE)
|
||||||
list(APPEND _curl_missing_components ${_comp})
|
list(APPEND _curl_missing_components ${_comp})
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(_curl_missing_components)
|
if(_curl_missing_components)
|
||||||
set(CURL_NOT_FOUND_MESSAGE "Following required components not found: " ${_curl_missing_components})
|
set(CURL_NOT_FOUND_MESSAGE "Following required components not found: " ${_curl_missing_components})
|
||||||
else()
|
else()
|
||||||
if(TARGET CURL::libcurl)
|
if(TARGET CURL::libcurl)
|
||||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" _curl_current_config)
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" _curl_current_config)
|
||||||
if(NOT _curl_current_config)
|
if(NOT _curl_current_config)
|
||||||
set(_curl_current_config "NOCONFIG")
|
set(_curl_current_config "NOCONFIG")
|
||||||
endif()
|
|
||||||
get_target_property(_curl_configurations CURL::libcurl IMPORTED_CONFIGURATIONS)
|
|
||||||
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
|
||||||
if(_i LESS 0)
|
|
||||||
set(_curl_config "RELEASE")
|
|
||||||
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
|
||||||
if(_i LESS 0)
|
|
||||||
set(_curl_config "NOCONFIG")
|
|
||||||
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(_i LESS 0)
|
|
||||||
set(_curl_current_config "") # let CMake pick config at random
|
|
||||||
else()
|
|
||||||
set(_curl_current_config "_${_curl_current_config}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
get_target_property(CURL_INCLUDE_DIRS CURL::libcurl INTERFACE_INCLUDE_DIRECTORIES)
|
|
||||||
get_target_property(CURL_LIBRARIES CURL::libcurl "LOCATION${_curl_current_config}")
|
|
||||||
set(_curl_current_config)
|
|
||||||
set(_curl_configurations)
|
|
||||||
set(_i)
|
|
||||||
endif()
|
endif()
|
||||||
|
get_target_property(_curl_configurations CURL::libcurl IMPORTED_CONFIGURATIONS)
|
||||||
|
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
||||||
|
if(_i LESS 0)
|
||||||
|
set(_curl_config "RELEASE")
|
||||||
|
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
||||||
|
if(_i LESS 0)
|
||||||
|
set(_curl_config "NOCONFIG")
|
||||||
|
list(FIND _curl_configurations "${_curl_current_config}" _i)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(_i LESS 0)
|
||||||
|
set(_curl_current_config "") # let CMake pick config at random
|
||||||
|
else()
|
||||||
|
set(_curl_current_config "_${_curl_current_config}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_target_property(CURL_INCLUDE_DIRS CURL::libcurl INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
|
get_target_property(CURL_LIBRARIES CURL::libcurl "LOCATION${_curl_current_config}")
|
||||||
|
set(_curl_current_config)
|
||||||
|
set(_curl_configurations)
|
||||||
|
set(_i)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
unset(_curl_missing_components)
|
unset(_curl_missing_components)
|
||||||
|
133
CMakeLists.txt
133
CMakeLists.txt
@ -45,17 +45,17 @@ include(Macros)
|
|||||||
include(CMakeDependentOption)
|
include(CMakeDependentOption)
|
||||||
include(CheckCCompilerFlag)
|
include(CheckCCompilerFlag)
|
||||||
|
|
||||||
project( CURL C )
|
project(CURL C)
|
||||||
|
|
||||||
message(WARNING "the curl cmake build system is poorly maintained. Be aware")
|
message(WARNING "the curl cmake build system is poorly maintained. Be aware")
|
||||||
|
|
||||||
file (READ ${CURL_SOURCE_DIR}/include/curl/curlver.h CURL_VERSION_H_CONTENTS)
|
file(READ ${CURL_SOURCE_DIR}/include/curl/curlver.h CURL_VERSION_H_CONTENTS)
|
||||||
string (REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*"
|
string(REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*"
|
||||||
CURL_VERSION ${CURL_VERSION_H_CONTENTS})
|
CURL_VERSION ${CURL_VERSION_H_CONTENTS})
|
||||||
string (REGEX REPLACE "[^\"]+\"" "" CURL_VERSION ${CURL_VERSION})
|
string(REGEX REPLACE "[^\"]+\"" "" CURL_VERSION ${CURL_VERSION})
|
||||||
string (REGEX MATCH "#define LIBCURL_VERSION_NUM 0x[0-9a-fA-F]+"
|
string(REGEX MATCH "#define LIBCURL_VERSION_NUM 0x[0-9a-fA-F]+"
|
||||||
CURL_VERSION_NUM ${CURL_VERSION_H_CONTENTS})
|
CURL_VERSION_NUM ${CURL_VERSION_H_CONTENTS})
|
||||||
string (REGEX REPLACE "[^0]+0x" "" CURL_VERSION_NUM ${CURL_VERSION_NUM})
|
string(REGEX REPLACE "[^0]+0x" "" CURL_VERSION_NUM ${CURL_VERSION_NUM})
|
||||||
|
|
||||||
include_regular_expression("^.*$") # Sukender: Is it necessary?
|
include_regular_expression("^.*$") # Sukender: Is it necessary?
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}")
|
|||||||
set(OS "\"${CMAKE_SYSTEM_NAME}\"")
|
set(OS "\"${CMAKE_SYSTEM_NAME}\"")
|
||||||
|
|
||||||
include_directories(${PROJECT_BINARY_DIR}/include/curl)
|
include_directories(${PROJECT_BINARY_DIR}/include/curl)
|
||||||
include_directories( ${CURL_SOURCE_DIR}/include )
|
include_directories(${CURL_SOURCE_DIR}/include)
|
||||||
|
|
||||||
option(CURL_WERROR "Turn compiler warnings into errors" OFF)
|
option(CURL_WERROR "Turn compiler warnings into errors" OFF)
|
||||||
option(PICKY_COMPILER "Enable picky compiler options" ON)
|
option(PICKY_COMPILER "Enable picky compiler options" ON)
|
||||||
@ -83,7 +83,7 @@ if(WIN32)
|
|||||||
option(ENABLE_INET_PTON "Set to OFF to prevent usage of inet_pton when building against modern SDKs while still requiring compatibility with older Windows versions, such as Windows XP, Windows Server 2003 etc." ON)
|
option(ENABLE_INET_PTON "Set to OFF to prevent usage of inet_pton when building against modern SDKs while still requiring compatibility with older Windows versions, such as Windows XP, Windows Server 2003 etc." ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
CMAKE_DEPENDENT_OPTION(ENABLE_THREADED_RESOLVER "Set to ON to enable threaded DNS lookup"
|
cmake_dependent_option(ENABLE_THREADED_RESOLVER "Set to ON to enable threaded DNS lookup"
|
||||||
ON "NOT ENABLE_ARES"
|
ON "NOT ENABLE_ARES"
|
||||||
OFF)
|
OFF)
|
||||||
|
|
||||||
@ -91,11 +91,11 @@ option(ENABLE_DEBUG "Set to ON to enable curl debug features" OFF)
|
|||||||
option(ENABLE_CURLDEBUG "Set to ON to build with TrackMemory feature enabled" OFF)
|
option(ENABLE_CURLDEBUG "Set to ON to build with TrackMemory feature enabled" OFF)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
||||||
if (PICKY_COMPILER)
|
if(PICKY_COMPILER)
|
||||||
foreach (_CCOPT -pedantic -Wall -W -Wpointer-arith -Wwrite-strings -Wunused -Wshadow -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wfloat-equal -Wno-multichar -Wsign-compare -Wundef -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wstrict-aliasing=3 -Wcast-align -Wtype-limits -Wold-style-declaration -Wmissing-parameter-type -Wempty-body -Wclobbered -Wignored-qualifiers -Wconversion -Wno-sign-conversion -Wvla -Wdouble-promotion -Wno-system-headers)
|
foreach(_CCOPT -pedantic -Wall -W -Wpointer-arith -Wwrite-strings -Wunused -Wshadow -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wfloat-equal -Wno-multichar -Wsign-compare -Wundef -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wstrict-aliasing=3 -Wcast-align -Wtype-limits -Wold-style-declaration -Wmissing-parameter-type -Wempty-body -Wclobbered -Wignored-qualifiers -Wconversion -Wno-sign-conversion -Wvla -Wdouble-promotion -Wno-system-headers)
|
||||||
# surprisingly, CHECK_C_COMPILER_FLAG needs a new variable to store each new
|
# surprisingly, CHECK_C_COMPILER_FLAG needs a new variable to store each new
|
||||||
# test result in.
|
# test result in.
|
||||||
CHECK_C_COMPILER_FLAG(${_CCOPT} OPT${_CCOPT})
|
check_c_compiler_flag(${_CCOPT} OPT${_CCOPT})
|
||||||
if(OPT${_CCOPT})
|
if(OPT${_CCOPT})
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")
|
||||||
endif()
|
endif()
|
||||||
@ -103,7 +103,7 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_DEBUG)
|
if(ENABLE_DEBUG)
|
||||||
# DEBUGBUILD will be defined only for Debug builds
|
# DEBUGBUILD will be defined only for Debug builds
|
||||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
if(NOT CMAKE_VERSION VERSION_LESS 3.0)
|
||||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUGBUILD>)
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUGBUILD>)
|
||||||
@ -113,7 +113,7 @@ if (ENABLE_DEBUG)
|
|||||||
set(ENABLE_CURLDEBUG ON)
|
set(ENABLE_CURLDEBUG ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_CURLDEBUG)
|
if(ENABLE_CURLDEBUG)
|
||||||
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS CURLDEBUG)
|
set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS CURLDEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ set(CURL_LIBS "")
|
|||||||
if(ENABLE_ARES)
|
if(ENABLE_ARES)
|
||||||
set(USE_ARES 1)
|
set(USE_ARES 1)
|
||||||
find_package(CARES REQUIRED)
|
find_package(CARES REQUIRED)
|
||||||
list(APPEND CURL_LIBS ${CARES_LIBRARY} )
|
list(APPEND CURL_LIBS ${CARES_LIBRARY})
|
||||||
set(CURL_LIBS ${CURL_LIBS} ${CARES_LIBRARY})
|
set(CURL_LIBS ${CURL_LIBS} ${CARES_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -205,10 +205,10 @@ if(ENABLE_IPV6 AND NOT WIN32)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
CURL_NROFF_CHECK()
|
curl_nroff_check()
|
||||||
find_package(Perl)
|
find_package(Perl)
|
||||||
|
|
||||||
CMAKE_DEPENDENT_OPTION(ENABLE_MANUAL "to provide the built-in manual"
|
cmake_dependent_option(ENABLE_MANUAL "to provide the built-in manual"
|
||||||
ON "NROFF_USEFUL;PERL_FOUND"
|
ON "NROFF_USEFUL;PERL_FOUND"
|
||||||
OFF)
|
OFF)
|
||||||
|
|
||||||
@ -240,14 +240,14 @@ if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Include all the necessary files for macros
|
# Include all the necessary files for macros
|
||||||
include (CheckFunctionExists)
|
include(CheckFunctionExists)
|
||||||
include (CheckIncludeFile)
|
include(CheckIncludeFile)
|
||||||
include (CheckIncludeFiles)
|
include(CheckIncludeFiles)
|
||||||
include (CheckLibraryExists)
|
include(CheckLibraryExists)
|
||||||
include (CheckSymbolExists)
|
include(CheckSymbolExists)
|
||||||
include (CheckTypeSize)
|
include(CheckTypeSize)
|
||||||
include (CheckCSourceCompiles)
|
include(CheckCSourceCompiles)
|
||||||
include (CMakeDependentOption)
|
include(CMakeDependentOption)
|
||||||
|
|
||||||
# On windows preload settings
|
# On windows preload settings
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -475,7 +475,6 @@ if(NOT CURL_DISABLE_LDAP)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# No ldap, no ldaps.
|
# No ldap, no ldaps.
|
||||||
@ -625,7 +624,6 @@ else()
|
|||||||
unset(USE_UNIX_SOCKETS CACHE)
|
unset(USE_UNIX_SOCKETS CACHE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# CA handling
|
# CA handling
|
||||||
#
|
#
|
||||||
@ -637,67 +635,66 @@ set(CURL_CA_PATH "auto" CACHE STRING
|
|||||||
"Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
|
"Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
|
||||||
|
|
||||||
if("${CURL_CA_BUNDLE}" STREQUAL "")
|
if("${CURL_CA_BUNDLE}" STREQUAL "")
|
||||||
message(FATAL_ERROR "Invalid value of CURL_CA_BUNDLE. Use 'none', 'auto' or file path.")
|
message(FATAL_ERROR "Invalid value of CURL_CA_BUNDLE. Use 'none', 'auto' or file path.")
|
||||||
elseif("${CURL_CA_BUNDLE}" STREQUAL "none")
|
elseif("${CURL_CA_BUNDLE}" STREQUAL "none")
|
||||||
unset(CURL_CA_BUNDLE CACHE)
|
unset(CURL_CA_BUNDLE CACHE)
|
||||||
elseif("${CURL_CA_BUNDLE}" STREQUAL "auto")
|
elseif("${CURL_CA_BUNDLE}" STREQUAL "auto")
|
||||||
unset(CURL_CA_BUNDLE CACHE)
|
unset(CURL_CA_BUNDLE CACHE)
|
||||||
set(CURL_CA_BUNDLE_AUTODETECT TRUE)
|
set(CURL_CA_BUNDLE_AUTODETECT TRUE)
|
||||||
else()
|
else()
|
||||||
set(CURL_CA_BUNDLE_SET TRUE)
|
set(CURL_CA_BUNDLE_SET TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("${CURL_CA_PATH}" STREQUAL "")
|
if("${CURL_CA_PATH}" STREQUAL "")
|
||||||
message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.")
|
message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.")
|
||||||
elseif("${CURL_CA_PATH}" STREQUAL "none")
|
elseif("${CURL_CA_PATH}" STREQUAL "none")
|
||||||
unset(CURL_CA_PATH CACHE)
|
unset(CURL_CA_PATH CACHE)
|
||||||
elseif("${CURL_CA_PATH}" STREQUAL "auto")
|
elseif("${CURL_CA_PATH}" STREQUAL "auto")
|
||||||
unset(CURL_CA_PATH CACHE)
|
unset(CURL_CA_PATH CACHE)
|
||||||
set(CURL_CA_PATH_AUTODETECT TRUE)
|
set(CURL_CA_PATH_AUTODETECT TRUE)
|
||||||
else()
|
else()
|
||||||
set(CURL_CA_PATH_SET TRUE)
|
set(CURL_CA_PATH_SET TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CURL_CA_BUNDLE_SET AND CURL_CA_PATH_AUTODETECT)
|
if(CURL_CA_BUNDLE_SET AND CURL_CA_PATH_AUTODETECT)
|
||||||
# Skip autodetection of unset CA path because CA bundle is set explicitly
|
# Skip autodetection of unset CA path because CA bundle is set explicitly
|
||||||
elseif(CURL_CA_PATH_SET AND CURL_CA_BUNDLE_AUTODETECT)
|
elseif(CURL_CA_PATH_SET AND CURL_CA_BUNDLE_AUTODETECT)
|
||||||
# Skip autodetection of unset CA bundle because CA path is set explicitly
|
# Skip autodetection of unset CA bundle because CA path is set explicitly
|
||||||
elseif(CURL_CA_PATH_AUTODETECT OR CURL_CA_BUNDLE_AUTODETECT)
|
elseif(CURL_CA_PATH_AUTODETECT OR CURL_CA_BUNDLE_AUTODETECT)
|
||||||
# first try autodetecting a CA bundle, then a CA path
|
# first try autodetecting a CA bundle, then a CA path
|
||||||
|
|
||||||
if(CURL_CA_BUNDLE_AUTODETECT)
|
if(CURL_CA_BUNDLE_AUTODETECT)
|
||||||
set(SEARCH_CA_BUNDLE_PATHS
|
set(SEARCH_CA_BUNDLE_PATHS
|
||||||
/etc/ssl/certs/ca-certificates.crt
|
/etc/ssl/certs/ca-certificates.crt
|
||||||
/etc/pki/tls/certs/ca-bundle.crt
|
/etc/pki/tls/certs/ca-bundle.crt
|
||||||
/usr/share/ssl/certs/ca-bundle.crt
|
/usr/share/ssl/certs/ca-bundle.crt
|
||||||
/usr/local/share/certs/ca-root-nss.crt
|
/usr/local/share/certs/ca-root-nss.crt
|
||||||
/etc/ssl/cert.pem)
|
/etc/ssl/cert.pem)
|
||||||
|
|
||||||
foreach(SEARCH_CA_BUNDLE_PATH ${SEARCH_CA_BUNDLE_PATHS})
|
foreach(SEARCH_CA_BUNDLE_PATH ${SEARCH_CA_BUNDLE_PATHS})
|
||||||
if(EXISTS "${SEARCH_CA_BUNDLE_PATH}")
|
if(EXISTS "${SEARCH_CA_BUNDLE_PATH}")
|
||||||
message(STATUS "Found CA bundle: ${SEARCH_CA_BUNDLE_PATH}")
|
message(STATUS "Found CA bundle: ${SEARCH_CA_BUNDLE_PATH}")
|
||||||
set(CURL_CA_BUNDLE "${SEARCH_CA_BUNDLE_PATH}")
|
set(CURL_CA_BUNDLE "${SEARCH_CA_BUNDLE_PATH}")
|
||||||
set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
|
set(CURL_CA_BUNDLE_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
|
||||||
break()
|
break()
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CURL_CA_PATH_AUTODETECT AND (NOT CURL_CA_PATH_SET))
|
if(CURL_CA_PATH_AUTODETECT AND (NOT CURL_CA_PATH_SET))
|
||||||
if(EXISTS "/etc/ssl/certs")
|
if(EXISTS "/etc/ssl/certs")
|
||||||
set(CURL_CA_PATH "/etc/ssl/certs")
|
set(CURL_CA_PATH "/etc/ssl/certs")
|
||||||
set(CURL_CA_PATH_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
|
set(CURL_CA_PATH_SET TRUE CACHE BOOL "Path to the CA bundle has been set")
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CURL_CA_PATH_SET AND NOT USE_OPENSSL AND NOT USE_MBEDTLS)
|
if(CURL_CA_PATH_SET AND NOT USE_OPENSSL AND NOT USE_MBEDTLS)
|
||||||
message(FATAL_ERROR
|
message(FATAL_ERROR
|
||||||
"CA path only supported by OpenSSL, GnuTLS or mbed TLS. "
|
"CA path only supported by OpenSSL, GnuTLS or mbed TLS. "
|
||||||
"Set CURL_CA_PATH=none or enable one of those TLS backends.")
|
"Set CURL_CA_PATH=none or enable one of those TLS backends.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Check for header files
|
# Check for header files
|
||||||
if(NOT UNIX)
|
if(NOT UNIX)
|
||||||
check_include_file_concat("windows.h" HAVE_WINDOWS_H)
|
check_include_file_concat("windows.h" HAVE_WINDOWS_H)
|
||||||
@ -895,7 +892,7 @@ if(WIN32)
|
|||||||
add_definitions(-D_WIN32_WINNT=0x0501)
|
add_definitions(-D_WIN32_WINNT=0x0501)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
check_function_exists(inet_pton HAVE_INET_PTON)
|
check_function_exists(inet_pton HAVE_INET_PTON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
|
check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
|
||||||
@ -1148,9 +1145,9 @@ function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
|
|||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
if(WIN32 AND NOT CYGWIN)
|
if(WIN32 AND NOT CYGWIN)
|
||||||
set(CURL_INSTALL_CMAKE_DIR CMake)
|
set(CURL_INSTALL_CMAKE_DIR CMake)
|
||||||
else()
|
else()
|
||||||
set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl)
|
set(CURL_INSTALL_CMAKE_DIR lib/cmake/curl)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_MANUAL)
|
if(USE_MANUAL)
|
||||||
|
@ -80,7 +80,7 @@ endif()
|
|||||||
target_link_libraries(${LIB_NAME} ${CURL_LIBS})
|
target_link_libraries(${LIB_NAME} ${CURL_LIBS})
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
add_definitions( -D_USRDLL )
|
add_definitions(-D_USRDLL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(${LIB_NAME} PROPERTIES COMPILE_DEFINITIONS BUILDING_LIBCURL)
|
set_target_properties(${LIB_NAME} PROPERTIES COMPILE_DEFINITIONS BUILDING_LIBCURL)
|
||||||
@ -102,7 +102,7 @@ if(WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(${LIB_NAME} INTERFACE
|
target_include_directories(${LIB_NAME} INTERFACE
|
||||||
$<INSTALL_INTERFACE:include>)
|
$<INSTALL_INTERFACE:include>)
|
||||||
|
|
||||||
install(TARGETS ${LIB_NAME}
|
install(TARGETS ${LIB_NAME}
|
||||||
EXPORT libcurl-target
|
EXPORT libcurl-target
|
||||||
|
@ -62,7 +62,7 @@ include_directories(
|
|||||||
)
|
)
|
||||||
|
|
||||||
#Build curl executable
|
#Build curl executable
|
||||||
target_link_libraries( ${EXE_NAME} libcurl ${CURL_LIBS})
|
target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS})
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
set(TARGET_LABEL_PREFIX "Test ")
|
set(TARGET_LABEL_PREFIX "Test ")
|
||||||
|
|
||||||
function(SETUP_TEST TEST_NAME) # ARGN are the files in the test
|
function(setup_test TEST_NAME) # ARGN are the files in the test
|
||||||
add_executable( ${TEST_NAME} ${ARGN} )
|
add_executable( ${TEST_NAME} ${ARGN} )
|
||||||
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
|
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ function(SETUP_TEST TEST_NAME) # ARGN are the files in the test
|
|||||||
include_directories(${CARES_INCLUDE_DIR})
|
include_directories(${CARES_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries( ${TEST_NAME} libcurl ${CURL_LIBS})
|
target_link_libraries(${TEST_NAME} libcurl ${CURL_LIBS})
|
||||||
|
|
||||||
set_target_properties(${TEST_NAME}
|
set_target_properties(${TEST_NAME}
|
||||||
PROPERTIES COMPILE_DEFINITIONS ${UPPER_TEST_NAME})
|
PROPERTIES COMPILE_DEFINITIONS ${UPPER_TEST_NAME})
|
||||||
|
@ -5,7 +5,7 @@ if(MSVC)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test
|
function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test
|
||||||
add_executable( ${TEST_NAME} ${ARGN} )
|
add_executable(${TEST_NAME} ${ARGN})
|
||||||
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
|
string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -42,10 +42,10 @@ foreach(_testfile ${UT_SRC})
|
|||||||
|
|
||||||
if(HIDES_CURL_PRIVATE_SYMBOLS)
|
if(HIDES_CURL_PRIVATE_SYMBOLS)
|
||||||
set_target_properties(${_testname}
|
set_target_properties(${_testname}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
EXCLUDE_FROM_ALL TRUE
|
EXCLUDE_FROM_ALL TRUE
|
||||||
EXCLUDE_FROM_DEFAULT_BUILD TRUE
|
EXCLUDE_FROM_DEFAULT_BUILD TRUE
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
add_test(NAME ${_testname}
|
add_test(NAME ${_testname}
|
||||||
COMMAND ${_testname} "http://www.google.com"
|
COMMAND ${_testname} "http://www.google.com"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user