代码拉取完成,页面将自动刷新
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set(CMAKE_USER_MAKE_RULES_OVERRIDE "cmake/platform.cmake")
project(VMD-h5mdplugin C)
find_package(HDF5 REQUIRED COMPONENTS "C" "HL")
find_program(VMD_EXECUTABLE NAMES vmd PATH_SUFFIXES bin DOC "VMD command")
if(VMD_EXECUTABLE)
file(STRINGS "${VMD_EXECUTABLE}" VMDDIR REGEX "^[^#].*defaultvmddir=.*$")
string(REGEX REPLACE "(^.*=\"?|\"$)" "" VMDDIR "${VMDDIR}")
set(VMD_PLUGIN_INCLUDE_DIR "${VMDDIR}/plugins/include" CACHE STRING "Path to VMD plugin headers")
set(VMD_PLUGIN_PATH "${VMDDIR}/plugins/LINUXAMD64" CACHE STRING "Path to VMD plugin headers")
message(STATUS "VMD executable: ${VMD_EXECUTABLE}")
message(STATUS "VMD plugin path: ${VMD_PLUGIN_PATH}")
message(STATUS "VMD plugin include dir: ${VMD_PLUGIN_INCLUDE_DIR}")
else()
message(FATAL_ERROR "VMD not found, please specify with -DVMD_EXECUTABLE")
endif()
include_directories("${HDF5_INCLUDE_DIR}")
include_directories("${VMD_PLUGIN_INCLUDE_DIR}")
#
# add H5MD library
#
add_library(h5md # SHARED
libh5md.c
)
#
# add H5MD plugin
#
add_library(h5mdplugin SHARED
h5mdplugin.c
)
target_link_libraries(h5md
${HDF5_C_LIBRARIES}
${HDF5_HL_LIBRARIES}
# math library
m
)
SET (CMAKE_SHARED_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,'$ORIGIN'" )
# unset "lib" prefix
set_target_properties(h5mdplugin PROPERTIES PREFIX "")
target_link_libraries(h5mdplugin
h5md
${HDF5_C_LIBRARIES}
${HDF5_HL_LIBRARIES}
)
install(TARGETS h5md h5mdplugin
DESTINATION "${VMD_PLUGIN_PATH}/molfile"
)
#
# add test
#
enable_testing()
add_executable(h5mdtest
h5mdtest.c
h5mdplugin.c
)
target_link_libraries(h5mdtest
h5md
${HDF5_LIBRARIES}
# math library
m
)
add_test(h5md/particles/full_vmd_structure
h5mdtest h5md "${CMAKE_SOURCE_DIR}/samples/full_vmd_structure.h5"
)
add_test(h5md/particles/half_vmd_structure
h5mdtest h5md "${CMAKE_SOURCE_DIR}/samples/half_vmd_structure.h5"
)
add_test(h5md/particles/no_vmd_structure
h5mdtest h5md "${CMAKE_SOURCE_DIR}/samples/no_vmd_structure.h5"
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。