diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2010-05-12 18:51:33 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2010-05-12 18:51:33 (GMT) |
commit | 84103cef854a758a8d5dcd270ba36e2495ed3282 (patch) | |
tree | f11548eec782a94edda60d2f78edb7f320d8b4c2 /c++/src | |
parent | 08ce72aebd7b8957a11c365f95b4bbded708e91f (diff) | |
download | hdf5-84103cef854a758a8d5dcd270ba36e2495ed3282.zip hdf5-84103cef854a758a8d5dcd270ba36e2495ed3282.tar.gz hdf5-84103cef854a758a8d5dcd270ba36e2495ed3282.tar.bz2 |
[svn-r18773] Add files to support building library with CMake
Tested: Local linux
Diffstat (limited to 'c++/src')
-rw-r--r-- | c++/src/CMakeLists.txt | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt new file mode 100644 index 0000000..3658e57 --- /dev/null +++ b/c++/src/CMakeLists.txt @@ -0,0 +1,113 @@ +cmake_minimum_required (VERSION 2.8) +PROJECT (HDF5_CPP_SRC) + +#----------------------------------------------------------------------------- +# Shared/Static Libs +#----------------------------------------------------------------------------- +IF (BUILD_SHARED_LIBS) + SET (CPP_BUILT_AS_DYNAMIC_LIB 1) +ENDIF (BUILD_SHARED_LIBS) + +#----------------------------------------------------------------------------- +# Generate configure file +#----------------------------------------------------------------------------- +CONFIGURE_FILE (${HDF5_SOURCE_DIR}/Resources/H5cxx_config.h.in + ${HDF5_BINARY_DIR}/H5cxx_pubconf.h +) + +#----------------------------------------------------------------------------- +# Define cpp Library +#----------------------------------------------------------------------------- +SET (CPP_SRCS + ${HDF5_CPP_SOURCE_DIR}/src/H5AbstractDs.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5ArrayType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5AtomType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5Attribute.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5CommonFG.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5CompType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5DataSet.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5DataSpace.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5DataType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5DcreatProp.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5DxferProp.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5EnumType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5Exception.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5FaccProp.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5FcreatProp.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5File.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5FloatType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5Group.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5IdComponent.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5IntType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5Library.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5Object.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5PredType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5PropList.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5StrType.cpp + ${HDF5_CPP_SOURCE_DIR}/src/H5VarLenType.cpp +) + +SET (CPP_HDRS + ${HDF5_CPP_SOURCE_DIR}/src/H5AbstractDs.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Alltypes.h + ${HDF5_CPP_SOURCE_DIR}/src/H5ArrayType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5AtomType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Attribute.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Classes.h + ${HDF5_CPP_SOURCE_DIR}/src/H5CommonFG.h + ${HDF5_CPP_SOURCE_DIR}/src/H5CompType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Cpp.h + ${HDF5_CPP_SOURCE_DIR}/src/H5CppDoc.h + ${HDF5_CPP_SOURCE_DIR}/src/H5DataSet.h + ${HDF5_CPP_SOURCE_DIR}/src/H5DataSpace.h + ${HDF5_CPP_SOURCE_DIR}/src/H5DataType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5DcreatProp.h + ${HDF5_CPP_SOURCE_DIR}/src/H5DxferProp.h + ${HDF5_CPP_SOURCE_DIR}/src/H5EnumType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Exception.h + ${HDF5_CPP_SOURCE_DIR}/src/H5FaccProp.h + ${HDF5_CPP_SOURCE_DIR}/src/H5FcreatProp.h + ${HDF5_CPP_SOURCE_DIR}/src/H5File.h + ${HDF5_CPP_SOURCE_DIR}/src/H5FloatType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Group.h + ${HDF5_CPP_SOURCE_DIR}/src/H5IdComponent.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Include.h + ${HDF5_CPP_SOURCE_DIR}/src/H5IntType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Library.h + ${HDF5_CPP_SOURCE_DIR}/src/H5Object.h + ${HDF5_CPP_SOURCE_DIR}/src/H5PredType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5PropList.h + ${HDF5_CPP_SOURCE_DIR}/src/H5StrType.h + ${HDF5_CPP_SOURCE_DIR}/src/H5VarLenType.h +) + +ADD_LIBRARY (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS}) +TARGET_LINK_LIBRARIES (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET}) +SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}") +H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE}) + +#----------------------------------------------------------------------------- +# Add file(s) to CMake Install +#----------------------------------------------------------------------------- +INSTALL ( + FILES + ${CPP_HDRS} + DESTINATION + include/cpp +) + +#----------------------------------------------------------------------------- +# Add Target(s) to CMake Install for import into other projects +#----------------------------------------------------------------------------- +IF (HDF5_EXPORTED_TARGETS) + INSTALL ( + TARGETS + ${HDF5_CPP_LIB_TARGET} + EXPORT + ${HDF5_EXPORTED_TARGETS} + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + ) +ENDIF (HDF5_EXPORTED_TARGETS) + |