12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- cmake_minimum_required(VERSION 2.8)
- project(HDF4CPP)
- list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_POSITION_INDEPENDENT_CODE ON)
- find_package(HDF4 REQUIRED)
- find_package(Doxygen)
- if (DOXYGEN_FOUND)
- configure_file(Doxyfile_user.in ${PROJECT_BINARY_DIR}/Doxyfile_user @ONLY IMMEDIATE)
- add_custom_target(docs_user
- COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile_user
- SOURCES ${PROJECT_BINARY_DIR}/Doxyfile_user
- )
- configure_file(Doxyfile_all.in ${PROJECT_BINARY_DIR}/Doxyfile_all @ONLY IMMEDIATE)
- add_custom_target(docs_all
- COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile_all
- SOURCES ${PROJECT_BINARY_DIR}/Doxyfile_all
- )
- else ()
- message(WARNING "Doxygen not found")
- endif()
- add_library(hdf4cpp
- lib/HdfFile.cpp
- lib/HdfItem.cpp
- lib/HdfAttribute.cpp
- lib/HdfException.cpp
- include/hdf4cpp/HdfObject.h
- include/hdf4cpp/HdfAttribute.h
- include/hdf4cpp/HdfAttribute_priv.h
- include/hdf4cpp/HdfException.h
- include/hdf4cpp/HdfFile.h
- include/hdf4cpp/HdfItem.h
- include/hdf4cpp/HdfDefines.h
- )
- target_include_directories(hdf4cpp
- PUBLIC
- include/
- ${HDF4_INCLUDE_DIR}
- )
- target_link_libraries(hdf4cpp
- hdf4::mfhdf-static
- )
- enable_testing()
- find_package(GTest REQUIRED)
- find_package(Threads REQUIRED)
- add_executable(hdf4cpp-tests
- tests/HdfFileTest.cpp)
- target_include_directories(hdf4cpp-tests
- PRIVATE
- ${GTEST_INCLUDE_DIRS}
- )
- target_link_libraries(hdf4cpp-tests
- ${GTEST_BOTH_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT}
- hdf4cpp
- )
- if (NOT DEFINED TEST_DATA_PATH)
- set(TEST_DATA_PATH "${PROJECT_SOURCE_DIR}/tests/test_data/")
- message(STATUS "No path to test data defined, using ${TEST_DATA_PATH} as default")
- endif ()
- target_compile_definitions(hdf4cpp-tests PRIVATE
- "TEST_DATA_PATH=\"${TEST_DATA_PATH}\"")
- add_test(
- NAME hdf4cpp
- COMMAND hdf4cpp-tests --gtest_output=xml:${PROJECT_BINARY_DIR}/test_details.xml
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} # we need the serialized test data for the integration test
- )
- add_subdirectory(examples)
|