summaryrefslogtreecommitdiffstats
path: root/c++/src
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2010-05-12 18:51:33 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2010-05-12 18:51:33 (GMT)
commit84103cef854a758a8d5dcd270ba36e2495ed3282 (patch)
treef11548eec782a94edda60d2f78edb7f320d8b4c2 /c++/src
parent08ce72aebd7b8957a11c365f95b4bbded708e91f (diff)
downloadhdf5-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.txt113
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)
+