12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # ----------------------------------------------------------------------------
- # TESTS
- # ----------------------------------------------------------------------------
- PROJECT(tests)
- # Fix a "bug" in VS11 (MSVC 2012):
- if(MSVC)
- add_definitions(-D_VARIADIC_MAX=10)
- endif(MSVC)
- if(NANOFLANN_USE_SYSTEM_GTEST)
- find_package(GTest REQUIRED)
- else()
- # Treat this directory as "system" to ignore pedantic warnings.
- if(CMAKE_COMPILER_IS_GNUCXX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem gtest-1.8.0/include")
- endif()
- # Compile gtest from sources:
- add_subdirectory(gtest-1.8.0)
- INCLUDE_DIRECTORIES("gtest-1.8.0/include/")
- endif()
- set(EXECUTABLE_OUTPUT_PATH "${${PROJECT_NAME}_BINARY_DIR}")
- # Tests based on Google gtest:
- # -----------------------------
- # If using system library, add C++ flags:
- if (UNIX)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
- endif()
- # Test project:
- ADD_EXECUTABLE(unit_tests test_main.cpp)
- set_target_properties(unit_tests PROPERTIES FOLDER "./")
- ADD_TEST(unit_tests_build "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target unit_tests)
- ADD_TEST(unit_tests_run ${EXECUTABLE_OUTPUT_PATH}/unit_tests)
- set_tests_properties(unit_tests_run PROPERTIES DEPENDS unit_tests_build)
- # Add the required libraries for linking:
- if(NANOFLANN_USE_SYSTEM_GTEST)
- target_link_libraries(unit_tests GTest::gtest nanoflann)
- else()
- target_link_libraries(unit_tests mygtest nanoflann)
- endif()
|