add cmake files for hdf5 part + fix compile errors
This commit is contained in:
parent
caed6b4469
commit
5dd114f03f
9 changed files with 53 additions and 21 deletions
|
@ -3,8 +3,8 @@ include_directories(${CMAKE_SOURCE_DIR}/src/include)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
add_subdirectory(lib)
|
add_subdirectory(lib)
|
||||||
|
|
||||||
#if(ENABLE_hdf5)
|
if(ENABLE_hdf5)
|
||||||
# add_subdirectory(opt/hdf5)
|
add_subdirectory(opt/hdf5)
|
||||||
#endif()
|
endif()
|
||||||
|
|
||||||
install(DIRECTORY include/ DESTINATION ${INSTALL_PATH}/include)
|
install(DIRECTORY include/ DESTINATION ${INSTALL_PATH}/include)
|
||||||
|
|
8
src/opt/hdf5/CMakeLists.txt
Normal file
8
src/opt/hdf5/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
add_subdirectory(lib)
|
||||||
|
#add_subdirectory(tests)
|
||||||
|
|
||||||
|
set(HDF5_INSTALL_PATH ${INSTALL_PATH}/hdf5)
|
||||||
|
install(DIRECTORY include/ DESTINATION ${HDF5_INSTALL_PATH}/include)
|
|
@ -30,10 +30,10 @@ namespace CNORXZ
|
||||||
virtual ContentBase& load() = 0;
|
virtual ContentBase& load() = 0;
|
||||||
virtual ContentBase& write() = 0;
|
virtual ContentBase& write() = 0;
|
||||||
virtual ContentBase& close() = 0;
|
virtual ContentBase& close() = 0;
|
||||||
virtual MArray<ContentBase>* get() = 0;
|
virtual MArray<Sptr<ContentBase>>* get() = 0;
|
||||||
virtual const MArray<ContentBase>* get() const = 0;
|
virtual const MArray<Sptr<ContentBase>>* get() const = 0;
|
||||||
virtual String path() const = 0;
|
virtual String path() const = 0;
|
||||||
virtual String file() const = 0;
|
virtual String filename() const = 0;
|
||||||
|
|
||||||
const String& name() const;
|
const String& name() const;
|
||||||
const ContentBase* parent() const;
|
const ContentBase* parent() const;
|
||||||
|
@ -46,9 +46,10 @@ namespace CNORXZ
|
||||||
RangePtr mRange;
|
RangePtr mRange;
|
||||||
hid_t mId = 0;
|
hid_t mId = 0;
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
typedef Sptr<ContentType> ContentPtr;
|
typedef Sptr<ContentBase> ContentPtr;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -22,8 +22,8 @@ namespace CNORXZ
|
||||||
virtual File& load() override final;
|
virtual File& load() override final;
|
||||||
virtual File& write() override final;
|
virtual File& write() override final;
|
||||||
virtual File& close() override final;
|
virtual File& close() override final;
|
||||||
virtual MArray<ContentBase>* get() override final;
|
virtual MArray<Sptr<ContentBase>>* get() override final;
|
||||||
virtual const MArray<ContentBase>* get() const override final;
|
virtual const MArray<Sptr<ContentBase>>* get() const override final;
|
||||||
virtual String path() const override final;
|
virtual String path() const override final;
|
||||||
virtual String filename() const override final;
|
virtual String filename() const override final;
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@ namespace CNORXZ
|
||||||
virtual bool ro() const override final;
|
virtual bool ro() const override final;
|
||||||
virtual Group& load() override final;
|
virtual Group& load() override final;
|
||||||
virtual Group& close() override final;
|
virtual Group& close() override final;
|
||||||
virtual MArray<ContentBase>* get() override final;
|
virtual MArray<Sptr<ContentBase>>* get() override final;
|
||||||
virtual const MArray<ContentBase>* get() const override final;
|
virtual const MArray<Sptr<ContentBase>>* get() const override final;
|
||||||
virtual String path() const override final;
|
virtual String path() const override final;
|
||||||
virtual String filename() const override final;
|
virtual String filename() const override final;
|
||||||
|
|
||||||
|
|
22
src/opt/hdf5/lib/CMakeLists.txt
Normal file
22
src/opt/hdf5/lib/CMakeLists.txt
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
set(libcnorxzhdf5_a_SOURCES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/h5_content_base.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/h5_file.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/h5_group.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(cnorxzhdf5_obj OBJECT
|
||||||
|
${libcnorxzhdf5_a_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(cnorxzhdf5_obj PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
|
||||||
|
|
||||||
|
add_library(cnorxzhdf5 SHARED
|
||||||
|
$<TARGET_OBJECTS:cnorxzhdf5_obj>
|
||||||
|
)
|
||||||
|
set_target_properties(cnorxzhdf5 PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
|
||||||
|
|
||||||
|
install(TARGETS cnorxz
|
||||||
|
ARCHIVE DESTINATION ${HDF5_INSTALL_PATH}/lib
|
||||||
|
LIBRARY DESTINATION ${HDF5_INSTALL_PATH}/lib
|
||||||
|
)
|
|
@ -6,7 +6,7 @@ namespace CNORXZ
|
||||||
namespace hdf5
|
namespace hdf5
|
||||||
{
|
{
|
||||||
ContentBase::ContentBase(const String& _name, const ContentBase* _parent) :
|
ContentBase::ContentBase(const String& _name, const ContentBase* _parent) :
|
||||||
mName(_name), mParent(parent)
|
mName(_name), mParent(_parent)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
const String& ContentBase::name() const
|
const String& ContentBase::name() const
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
#include "h5_file.h"
|
#include "h5_file.h"
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
namespace CNORXZ
|
namespace CNORXZ
|
||||||
{
|
{
|
||||||
|
@ -54,7 +55,7 @@ namespace CNORXZ
|
||||||
{
|
{
|
||||||
CXZ_ASSERT( not mRo, "could not write to file: opened as read-only" );
|
CXZ_ASSERT( not mRo, "could not write to file: opened as read-only" );
|
||||||
for(auto& x: mCont){
|
for(auto& x: mCont){
|
||||||
x.write();
|
x->write();
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +63,7 @@ namespace CNORXZ
|
||||||
File& File::close()
|
File& File::close()
|
||||||
{
|
{
|
||||||
for(auto& x: mCont){
|
for(auto& x: mCont){
|
||||||
x.close();
|
x->close();
|
||||||
}
|
}
|
||||||
if(mId != 0){
|
if(mId != 0){
|
||||||
H5Fclose(mId);
|
H5Fclose(mId);
|
||||||
|
@ -70,12 +71,12 @@ namespace CNORXZ
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
MArray<ContentBase>* File::get()
|
MArray<Sptr<ContentBase>>* File::get()
|
||||||
{
|
{
|
||||||
return &mCont;
|
return &mCont;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MArray<ContentBase>* File::get() const
|
const MArray<Sptr<ContentBase>>* File::get() const
|
||||||
{
|
{
|
||||||
return &mCont;
|
return &mCont;
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,14 +48,14 @@ namespace CNORXZ
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
MArray<ContentBase>* Group::get()
|
MArray<Sptr<ContentBase>>* Group::get()
|
||||||
{
|
{
|
||||||
return mCont;
|
return &mCont;
|
||||||
}
|
}
|
||||||
|
|
||||||
const MArray<ContentBase>* Group::get() const
|
const MArray<Sptr<ContentBase>>* Group::get() const
|
||||||
{
|
{
|
||||||
return mCont;
|
return &mCont;
|
||||||
}
|
}
|
||||||
|
|
||||||
String Group::path() const
|
String Group::path() const
|
||||||
|
|
Loading…
Reference in a new issue