CMakeLists.txt 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #######################################
  2. # Add test subdirectories #
  3. #######################################
  4. #######################################
  5. # Add test includes #
  6. #######################################
  7. add_test_includes()
  8. #######################################
  9. # Add common includes #
  10. #######################################
  11. opener_common_includes()
  12. #######################################
  13. # Add platform-specific includes #
  14. #######################################
  15. opener_platform_support("INCLUDES")
  16. ###################################################
  17. # Copy custom test output file to binary location #
  18. ###################################################
  19. #configure_file( CTestCustom.cmake ${PROJECT_BINARY_DIR}/CTestCustom.cmake )
  20. add_subdirectory( cip )
  21. add_subdirectory( ports )
  22. add_subdirectory( enet_encap )
  23. add_subdirectory( utils )
  24. add_executable( OpENer_Tests OpENerTests.cpp callback_mock.cpp security_tests.cpp)
  25. find_library ( CPPUTEST_LIBRARY CppUTest ${CPPUTEST_HOME}/cpputest_build/lib )
  26. find_library ( CPPUTESTEXT_LIBRARY CppUTestExt ${CPPUTEST_HOME}/cpputest_build/lib )
  27. # When using AddressSanitizer, CppUTest's memory leak detection is not needed
  28. # since ASAN provides more comprehensive memory safety checking
  29. if(NOT (ENABLE_ADDRESS_SANITIZER OR ENABLE_UNDEFINED_SANITIZER))
  30. # CppUTest memory leak detection is enabled when sanitizers are OFF
  31. else()
  32. # Suppress CppUTest's built-in memory checking to avoid conflicts
  33. add_compile_definitions(CPPUTEST_MEMORY_LEAK_DETECTION_DISABLED)
  34. message(STATUS "CppUTest memory leak detection disabled (using AddressSanitizer)")
  35. endif()
  36. target_link_libraries( OpENer_Tests rt )
  37. target_link_libraries( OpENer_Tests gcov ${CPPUTEST_LIBRARY} ${CPPUTESTEXT_LIBRARY} )
  38. target_link_libraries( OpENer_Tests UtilsTest Utils )
  39. target_link_libraries( OpENer_Tests EthernetEncapsulationTest ENET_ENCAP )
  40. target_link_libraries( OpENer_Tests CipTest CIP )
  41. target_link_libraries( OpENer_Tests PortsTest PLATFORM_GENERIC )
  42. target_link_libraries( OpENer_Tests NVDATA )
  43. ########################################
  44. # Adds test to CTest environment #
  45. ########################################
  46. add_test(OpENer_Tests ${EXECUTABLE_OUTPUT_PATH}/OpENer_Tests -v -c)