diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2010-05-13 16:01:50 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2010-05-13 16:01:50 (GMT) |
commit | ae06433ab0ca13838c2762c8fad165a041d64c42 (patch) | |
tree | 72d645731c00953c3daf6dad8a1cf0dc97326943 /hl/c++ | |
parent | 940931aa853602b0b6edfd4ca1a6526fd7975dd2 (diff) | |
download | hdf5-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.txt | 22 | ||||
-rw-r--r-- | hl/c++/examples/CMakeLists.txt | 31 | ||||
-rw-r--r-- | hl/c++/src/CMakeLists.txt | 44 | ||||
-rw-r--r-- | hl/c++/test/CMakeLists.txt | 33 |
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) |