mirror of
https://github.com/Unidata/netcdf-c.git
synced 2025-02-17 16:50:18 +08:00
This commit is contained in:
parent
ff9954bdd4
commit
0e2c668b07
@ -3,13 +3,13 @@
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
|
||||
#Project Name
|
||||
project(NetCDF C)
|
||||
SET(NetCDF_VERSION_MAJOR 4)
|
||||
SET(NetCDF_VERSION_MINOR 3)
|
||||
SET(NetCDF_VERSION_PATCH 0)
|
||||
SET(NetCDF_VERSION_NOTE "-rc1")
|
||||
SET(NetCDF_VERSION ${NetCDF_VERSION_MAJOR}.${NetCDF_VERSION_MINOR}.${NetCDF_VERSION_PATCH}${NetCDF_VERSION_NOTE})
|
||||
SET(VERSION ${NetCDF_VERSION})
|
||||
project(netCDF C)
|
||||
SET(netCDF_VERSION_MAJOR 4)
|
||||
SET(netCDF_VERSION_MINOR 3)
|
||||
SET(netCDF_VERSION_PATCH 0)
|
||||
SET(netCDF_VERSION_NOTE "-rc1")
|
||||
SET(netCDF_VERSION ${netCDF_VERSION_MAJOR}.${netCDF_VERSION_MINOR}.${netCDF_VERSION_PATCH}${netCDF_VERSION_NOTE})
|
||||
SET(VERSION ${netCDF_VERSION})
|
||||
|
||||
# Set some default C Flags if we are using GCC
|
||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
@ -30,7 +30,7 @@ IF(NOT MSVC)
|
||||
ENDIF()
|
||||
|
||||
# Default to shared libs on
|
||||
OPTION(BUILD_SHARED_LIBS "Configure NetCDF as a shared library." ON)
|
||||
OPTION(BUILD_SHARED_LIBS "Configure netCDF as a shared library." ON)
|
||||
# Set variable to define the build type.
|
||||
INCLUDE(GenerateExportHeader)
|
||||
SET (LIB_TYPE STATIC)
|
||||
@ -60,7 +60,6 @@ INCLUDE (${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/FindPkgConfig.cmake)
|
||||
INCLUDE (${CMAKE_ROOT}/Modules/GetPrerequisites.cmake)
|
||||
MESSAGE(${CMAKE_ROOT})
|
||||
# Only necessary for Windows
|
||||
IF(MSVC)
|
||||
INCLUDE (${CMAKE_SOURCE_DIR}/cmake/modules/windows/FindHDF5.cmake)
|
||||
@ -165,7 +164,7 @@ MACRO(print_conf_summary)
|
||||
MESSAGE("")
|
||||
MESSAGE(STATUS "\tBuild Type:\t\t\t" ${CMAKE_BUILD_TYPE})
|
||||
MESSAGE(STATUS "\tBuilding Shared Libraries:\t" ${BUILD_SHARED_LIBS})
|
||||
MESSAGE(STATUS "\tBuilding NetCDF-4:\t\t" ${ENABLE_NETCDF_4})
|
||||
MESSAGE(STATUS "\tBuilding netCDF-4:\t\t" ${ENABLE_NETCDF_4})
|
||||
MESSAGE(STATUS "\tBuilding DAP Support:\t\t" ${ENABLE_DAP})
|
||||
MESSAGE(STATUS "\tBuilding Utilities:\t\t" ${BUILD_UTILITIES})
|
||||
IF(CMAKE_PREFIX_PATH)
|
||||
@ -174,7 +173,6 @@ MACRO(print_conf_summary)
|
||||
MESSAGE(STATUS "\tUsing pnetcdf:\t\t\t" ${STATUS_PNETCDF}, "\t" ${PNETCDF_INCLUDE_DIR})
|
||||
MESSAGE(STATUS "\tUsing Parallel IO:\t\t" ${STATUS_PARALLEL})
|
||||
MESSAGE(STATUS "\tLinking against:\t\t" "${ALL_TLL_LIBS}")
|
||||
#MESSAGE("CPACK_SOURCE_IGNORE_FILES: ${CPACK_SOURCE_IGNORE_FILES}")
|
||||
MESSAGE("")
|
||||
|
||||
ENDMACRO()
|
||||
@ -214,8 +212,8 @@ IF(${CMAKE_SYSTEM_NAME} EQUAL "Darwin")
|
||||
SET(CMAKE_OSX_ARCHITECTURES i386;x86_64)
|
||||
ENDIF(${CMAKE_SYSTEM_NAME} EQUAL "Darwin")
|
||||
|
||||
# Option to build NetCDF Version 2
|
||||
OPTION (BUILD_V2 "Build NetCDF Version 2." ON)
|
||||
# Option to build netCDF Version 2
|
||||
OPTION (BUILD_V2 "Build netCDF Version 2." ON)
|
||||
|
||||
# Option to build utilities
|
||||
OPTION (BUILD_UTILITIES "Build ncgen, ncgen3, ncdump." ON)
|
||||
@ -257,7 +255,7 @@ IF(ENABLE_LOGGING)
|
||||
SET(LOGGING ON)
|
||||
ENDIF()
|
||||
# Option to use HDF4
|
||||
OPTION (ENABLE_HDF4 "Build NetCDF-4 with HDF5 read capability (HDF4, HDF5 and Zlib required)." OFF)
|
||||
OPTION (ENABLE_HDF4 "Build netCDF-4 with HDF5 read capability (HDF4, HDF5 and Zlib required)." OFF)
|
||||
IF (ENABLE_HDF4)
|
||||
SET(USE_HDF4 ON)
|
||||
# Check for include files, libraries.
|
||||
@ -297,8 +295,8 @@ ENDIF()
|
||||
# Did the user specify a default minimum blocksize for posixio?
|
||||
SET (NCIO_MINBLOCKSIZE 256 CACHE STRING "Minimum I/O Blocksize for netCDF classic and 64-bit offset format files.")
|
||||
|
||||
# Build NetCDF4
|
||||
OPTION (ENABLE_NETCDF_4 "Enable NetCDF-4" ON)
|
||||
# Build netCDF4
|
||||
OPTION (ENABLE_NETCDF_4 "Enable netCDF-4" ON)
|
||||
IF(ENABLE_NETCDF_4)
|
||||
SET(USE_NETCDF4 ON CACHE BOOL "")
|
||||
SET(ENABLE_NETCDF_4 ON CACHE BOOL "")
|
||||
@ -376,7 +374,7 @@ ENDIF()
|
||||
OPTION(ENABLE_DAP_LONG_TESTS "Enable DAP long tests." OFF)
|
||||
OPTION(ENABLE_DAP_REMOTE_TESTS "Enable DAP remote tests." ON)
|
||||
|
||||
# If NetCDF4 and DAP, Option for DAP groups.
|
||||
# If netCDF4 and DAP, Option for DAP groups.
|
||||
IF(ENABLE_NETCDF_4 AND USE_DAP)
|
||||
OPTION(ENABLE_DAP_GROUPS "Whether netcdf4 group names should be enabled." ON)
|
||||
ELSE()
|
||||
@ -458,7 +456,7 @@ IF(ENABLE_COVERAGE_TESTS)
|
||||
MESSAGE(STATUS "Coverage Tests: On.")
|
||||
ENDIF()
|
||||
|
||||
OPTION (ENABLE_EXAMPLE_TESTS "Run extra example tests. Requires GNU Sed. Ignored if NetCDF-4 is not Enabled" OFF)
|
||||
OPTION (ENABLE_EXAMPLE_TESTS "Run extra example tests. Requires GNU Sed. Ignored if netCDF-4 is not Enabled" OFF)
|
||||
IF(NOT ENABLE_NETCDF_4 AND ENABLE_EXAMPLE_TESTS)
|
||||
SET (ENABLE_EXAMPLE_TESTS OFF)
|
||||
ENDIF()
|
||||
@ -501,7 +499,7 @@ IF(ENABLE_PNETCDF)
|
||||
ENDIF()
|
||||
|
||||
|
||||
OPTION (ENABLE_PARALLEL_TESTS "Enable Parallel IO Tests. Ignored if NetCDF4 is not enabled, or if there is no parallel I/O Support." ${USE_PARALLEL})
|
||||
OPTION (ENABLE_PARALLEL_TESTS "Enable Parallel IO Tests. Ignored if netCDF4 is not enabled, or if there is no parallel I/O Support." ${USE_PARALLEL})
|
||||
IF(ENABLE_PARALLEL_TESTS AND USE_PARALLEL)
|
||||
SET(TEST_PARALLEL ON CACHE BOOL "")
|
||||
ENDIF()
|
||||
@ -624,19 +622,18 @@ IF(NOT WIN32)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(netcdf_libraries: ${netcdf_library})
|
||||
# Create config.h file
|
||||
configure_file("${NetCDF_SOURCE_DIR}/cmake_config.h.in"
|
||||
"${NetCDF_BINARY_DIR}/config.h")
|
||||
configure_file("${NetCDF_SOURCE_DIR}/cmake_nc-config.in"
|
||||
"${NetCDF_SOURCE_DIR}/nc-config")
|
||||
FILE(COPY "${NetCDF_SOURCE_DIR}/nc-config"
|
||||
DESTINATION "${NetCDF_BINARY_DIR}"
|
||||
configure_file("${netCDF_SOURCE_DIR}/cmake_config.h.in"
|
||||
"${netCDF_BINARY_DIR}/config.h")
|
||||
configure_file("${netCDF_SOURCE_DIR}/cmake_nc-config.in"
|
||||
"${netCDF_SOURCE_DIR}/nc-config")
|
||||
FILE(COPY "${netCDF_SOURCE_DIR}/nc-config"
|
||||
DESTINATION "${netCDF_BINARY_DIR}"
|
||||
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
|
||||
EXECUTE_PROCESS(COMMAND "chmod 755 ${NetCDF_BINARY_DIR}/nc-config")
|
||||
EXECUTE_PROCESS(COMMAND "chmod 755 ${netCDF_BINARY_DIR}/nc-config")
|
||||
|
||||
INSTALL(PROGRAMS ${NetCDF_BINARY_DIR}/nc-config DESTINATION bin COMPONENT utilities)
|
||||
INCLUDE_DIRECTORIES(${NetCDF_BINARY_DIR})
|
||||
INSTALL(PROGRAMS ${netCDF_BINARY_DIR}/nc-config DESTINATION bin COMPONENT utilities)
|
||||
INCLUDE_DIRECTORIES(${netCDF_BINARY_DIR})
|
||||
# End autotools-style checs for config.h
|
||||
|
||||
|
||||
@ -644,7 +641,7 @@ INCLUDE_DIRECTORIES(${NetCDF_BINARY_DIR})
|
||||
#####
|
||||
# Set core names of the libraries.
|
||||
#####
|
||||
SET (NetCDF_LIB_CORENAME "netcdf")
|
||||
SET (netCDF_LIB_CORENAME "netcdf")
|
||||
|
||||
#####
|
||||
# Set the true names of all the libraries, if customized by external project
|
||||
@ -722,7 +719,7 @@ ENDIF()
|
||||
#####
|
||||
# Moving on to CPack, install packages.
|
||||
#####
|
||||
INSTALL(FILES ${NetCDF_SOURCE_DIR}/include/netcdf.h
|
||||
INSTALL(FILES ${netCDF_SOURCE_DIR}/include/netcdf.h
|
||||
DESTINATION include COMPONENT headers)
|
||||
|
||||
# Install the dependencies.
|
||||
@ -754,15 +751,15 @@ install (EXPORT netcdf-targets
|
||||
COMPONENT documentation)
|
||||
|
||||
configure_file (
|
||||
${NetCDF_SOURCE_DIR}/netcdf-config.cmake.in
|
||||
${NetCDF_BINARY_DIR}/netcdf-config.cmake @ONLY)
|
||||
${netCDF_SOURCE_DIR}/netcdf-config.cmake.in
|
||||
${netCDF_BINARY_DIR}/netcdf-config.cmake @ONLY)
|
||||
|
||||
configure_file (
|
||||
${NetCDF_SOURCE_DIR}/netcdf-config-version.cmake.in
|
||||
${NetCDF_BINARY_DIR}/netcdf-config-version.cmake @ONLY)
|
||||
${netCDF_SOURCE_DIR}/netcdf-config-version.cmake.in
|
||||
${netCDF_BINARY_DIR}/netcdf-config-version.cmake @ONLY)
|
||||
|
||||
install (FILES ${NetCDF_BINARY_DIR}/netcdf-config.cmake
|
||||
${NetCDF_BINARY_DIR}/netcdf-config-version.cmake
|
||||
install (FILES ${netCDF_BINARY_DIR}/netcdf-config.cmake
|
||||
${netCDF_BINARY_DIR}/netcdf-config-version.cmake
|
||||
DESTINATION share/cmake)
|
||||
|
||||
# End CMake package configuration files.
|
||||
@ -784,6 +781,13 @@ SET (CPACK_SOURCE_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}"
|
||||
"/.libs"
|
||||
"/libcf/"
|
||||
"/html/"
|
||||
".jar"
|
||||
".sed"
|
||||
".y"
|
||||
".proto"
|
||||
"/obsolete/"
|
||||
"/unknown/"
|
||||
"/udunits/"
|
||||
".*~"
|
||||
)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT
|
||||
@ -796,7 +800,7 @@ IF(NOT CPACK_PACK_VERSION)
|
||||
SET(CPACK_PACKAGE_VERSION ${VERSION})
|
||||
ENDIF()
|
||||
IF(APPLE)
|
||||
SET(CPACK_SOURCE_GENERATOR "TBZ2" "ZIP")
|
||||
SET(CPACK_SOURCE_GENERATOR "TBZ2" "TGZ" "ZIP")
|
||||
SET(CPACK_GENERATOR "PackageMaker" "STGZ" "TBZ2" "TGZ" "ZIP")
|
||||
ENDIF()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user