|
@@ -3,8 +3,6 @@ cmake_minimum_required(VERSION 2.8)
|
|
project(HDF4CPP LANGUAGES CXX)
|
|
project(HDF4CPP LANGUAGES CXX)
|
|
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
|
-
|
|
|
|
-
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
@@ -63,42 +61,15 @@ if (MSVC)
|
|
)
|
|
)
|
|
endif ()
|
|
endif ()
|
|
|
|
|
|
|
|
+option(HDF4CPP_BUILD_TESTS "Enable building tests" ON)
|
|
|
|
+option(HDF4CPP_BUILD_EXAMPLES "Enable building examples" ON)
|
|
|
|
|
|
-enable_testing()
|
|
+if (HDF4CPP_BUILD_TESTS)
|
|
-find_package(GTest REQUIRED)
|
|
+ add_subdirectory(tests)
|
|
-find_package(Threads REQUIRED)
|
|
+endif()
|
|
-
|
|
+if (HDF4CPP_BUILD_EXAMPLES)
|
|
-add_executable(hdf4cpp-tests
|
|
+ add_subdirectory(examples)
|
|
- tests/HdfFileTest.cpp)
|
|
+endif()
|
|
-
|
|
|
|
-target_include_directories(hdf4cpp-tests
|
|
|
|
- PRIVATE
|
|
|
|
- ${GTEST_INCLUDE_DIRS}
|
|
|
|
- )
|
|
|
|
-target_link_libraries(hdf4cpp-tests
|
|
|
|
- ${GTEST_BOTH_LIBRARIES}
|
|
|
|
- ${CMAKE_THREAD_LIBS_INIT}
|
|
|
|
- hdf4cpp
|
|
|
|
- )
|
|
|
|
-target_compile_definitions(hdf4cpp-tests PRIVATE
|
|
|
|
- GTEST_DONT_DEFINE_FAIL
|
|
|
|
- GTEST_DONT_DEFINE_SUCCEED)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-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)
|
|
|
|
|
|
|
|
install(TARGETS hdf4cpp DESTINATION lib)
|
|
install(TARGETS hdf4cpp DESTINATION lib)
|
|
install(FILES ${HEADERS}
|
|
install(FILES ${HEADERS}
|