summaryrefslogtreecommitdiffstats
path: root/c++/CMakeLists.txt
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2010-05-13 16:01:50 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2010-05-13 16:01:50 (GMT)
commitae06433ab0ca13838c2762c8fad165a041d64c42 (patch)
tree72d645731c00953c3daf6dad8a1cf0dc97326943 /c++/CMakeLists.txt
parent940931aa853602b0b6edfd4ca1a6526fd7975dd2 (diff)
downloadhdf5-ae06433ab0ca13838c2762c8fad165a041d64c42.zip
hdf5-ae06433ab0ca13838c2762c8fad165a041d64c42.tar.gz
hdf5-ae06433ab0ca13838c2762c8fad165a041d64c42.tar.bz2
[svn-r18793] Add files to support building library with CMake
Tested: Local linux
Diffstat (limited to 'c++/CMakeLists.txt')
-rw-r--r--c++/CMakeLists.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt
new file mode 100644
index 0000000..b1edc06
--- /dev/null
+++ b/c++/CMakeLists.txt
@@ -0,0 +1,46 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_CPP)
+
+#-----------------------------------------------------------------------------
+# 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
+)
+
+#-----------------------------------------------------------------------------
+# Setup Include directories
+#-----------------------------------------------------------------------------
+INCLUDE_DIRECTORIES (${HDF5_CPP_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_BINARY_DIR})
+
+#-----------------------------------------------------------------------------
+# Parallel/MPI, prevent spurious cpp/cxx warnings
+#-----------------------------------------------------------------------------
+IF (H5_HAVE_PARALLEL)
+ ADD_DEFINITIONS ("-DMPICH_SKIP_MPICXX")
+ ADD_DEFINITIONS ("-DMPICH_IGNORE_CXX_SEEK")
+ENDIF (H5_HAVE_PARALLEL)
+
+ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/src ${HDF5_CPP_BINARY_DIR}/src)
+
+#-----------------------------------------------------------------------------
+# Build the CPP Examples
+#-----------------------------------------------------------------------------
+IF (HDF5_BUILD_EXAMPLES)
+ ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/examples ${HDF5_CPP_BINARY_DIR}/examples)
+ENDIF (HDF5_BUILD_EXAMPLES)
+
+#-----------------------------------------------------------------------------
+# Build the CPP unit tests
+#-----------------------------------------------------------------------------
+IF (BUILD_TESTING)
+ ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/test ${HDF5_CPP_BINARY_DIR}/test)
+ENDIF (BUILD_TESTING)