-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into issue1579_durack1_UpdateNetcdf4.3.3.1To4.4.0
- Loading branch information
Showing
9 changed files
with
220 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
set(CRYPTOGRAPHY_deps ${python_pkg} ${pip_pkg} ${cffi_pkg}) | ||
set(CRYPTOGRAPHY_deps ${python_pkg} ${pip_pkg} ${cffi_pkg} ${openssl_pkg}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
set(OPENSSL_deps ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
set (OPENSSL_SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/build/openssl") | ||
set (OPENSSL_INSTALL_DIR "${cdat_EXTERNALS}") | ||
|
||
execute_process (COMMAND uname -s COMMAND tr -d '\n' | ||
OUTPUT_VARIABLE HOST) | ||
STRING (TOLOWER ${HOST} HOST) | ||
execute_process (COMMAND uname -m COMMAND tr -d '\n' | ||
OUTPUT_VARIABLE ARCHITECTURE) | ||
|
||
get_filename_component (COMPILER "${CMAKE_C_COMPILER}" NAME_WE) | ||
|
||
if (APPLE) | ||
if (ARCHITECTURE MATCHES "64$") | ||
set (HOST "${HOST}64") | ||
endif () | ||
set (COMPILER "cc") | ||
endif () | ||
|
||
set (OPENSSL_CONF_ARGS "${HOST}-${ARCHITECTURE}-${COMPILER}") | ||
set (OPENSSL_CONF_ARGS | ||
${OPENSSL_CONF_ARGS} | ||
"--prefix=${OPENSSL_INSTALL_DIR}") | ||
|
||
ExternalProject_Add (openssl | ||
DOWNLOAD_DIR ${CDAT_PACKAGE_CACHE_DIR} | ||
SOURCE_DIR ${OPENSSL_SOURCE_DIR} | ||
INSTALL_DIR ${OPENSSL_INSTALL_DIR} | ||
URL ${OPENSSL_SOURCE_URL} | ||
URL_MD5 ${OPENSSL_MD5} | ||
BUILD_IN_SOURCE 1 | ||
CONFIGURE_COMMAND ${OPENSSL_SOURCE_DIR}/Configure ${OPENSSL_CONF_ARGS} | ||
DEPENDS ${OPENSSL_DEPS} | ||
${ep_log_options} | ||
) | ||
|
||
set (OPENSSL_INCLUDE_DIR "${OPENSSL_INSTALL_DIR}/include") | ||
set (OPENSSL_LIBRARY_DIR "${OPENSSL_INSTALL_DIR}/lib") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
option(CDAT_USE_SYSTEM_OPENSSL "Use system OpenSSL, if found." ON) | ||
mark_as_advanced(CDAT_USE_SYSTEM_OPENSSL) | ||
if(CDAT_USE_SYSTEM_OPENSSL) | ||
find_package(OpenSSL QUIET) | ||
if(OPENSSL_FOUND) | ||
get_filename_component(OPENSSL_LIBRARY_DIR | ||
"${OPENSSL_SSL_LIBRARY}" DIRECTORY) | ||
message(STATUS "System OpenSSL found. " | ||
"OpenSSL library directory: ${OPENSSL_LIBRARY_DIR}. " | ||
"OpenSSL Version: ${OPENSSL_VERSION}") | ||
endif(OPENSSL_FOUND) | ||
endif(CDAT_USE_SYSTEM_OPENSSL) | ||
|
||
if(NOT CDAT_USE_SYSTEM_OPENSSL OR NOT OPENSSL_FOUND) | ||
set(OPENSSL_MAJOR_SRC 1) | ||
set(OPENSSL_MINOR_SRC 0) | ||
set(OPENSSL_PATCH_SRC 2e) | ||
set(OPENSSL_VERSION | ||
${OPENSSL_MAJOR_SRC}.${OPENSSL_MINOR_SRC}.${OPENSSL_PATCH_SRC}) | ||
|
||
message(STATUS "Compiling OpenSSL from source. Version: ${OPENSSL_VERSION}") | ||
|
||
set(OPENSSL_URL ${LLNL_URL}) | ||
set(OPENSSL_GZ "openssl-${OPENSSL_VERSION}.tar.gz") | ||
set(OPENSSL_MD5 5262bfa25b60ed9de9f28d5d52d77fc5) | ||
set(OPENSSL_SOURCE_URL ${OPENSSL_URL}/${OPENSSL_GZ}) | ||
|
||
# We've reached here because we need OpenSSL. | ||
# Hence, defaulting to ON | ||
add_cdat_package(openssl "" "" ON) | ||
endif(NOT CDAT_USE_SYSTEM_OPENSSL OR NOT OPENSSL_FOUND) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
#---------------------------------------------------------------------------- | ||
# The following script tries to set important toolchain related variables for | ||
# MacOSX. The variables set include CMAKE_OSX_DEPLOYMENT_TARGET, | ||
# OSX_DEVELOPER_ROOT, CMAKE_OSX_SYSROOT, etc. If the deployment target is not | ||
# set by the user, it is set as the current OS version. Similarly, if the | ||
# sysroot is not set by the user, it is set to the latest available version of | ||
# the MacOSX SDK. | ||
# NOTE: It is assumed that the latest available SDK is the best version that | ||
# goes with the version specified by the deployment target. Matching the | ||
# versions of the deployment target and SDK are not enforced. A warning, | ||
# however, is presented to the user if the versions do not match. | ||
|
||
#---------------------------------------------------------------------------- | ||
# OSX version number | ||
# Support only 10.8 or higher for now | ||
if (CURRENT_OSX_VERSION VERSION_LESS 10.8) | ||
message(FATAL_ERROR "Found Mac OSX version ${CURRENT_OSX_VERSION}; " | ||
"Minimum supported Mac OSX version is 10.8") | ||
endif () | ||
|
||
# Current OSX version as a two-component string: 10.8, 10.9, etc ... | ||
string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1" | ||
_CURRENT_OSX_VERSION "${CURRENT_OSX_VERSION}") | ||
|
||
#---------------------------------------------------------------------------- | ||
# CMAKE_OSX_DEPLOYMENT_TARGET | ||
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET) | ||
message(STATUS "Setting OSX_DEPLOYMENT_TARGET to ${_CURRENT_OSX_VERSION}") | ||
set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_VERSION}) | ||
endif() | ||
|
||
#---------------------------------------------------------------------------- | ||
# OSX_DEVELOPER_ROOT | ||
if(NOT OSX_DEVELOPER_ROOT) | ||
message(WARNING "Could not determine developer root directory. " | ||
"\nAssuming \"/Applications/Xcode.app/Contents/Developer\".") | ||
set(OSX_DEVELOPER_ROOT "/Applications/Xcode.app/Contents/Developer") | ||
endif(NOT OSX_DEVELOPER_ROOT) | ||
|
||
#---------------------------------------------------------------------------- | ||
# CMAKE_OSX_SYSROOT | ||
|
||
if(NOT CMAKE_OSX_SYSROOT) | ||
# Find all SDKs installed in the OSX_DEVELOPER_ROOT | ||
foreach(d Platforms/MacOSX.platform/Developer/SDKs SDKs) | ||
file(GLOB _CMAKE_OSX_SDKS ${OSX_DEVELOPER_ROOT}/${d}/*) | ||
if(_CMAKE_OSX_SDKS) | ||
set(_CMAKE_OSX_SDKS_DIR ${OSX_DEVELOPER_ROOT}/${d}) | ||
break() | ||
endif() | ||
endforeach() | ||
|
||
# find the latest SDK | ||
set(_CMAKE_OSX_LATEST_SDK_VERSION "0.0") | ||
file(GLOB _CMAKE_OSX_SDKS RELATIVE "${_CMAKE_OSX_SDKS_DIR}" | ||
"${_CMAKE_OSX_SDKS_DIR}/MacOSX*.sdk") | ||
foreach(_SDK ${_CMAKE_OSX_SDKS}) | ||
if(_SDK MATCHES "MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk" AND | ||
CMAKE_MATCH_1 VERSION_GREATER ${_CMAKE_OSX_LATEST_SDK_VERSION}) | ||
set(_CMAKE_OSX_LATEST_SDK_VERSION "${CMAKE_MATCH_1}") | ||
endif() | ||
endforeach() | ||
|
||
if(_CMAKE_OSX_LATEST_SDK_VERSION VERSION_GREATER "0.0") | ||
# Set sysroot to latest SDK | ||
message(STATUS "Latest SDK version found is " | ||
"${_CMAKE_OSX_LATEST_SDK_VERSION}. " | ||
"Setting CMAKE_OSX_SYSROOT to the latest SDK version.") | ||
set(CMAKE_OSX_SYSROOT | ||
"${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CMAKE_OSX_LATEST_SDK_VERSION}.sdk") | ||
else() | ||
message(AUTHOR_WARNING "No SDK found. " | ||
"Please set CMAKE_OSX_SYSROOT to path of valid MacOSX SDK.") | ||
endif() | ||
|
||
endif(NOT CMAKE_OSX_SYSROOT) | ||
|
||
#---------------------------------------------------------------------------- | ||
# DEPLOYMENT_TARGET and SYSROOT version match | ||
|
||
if(CMAKE_OSX_DEPLOYMENT_TARGET AND CMAKE_OSX_SYSROOT) | ||
string(REGEX REPLACE ".*MacOSX([0-9]+\\.[0-9]+).*" "\\1" | ||
_CURRENT_OSX_SDK_VERSION "${CMAKE_OSX_SYSROOT}") | ||
if(${CMAKE_OSX_DEPLOYMENT_TARGET} VERSION_GREATER ${_CURRENT_OSX_SDK_VERSION}) | ||
message(AUTHOR_WARNING | ||
"Deployment target (${CMAKE_OSX_DEPLOYMENT_TARGET}) cannot be greater " | ||
"than the SYSROOT version (${_CURRENT_OSX_SDK_VERSION}) as specified by " | ||
"CMAKE_OSX_SYSROOT. " | ||
"Reverting CMAKE_OSX_DEPLOYMENT_TARGET to SYSROOT version.") | ||
set(CMAKE_OSX_DEPLOYMENT_TARGET ${_CURRENT_OSX_SDK_VERSION}) | ||
endif() | ||
endif() | ||
|
||
#---------------------------------------------------------------------------- | ||
# CMAKE_OSX_ARCHITECTURE | ||
# Legacy code that enforces 64-bit-ness... | ||
|
||
if(NOT CMAKE_OSX_ARCHITECTURES) | ||
set(CMAKE_OSX_ARCHITECTURES "x86_64") | ||
set(CMAKE_OSX_ARCHITECTURES_M "64") | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters