CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. cmake_minimum_required(VERSION 2.8)
  2. project(HDF4CPP)
  3. list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
  4. set(CMAKE_CXX_STANDARD 11)
  5. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  6. set(CMAKE_POSITION_INDEPENDENT_CODE ON)
  7. find_package(HDF4)
  8. add_library(hdf4cpp
  9. lib/HdfFile.cpp
  10. lib/HdfItem.cpp
  11. lib/HdfAttribute.cpp)
  12. target_include_directories(hdf4cpp
  13. PUBLIC
  14. include/
  15. ${HDF4_INCLUDE_DIRS}
  16. )
  17. target_link_libraries(hdf4cpp
  18. ${HDF4_LIBRARIES}
  19. )
  20. enable_testing()
  21. find_package(GTest REQUIRED)
  22. find_package(Threads REQUIRED)
  23. add_executable(hdf4cpp-tests
  24. tests/HdfFileTest.cpp)
  25. target_include_directories(hdf4cpp-tests
  26. PRIVATE
  27. ${GTEST_INCLUDE_DIRS}
  28. ${hdf4cpp_INCLUDE_DIRS}
  29. )
  30. target_link_libraries(hdf4cpp-tests
  31. ${GTEST_BOTH_LIBRARIES}
  32. ${CMAKE_THREAD_LIBS_INIT}
  33. hdf4cpp
  34. )
  35. if (NOT DEFINED TEST_DATA_PATH)
  36. set(TEST_DATA_PATH "${PROJECT_SOURCE_DIR}/tests/test_data/")
  37. message(STATUS "No path to test data defined, using ${TEST_DATA_PATH} as default")
  38. endif ()
  39. target_compile_definitions(hdf4cpp-tests PRIVATE
  40. "TEST_DATA_PATH=\"${TEST_DATA_PATH}\"")