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 /BuildTNG.cmake | |
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 'BuildTNG.cmake')
-rw-r--r-- | BuildTNG.cmake | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/BuildTNG.cmake b/BuildTNG.cmake new file mode 100644 index 0000000..f4f2caf --- /dev/null +++ b/BuildTNG.cmake @@ -0,0 +1,71 @@ +set(TNG_ROOT_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}) +file(RELATIVE_PATH TNG_ROOT_BINARY_DIR ${CMAKE_SOURCE_DIR} ${TNG_ROOT_SOURCE_DIR}) +set(TNG_ROOT_BINARY_DIR ${CMAKE_BINARY_DIR}/${TNG_ROOT_BINARY_DIR}) + +function (TNG_GENERATE_VERSION_H) + set(TNG_MAJOR_VERSION "1") + set(TNG_MINOR_VERSION "6") + set(TNG_VERSION_PATCH_LEVEL "0") + set(TNG_IO_VERSION "${TNG_MAJOR_VERSION}.${TNG_MINOR_VERSION}.${TNG_VERSION_PATCH_LEVEL}") + set(TNG_API_VERSION "6") + configure_file(${TNG_ROOT_SOURCE_DIR}/include/tng/version.h.in + ${TNG_ROOT_BINARY_DIR}/include/tng/version.h) + + set(TNG_MAJOR_VERSION ${TNG_MAJOR_VERSION} PARENT_SCOPE) + set(TNG_IO_VERSION ${TNG_IO_VERSION} PARENT_SCOPE) +endfunction() + +tng_generate_version_h() + +include(TestBigEndian) +test_big_endian(TNG_INTEGER_BIG_ENDIAN) +include(CheckIncludeFile) +check_include_file(inttypes.h TNG_HAVE_INTTYPES_H) + +macro(TNG_GET_SOURCE_LIST TNG_SOURCELIST TNG_COMPILEDEFS) + include_directories(${TNG_ROOT_SOURCE_DIR}/include) + include_directories(${TNG_ROOT_BINARY_DIR}/include) + set(_tng_compression_sources bwlzh.c bwt.c coder.c dict.c fixpoint.c huffman.c huffmem.c lz77.c merge_sort.c mtf.c rle.c tng_compress.c vals16.c warnmalloc.c widemuldiv.c xtc2.c xtc3.c) + set(_tng_io_sources tng_io.c md5.c) + set(${TNG_SOURCELIST}) + set(${TNG_COMPILEDEFS}) + foreach(_file ${_tng_compression_sources}) + list(APPEND ${TNG_SOURCELIST} ${TNG_ROOT_SOURCE_DIR}/src/compression/${_file}) + endforeach() + foreach(_file ${_tng_io_sources}) + list(APPEND ${TNG_SOURCELIST} ${TNG_ROOT_SOURCE_DIR}/src/lib/${_file}) + endforeach() + if(TNG_BUILD_FORTRAN) + list(APPEND ${TNG_SOURCELIST} ${TNG_ROOT_SOURCE_DIR}/src/lib/tng_io_fortran.c) + endif() + if (TNG_HAVE_INTTYPES_H) + list(APPEND ${TNG_COMPILEDEFS} USE_STD_INTTYPES_H) + endif() +endmacro() + +macro(TNG_SET_SOURCE_PROPERTIES) + set(_tng_with_zlib OFF) + set(_curr_var) + foreach (_arg ${ARGN}) + if (_arg STREQUAL "WITH_ZLIB") + set(_curr_var with_zlib) + elseif (_curr_var) + set(_tng_${_curr_var} ${_arg}) + set(_curr_var "") + else() + message(FATAL_ERROR "Invalid argument ${_arg} to TNG_SET_SOURCE_PROPERTIES") + endif() + endforeach() + if (_tng_with_zlib) + set_property(SOURCE ${TNG_ROOT_SOURCE_DIR}/src/lib/tng_io.c + APPEND PROPERTY COMPILE_DEFINITIONS USE_ZLIB) + endif() + if (TNG_HAVE_INTTYPES_H) + set_property(SOURCE ${TNG_ROOT_SOURCE_DIR}/src/lib/tng_io.c + APPEND PROPERTY COMPILE_DEFINITIONS USE_STD_INTTYPES_H) + endif() + if (TNG_INTEGER_BIG_ENDIAN) + set_property(SOURCE ${TNG_ROOT_SOURCE_DIR}/src/lib/md5.c + APPEND PROPERTY COMPILE_DEFINITIONS TNG_INTEGER_BIG_ENDIAN) + endif() +endmacro() |