mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-17 16:10:24 +08:00
[svn-r25569] Added option to build tools static when building shared libraries. This will prevent 'dll' being appended to the tool name on windows. See HDFFV-8292.
Tested: local linux
This commit is contained in:
parent
2154d1c6f1
commit
c23f3a7ea5
@ -283,8 +283,8 @@ if (BUILD_SHARED_LIBS)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
set (H5_BUILT_AS_STATIC_LIB 1)
|
||||
set (H5_ENABLE_STATIC_LIB YES)
|
||||
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
endif (BUILD_SHARED_LIBS)
|
||||
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Option to Build Static executables
|
||||
|
@ -1,27 +1,47 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
# HDF5 Version file for install directory
|
||||
#-----------------------------------------------------------------------------
|
||||
#
|
||||
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||
# the requested version string are exactly the same and it sets
|
||||
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
|
||||
# but only if the requested major.minor version is the same as the current one.
|
||||
# The variable HDF5_VERSION_STRING must be set before calling configure_file().
|
||||
|
||||
set (PACKAGE_VERSION @HDF5_VERSION_STRING@)
|
||||
set (PACKAGE_VERSION "@HDF5_VERSION_STRING@")
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL @H5_VERS_MAJOR@)
|
||||
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@H5_VERS_MAJOR@")
|
||||
|
||||
# exact match for version @H5_VERS_MAJOR@.@H5_VERS_MINOR@
|
||||
if ("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @H5_VERS_MINOR@)
|
||||
if ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@")
|
||||
|
||||
# compatible with any version @H5_VERS_MAJOR@.@H5_VERS_MINOR@.x
|
||||
set (PACKAGE_VERSION_COMPATIBLE 1)
|
||||
set (PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_PATCH}" EQUAL @H5_VERS_RELEASE@)
|
||||
set (PACKAGE_VERSION_EXACT 1)
|
||||
if ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@H5_VERS_RELEASE@")
|
||||
set (PACKAGE_VERSION_EXACT TRUE)
|
||||
|
||||
if ("${PACKAGE_FIND_VERSION_TWEAK}" EQUAL @H5_VERS_SUBRELEASE@)
|
||||
if ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@H5_VERS_SUBRELEASE@")
|
||||
# not using this yet
|
||||
endif ("${PACKAGE_FIND_VERSION_TWEAK}" EQUAL @H5_VERS_SUBRELEASE@)
|
||||
|
||||
endif ("${PACKAGE_FIND_VERSION_PATCH}" EQUAL @H5_VERS_RELEASE@)
|
||||
|
||||
endif ("${PACKAGE_FIND_VERSION_MINOR}" EQUAL @H5_VERS_MINOR@)
|
||||
endif ("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL @H5_VERS_MAJOR@)
|
||||
endif ("${PACKAGE_FIND_VERSION_TWEAK}" STREQUAL "@H5_VERS_SUBRELEASE@")
|
||||
endif ("${PACKAGE_FIND_VERSION_PATCH}" STREQUAL "@H5_VERS_RELEASE@")
|
||||
else ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@")
|
||||
set (PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif ("${PACKAGE_FIND_VERSION_MINOR}" STREQUAL "@H5_VERS_MINOR@")
|
||||
endif ("${PACKAGE_FIND_VERSION_MAJOR}" STREQUAL "@H5_VERS_MAJOR@")
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "@CMAKE_SIZEOF_VOID_P@" STREQUAL "")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT "${CMAKE_SIZEOF_VOID_P}" STREQUAL "@CMAKE_SIZEOF_VOID_P@")
|
||||
math(EXPR installedBits "@CMAKE_SIZEOF_VOID_P@ * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif()
|
||||
|
@ -554,6 +554,7 @@ HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" OFF
|
||||
HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF
|
||||
HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" OFF
|
||||
HDF5_BUILD_TOOLS "Build HDF5 Tools" OFF
|
||||
ONLY_STATIC_TOOLS "Build Only Static Tools" OFF
|
||||
if (HDF5_BUILD_FORTRAN)
|
||||
HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" OFF
|
||||
|
||||
|
@ -41,6 +41,10 @@ New Features
|
||||
|
||||
Configuration:
|
||||
-------------
|
||||
- CMake: Added option to build only tools static. This can be used when building
|
||||
the libraries as shared. For release binaries on Windows, this option prevents
|
||||
the tools being named with 'dll' being appended, see HDFFV-8292
|
||||
(ADB 2014/09/03)
|
||||
- Autotools: Automake updated to 1.14.1 (ADB - 2014/04/08)
|
||||
- CMake: Moved minimum CMake version to 2.8.11 which enables better library
|
||||
include processing. (ADB - 2014/03/26)
|
||||
|
@ -858,7 +858,8 @@ set_source_files_properties (${HDF5_BINARY_DIR}/H5version.h GENERATED)
|
||||
set (common_SRCS ${common_SRCS} ${HDF5_BINARY_DIR}/H5overflow.h)
|
||||
set_source_files_properties (${HDF5_BINARY_DIR}/H5overflow.h GENERATED)
|
||||
|
||||
add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
|
||||
add_library (${HDF5_LIB_TARGET}_obj OBJECT ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
|
||||
add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} $<TARGET_OBJECTS:${HDF5_LIB_TARGET}_obj>)
|
||||
TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} " " " ")
|
||||
target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
|
||||
if (NOT WIN32)
|
||||
@ -873,6 +874,21 @@ set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
add_library (${HDF5_LIB_TARGET}_static STATIC $<TARGET_OBJECTS:${HDF5_LIB_TARGET}_obj>)
|
||||
TARGET_C_PROPERTIES (${HDF5_LIB_TARGET}_static " " " ")
|
||||
target_link_libraries (${HDF5_LIB_TARGET}_static ${LINK_LIBS})
|
||||
if (NOT WIN32)
|
||||
target_link_libraries (${HDF5_LIB_TARGET}_static dl)
|
||||
endif (NOT WIN32)
|
||||
if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
target_link_libraries (${HDF5_LIB_TARGET}_static ${MPI_C_LIBRARIES})
|
||||
endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET}_static ${HDF5_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_LIB_TARGET}_static PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
option (HDF5_ENABLE_DEBUG_APIS "Turn on debugging in all packages" OFF)
|
||||
if (HDF5_ENABLE_DEBUG_APIS)
|
||||
|
@ -9,11 +9,16 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# --------------------------------------------------------------------
|
||||
# Add the h5copy and test executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5copy ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copy.c)
|
||||
TARGET_NAMING (h5copy ${LIB_TYPE})
|
||||
add_executable (h5copy ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copy.c )
|
||||
TARGET_C_PROPERTIES (h5copy " " " ")
|
||||
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5copy PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5copy STATIC)
|
||||
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5copy ${LIB_TYPE})
|
||||
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5copy)
|
||||
|
||||
|
@ -13,10 +13,15 @@ add_executable (h5diff
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_main.c
|
||||
)
|
||||
TARGET_NAMING (h5diff ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5diff " " " ")
|
||||
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5diff PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5diff STATIC)
|
||||
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5diff ${LIB_TYPE})
|
||||
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5diff)
|
||||
|
||||
@ -25,10 +30,15 @@ if (H5_HAVE_PARALLEL)
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
|
||||
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/ph5diff_main.c
|
||||
)
|
||||
TARGET_NAMING (ph5diff ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (ph5diff " " " ")
|
||||
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (ph5diff PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (ph5diff STATIC)
|
||||
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (ph5diff ${LIB_TYPE})
|
||||
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
endif (H5_HAVE_PARALLEL)
|
||||
|
||||
if (BUILD_TESTING)
|
||||
|
@ -14,10 +14,15 @@ add_executable (h5dump
|
||||
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_ddl.c
|
||||
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_xml.c
|
||||
)
|
||||
TARGET_NAMING (h5dump ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5dump " " " ")
|
||||
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5dump PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5dump STATIC)
|
||||
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5dump ${LIB_TYPE})
|
||||
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5dump)
|
||||
|
||||
|
@ -10,11 +10,16 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5import executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c)
|
||||
TARGET_NAMING (h5import ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5import " " " ")
|
||||
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
#set_target_properties (h5import PROPERTIES COMPILE_DEFINITIONS H5DEBUGIMPORT)
|
||||
set_target_properties (h5import PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5import STATIC)
|
||||
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5import ${LIB_TYPE})
|
||||
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5import)
|
||||
|
||||
|
@ -10,28 +10,48 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5jam executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5jam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jam.c)
|
||||
TARGET_NAMING (h5jam ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5jam " " " ")
|
||||
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5jam PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5jam STATIC)
|
||||
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5jam ${LIB_TYPE})
|
||||
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
add_executable (getub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/getub.c)
|
||||
TARGET_NAMING (getub ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (getub " " " ")
|
||||
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (getub PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (getub STATIC)
|
||||
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (getub ${LIB_TYPE})
|
||||
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
add_executable (tellub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/tellub.c)
|
||||
TARGET_NAMING (tellub ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (tellub " " " ")
|
||||
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (tellub PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (tellub STATIC)
|
||||
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (tellub ${LIB_TYPE})
|
||||
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
add_executable (h5unjam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5unjam.c)
|
||||
TARGET_NAMING (h5unjam ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5unjam " " " ")
|
||||
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5unjam PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5unjam STATIC)
|
||||
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5unjam ${LIB_TYPE})
|
||||
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES
|
||||
h5jam
|
||||
|
@ -10,10 +10,15 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5ls executable
|
||||
#-----------------------------------------------------------------------------
|
||||
add_executable (h5ls ${HDF5_TOOLS_H5LS_SOURCE_DIR}/h5ls.c)
|
||||
TARGET_NAMING (h5ls ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5ls " " " ")
|
||||
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5ls PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5ls STATIC)
|
||||
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5ls ${LIB_TYPE})
|
||||
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES
|
||||
h5ls
|
||||
|
@ -21,10 +21,15 @@ set (REPACK_COMMON_SRCS
|
||||
)
|
||||
|
||||
add_executable (h5repack ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repack_main.c)
|
||||
TARGET_NAMING (h5repack ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repack " " " ")
|
||||
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5repack PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5repack STATIC)
|
||||
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5repack ${LIB_TYPE})
|
||||
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5repack)
|
||||
|
||||
|
@ -10,10 +10,15 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# Add the h5stat executables
|
||||
# --------------------------------------------------------------------
|
||||
add_executable (h5stat ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat.c)
|
||||
TARGET_NAMING (h5stat ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5stat " " " ")
|
||||
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5stat PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5stat STATIC)
|
||||
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5stat ${LIB_TYPE})
|
||||
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES h5stat)
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
cmake_minimum_required (VERSION 2.8.11)
|
||||
PROJECT (HDF5_TOOLS_LIB)
|
||||
|
||||
option (ONLY_STATIC_TOOLS "Build Only Static Tools" OFF)
|
||||
#-----------------------------------------------------------------------------
|
||||
# Apply Definitions to compiler in this directory and below
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -36,7 +37,8 @@ set (H5_TOOLS_LIB_HDRS
|
||||
${HDF5_TOOLS_LIB_SOURCE_DIR}/h5diff.h
|
||||
)
|
||||
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET}_obj OBJECT ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} $<TARGET_OBJECTS:${HDF5_TOOLS_LIB_TARGET}_obj>)
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} " " " ")
|
||||
target_link_libraries (${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIB_TARGET}")
|
||||
@ -51,6 +53,15 @@ set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
|
||||
FOLDER libraries/tools
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
add_library (${HDF5_TOOLS_LIB_TARGET}_static STATIC $<TARGET_OBJECTS:${HDF5_TOOLS_LIB_TARGET}_obj>)
|
||||
TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET}_static " " " ")
|
||||
target_link_libraries (${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
H5_SET_LIB_OPTIONS (${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_TOOLS_LIB_NAME} STATIC)
|
||||
set_target_properties (${HDF5_TOOLS_LIB_TARGET}_static PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
|
||||
)
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
##############################################################################
|
||||
##############################################################################
|
||||
|
@ -11,22 +11,37 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
|
||||
# --------------------------------------------------------------------
|
||||
#-- Misc Executables
|
||||
add_executable (h5debug ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5debug.c)
|
||||
TARGET_NAMING (h5debug ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5debug " " " ")
|
||||
target_link_libraries (h5debug ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5debug PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5debug STATIC)
|
||||
target_link_libraries (h5debug ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5debug ${LIB_TYPE})
|
||||
target_link_libraries (h5debug ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
add_executable (h5repart ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart.c)
|
||||
TARGET_NAMING (h5repart ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5repart " " " ")
|
||||
target_link_libraries (h5repart ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
|
||||
set_target_properties (h5repart PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5repart STATIC)
|
||||
target_link_libraries (h5repart ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5repart ${LIB_TYPE})
|
||||
target_link_libraries (h5repart ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
add_executable (h5mkgrp ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5mkgrp.c)
|
||||
TARGET_NAMING (h5mkgrp ${LIB_TYPE})
|
||||
TARGET_C_PROPERTIES (h5mkgrp " " " ")
|
||||
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
set_target_properties (h5mkgrp PROPERTIES FOLDER tools)
|
||||
if (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5mkgrp STATIC)
|
||||
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET}_static ${HDF5_LIB_TARGET}_static)
|
||||
else (ONLY_STATIC_TOOLS)
|
||||
TARGET_NAMING (h5mkgrp ${LIB_TYPE})
|
||||
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
|
||||
endif (ONLY_STATIC_TOOLS)
|
||||
|
||||
set (H5_DEP_EXECUTABLES
|
||||
h5debug
|
||||
|
Loading…
Reference in New Issue
Block a user