diff options
author | Magnus Lundborg <lundborg.magnus@gmail.com> | 2014-06-22 14:24:43 (GMT) |
---|---|---|
committer | Mark Abraham <mark.j.abraham@gmail.com> | 2014-06-26 14:27:36 (GMT) |
commit | ba9aea42b01c0563e0ff0a886999daeaf6b570a7 (patch) | |
tree | 15a21fa116e7103fc097b928bae56a3e5260250d /src/lib | |
parent | e8fa7bf3abfc74acf60a048cdfe1f65fdbc0dc2d (diff) |
Version 1.6 of the TNG library.
Added functions to get the version of the header and the
library.
Improved version control of the library using CMake config and
version files.
Changed tng_util_frame_current_compression_get() return type
to double before the API is widely circulated (no release
has been made since that function was added).
Compiling compression functions into the tng_io library.
Uses BuildTNG.cmake instead of including add_subdirectories.
Change-Id: I5e4818736fb2632c06ca7df8e84ce9544bf2acaf
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/CMakeLists.txt | 37 | ||||
-rw-r--r-- | src/lib/md5.c | 2 | ||||
-rw-r--r-- | src/lib/tng_io-config.cmake.in | 13 | ||||
-rw-r--r-- | src/lib/tng_io-configVersion.cmake.in | 12 | ||||
-rw-r--r-- | src/lib/tng_io.c | 60 |
5 files changed, 79 insertions, 45 deletions
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt deleted file mode 100644 index 838f827..0000000 --- a/src/lib/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -set(source_files tng_io.c md5.c) -if(TNG_BUILD_FORTRAN) - list(APPEND source_files tng_io_fortran.c) -endif() - -add_library(tng_io ${source_files}) - -# Now add source-file compilation properties to the source-file -# targets - -if(HAVE_INTTYPES_H) - set_property(SOURCE tng_io.c APPEND PROPERTY COMPILE_DEFINITIONS USE_STD_INTTYPES_H) -endif() -if(TNG_BUILD_WITH_ZLIB) - set_property(SOURCE tng_io.c APPEND PROPERTY COMPILE_DEFINITIONS USE_ZLIB) -endif() - -# This test is for md5. The TNG library itself determines the actual byte order - -# not just if it is small or big endian. -include(TestBigEndian) -test_big_endian(TNG_INTEGER_BIG_ENDIAN) -if(TNG_INTEGER_BIG_ENDIAN) - set_property(SOURCE md5.c APPEND PROPERTY COMPILE_DEFINITIONS TNG_INTEGER_BIG_ENDIAN) -endif() - -# Append the required library dependencies -target_link_libraries(tng_io tng_compress) -if(TNG_BUILD_WITH_ZLIB) - target_link_libraries(tng_io ${ZLIB_LIBRARIES}) -endif() - -# Use GNUInstallDirst to set paths on multiarch systems -include(GNUInstallDirs) - -install(TARGETS tng_io - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/src/lib/md5.c b/src/lib/md5.c index ea8bb37..f6a2391 100644 --- a/src/lib/md5.c +++ b/src/lib/md5.c @@ -75,7 +75,7 @@ 1999-05-03 lpd Original version. */ -#include "../../include/md5.h" +#include "tng/md5.h" #include <string.h> #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ diff --git a/src/lib/tng_io-config.cmake.in b/src/lib/tng_io-config.cmake.in new file mode 100644 index 0000000..06c0470 --- /dev/null +++ b/src/lib/tng_io-config.cmake.in @@ -0,0 +1,13 @@ +# - Config file for the TNG_IO package +# It defines the following variables +# TNG_IO_INCLUDE_DIRS - include directories for TNG_IO +# TNG_IO_LIBRARIES - libraries to link against +# TNG_IO_DEFINITIONS - definitions used when compiling + +# Compute paths +get_filename_component(TNG_IO_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +set(TNG_IO_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") +set(TNG_IO_DEFINITIONS "@TNG_COMPILE_DEFS@") + +set(TNG_IO_LIBRARIES tng_io) + diff --git a/src/lib/tng_io-configVersion.cmake.in b/src/lib/tng_io-configVersion.cmake.in new file mode 100644 index 0000000..8946f5e --- /dev/null +++ b/src/lib/tng_io-configVersion.cmake.in @@ -0,0 +1,12 @@ +set(PACKAGE_VERSION "@TNG_IO_VERSION@") + +# Check whether the requested PACKAGE_FIND_VERSION is compatible +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() + diff --git a/src/lib/tng_io.c b/src/lib/tng_io.c index 252cbb2..792be2e 100644 --- a/src/lib/tng_io.c +++ b/src/lib/tng_io.c @@ -22,10 +22,10 @@ #include <zlib.h> #endif -#include "../../include/tng_io.h" -#include "../../include/md5.h" -#include "../../include/compression/tng_compress.h" -#include "../include/version.h" +#include "tng/tng_io.h" +#include "tng/md5.h" +#include "compression/tng_compress.h" +#include "tng/version.h" struct tng_bond { @@ -7852,6 +7852,52 @@ static tng_function_status tng_atom_destroy(tng_atom_t atom) return(TNG_SUCCESS); } +tng_function_status DECLSPECDLLEXPORT tng_version_major + (const tng_trajectory_t tng_data, + int *version) +{ + (void)tng_data; + + *version = TNG_VERSION_MAJOR; + + return(TNG_SUCCESS); +} + +tng_function_status DECLSPECDLLEXPORT tng_version_minor + (const tng_trajectory_t tng_data, + int *version) +{ + (void)tng_data; + + *version = TNG_VERSION_MINOR; + + return(TNG_SUCCESS); +} + +tng_function_status DECLSPECDLLEXPORT tng_version_patchlevel + (const tng_trajectory_t tng_data, + int *patch_level) +{ + (void)tng_data; + + *patch_level = TNG_VERSION_PATCHLEVEL; + + return(TNG_SUCCESS); +} + +tng_function_status DECLSPECDLLEXPORT tng_version + (const tng_trajectory_t tng_data, + char *version, + const int max_len) +{ + (void)tng_data; + TNG_ASSERT(version, "TNG library: version must not be a NULL pointer"); + + TNG_SNPRINTF(version, max_len, "%s", TNG_VERSION); + + return(TNG_SUCCESS); +} + tng_function_status DECLSPECDLLEXPORT tng_molecule_add (tng_trajectory_t tng_data, const char *name, @@ -18889,7 +18935,7 @@ tng_function_status DECLSPECDLLEXPORT tng_util_frame_current_compression_get (tng_trajectory_t tng_data, const int64_t block_id, int64_t *codec_id, - float *factor) + double *factor) { tng_trajectory_frame_set_t frame_set; tng_particle_data_t p_data = 0; @@ -18986,12 +19032,12 @@ tng_function_status DECLSPECDLLEXPORT tng_util_frame_current_compression_get if(block_type == TNG_PARTICLE_BLOCK_DATA) { *codec_id = p_data->codec_id; - *factor = (float)p_data->compression_multiplier; + *factor = p_data->compression_multiplier; } else if(block_type == TNG_NON_PARTICLE_BLOCK_DATA) { *codec_id = np_data->codec_id; - *factor = (float)np_data->compression_multiplier; + *factor = np_data->compression_multiplier; } return(TNG_SUCCESS); } |