summaryrefslogtreecommitdiffstats
path: root/hl/c++
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 /hl/c++
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 'hl/c++')
-rw-r--r--hl/c++/CMakeLists.txt22
-rw-r--r--hl/c++/examples/CMakeLists.txt31
-rw-r--r--hl/c++/src/CMakeLists.txt44
-rw-r--r--hl/c++/test/CMakeLists.txt33
4 files changed, 130 insertions, 0 deletions
diff --git a/hl/c++/CMakeLists.txt b/hl/c++/CMakeLists.txt
new file mode 100644
index 0000000..15ae809
--- /dev/null
+++ b/hl/c++/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_HL_CPP)
+
+#-----------------------------------------------------------------------------
+# Main HL lib is in /src
+#-----------------------------------------------------------------------------
+ADD_SUBDIRECTORY (${HDF5_HL_CPP_SOURCE_DIR}/src ${HDF5_HL_CPP_BINARY_DIR}/src)
+
+# --------------------------------------------------------------------
+# Add in the examples for the Packet Table codes
+# --------------------------------------------------------------------
+IF (HDF5_BUILD_EXAMPLES)
+ ADD_SUBDIRECTORY (${HDF5_HL_CPP_SOURCE_DIR}/examples ${HDF5_HL_CPP_BINARY_DIR}/examples)
+ENDIF (HDF5_BUILD_EXAMPLES)
+
+# --------------------------------------------------------------------
+# Add in the unit tests for the packet table c++ wrapper
+# --------------------------------------------------------------------
+
+IF (BUILD_TESTING)
+ ADD_SUBDIRECTORY (${HDF5_HL_CPP_SOURCE_DIR}/test ${HDF5_HL_CPP_BINARY_DIR}/test)
+ENDIF (BUILD_TESTING)
diff --git a/hl/c++/examples/CMakeLists.txt b/hl/c++/examples/CMakeLists.txt
new file mode 100644
index 0000000..cbe2626
--- /dev/null
+++ b/hl/c++/examples/CMakeLists.txt
@@ -0,0 +1,31 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_HL_CPP_EXAMPLES)
+
+#-----------------------------------------------------------------------------
+# Setup include Directories
+#-----------------------------------------------------------------------------
+INCLUDE_DIRECTORIES (${HDF5_HL_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SOURCE_DIR}/src)
+
+# --------------------------------------------------------------------
+# Add in the examples for the Packet Table codes
+# --------------------------------------------------------------------
+IF (HDF5_BUILD_EXAMPLES)
+ ADD_EXECUTABLE (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
+ H5_NAMING (ptExampleFL)
+ TARGET_LINK_LIBRARIES (
+ ptExampleFL
+ ${HDF5_HL_CPP_LIB_TARGET}
+ ${HDF5_HL_LIB_TARGET}
+ ${HDF5_LIB_TARGET}
+ )
+
+ ADD_EXECUTABLE (ptExampleVL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleVL.cpp)
+ H5_NAMING (ptExampleVL)
+ TARGET_LINK_LIBRARIES (
+ ptExampleVL
+ ${HDF5_HL_CPP_LIB_TARGET}
+ ${HDF5_HL_LIB_TARGET}
+ ${HDF5_LIB_TARGET}
+ )
+ENDIF (HDF5_BUILD_EXAMPLES)
diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt
new file mode 100644
index 0000000..889b716
--- /dev/null
+++ b/hl/c++/src/CMakeLists.txt
@@ -0,0 +1,44 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_HL_CPP_SRC)
+
+#-----------------------------------------------------------------------------
+# Define Sources
+#-----------------------------------------------------------------------------
+SET (HDF5_HL_CPP_SRCS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.cpp)
+SET (HDF5_HL_CPP_HDRS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.h)
+INCLUDE_DIRECTORIES (${HDF5_HL_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_SOURCE_DIR})
+
+ADD_LIBRARY ( ${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_CPP_SRCS})
+TARGET_LINK_LIBRARIES (
+ ${HDF5_HL_CPP_LIB_TARGET}
+ ${HDF5_HL_LIB_TARGET}
+ ${HDF5_LIB_TARGET}
+)
+SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIB_TARGET}")
+H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} ${LIB_TYPE})
+
+#-----------------------------------------------------------------------------
+# Add file(s) to CMake Install
+#-----------------------------------------------------------------------------
+INSTALL (
+ FILES
+ ${HDF5_HL_CPP_HDRS}
+ DESTINATION
+ include/hl/cpp
+)
+
+#-----------------------------------------------------------------------------
+# Add Target(s) to CMake Install for import into other projects
+#-----------------------------------------------------------------------------
+IF (HDF5_EXPORTED_TARGETS)
+ INSTALL (
+ TARGETS
+ ${HDF5_HL_CPP_LIB_TARGET}
+ EXPORT
+ ${HDF5_EXPORTED_TARGETS}
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION bin
+ )
+ENDIF (HDF5_EXPORTED_TARGETS)
diff --git a/hl/c++/test/CMakeLists.txt b/hl/c++/test/CMakeLists.txt
new file mode 100644
index 0000000..c0a94f8
--- /dev/null
+++ b/hl/c++/test/CMakeLists.txt
@@ -0,0 +1,33 @@
+cmake_minimum_required (VERSION 2.8)
+PROJECT (HDF5_HL_CPP_TEST)
+
+#-----------------------------------------------------------------------------
+# Setup include Directories
+#-----------------------------------------------------------------------------
+INCLUDE_DIRECTORIES (${HDF5_HL_SOURCE_DIR}/src)
+INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SOURCE_DIR}/src)
+
+# --------------------------------------------------------------------
+# Add in the unit tests for the packet table c++ wrapper
+# --------------------------------------------------------------------
+
+IF (BUILD_TESTING)
+ INCLUDE_DIRECTORIES (${HDF5_TEST_SOURCE_DIR})
+ INCLUDE_DIRECTORIES (${HDF5_HL_SOURCE_DIR}/test)
+ INCLUDE_DIRECTORIES (${HDF5_CPP_SOURCE_DIR}/src)
+
+ ADD_EXECUTABLE (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
+ H5_NAMING (hl_ptableTest)
+ TARGET_LINK_LIBRARIES (
+ hl_ptableTest
+ ${HDF5_LIB_TARGET}
+ ${HDF5_TEST_LIB_TARGET}
+ ${HDF5_CPP_LIB_TARGET}
+ ${HDF5_HL_LIB_TARGET}
+ ${HDF5_HL_CPP_LIB_TARGET}
+ )
+ GET_TARGET_PROPERTY (hl_ptableTestpath hl_ptableTest LOCATION)
+ GET_FILENAME_COMPONENT (hl_ptableTestexe ${hl_ptableTestpath} NAME)
+
+ ADD_TEST (NAME hl_ptableTest COMMAND $<TARGET_FILE:hl_ptableTest>)
+ENDIF (BUILD_TESTING)