Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

60 řádky
2.9 KiB

  1. # Initialize ######################################################################################
  2. Include ( cotire OPTIONAL RESULT_VARIABLE HAS_COTIRE )
  3. Include ( pedantic OPTIONAL RESULT_VARIABLE HAS_PEDANTIC )
  4. Include ( cmake_tests OPTIONAL RESULT_VARIABLE HAS_CMAKE_TESTS )
  5. Find_Package ( GTest )
  6. If ( NOT "${GTest_FOUND}" )
  7. Return ( )
  8. EndIf ( )
  9. # Test Helper #####################################################################################
  10. File ( GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/helper/*.cpp )
  11. Add_Library ( cppmicrohttpd-test-helper STATIC ${SOURCE_FILES} )
  12. Target_Include_Directories ( cppmicrohttpd-test-helper
  13. PUBLIC
  14. $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/helper>
  15. $<INSTALL_INTERFACE:${cppmicrohttpd_INSTALL_DIR_INCLUDE}> )
  16. Target_Include_Directories ( cppmicrohttpd-test-helper
  17. SYSTEM PUBLIC
  18. ${MICROHTTPD_INCLUDE_DIRS} )
  19. Target_Link_Libraries ( cppmicrohttpd-test-helper
  20. PUBLIC
  21. cppmicrohttpd-objects
  22. GMock::GMock )
  23. # Test ############################################################################################
  24. File ( GLOB_RECURSE CPPMICROHTTPD_TEST_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/cppmicrohttpd/*.h )
  25. File ( GLOB_RECURSE CPPMICROHTTPD_TEST_INLINE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/cppmicrohttpd/*.inl )
  26. File ( GLOB_RECURSE CPPMICROHTTPD_TEST_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/cppmicrohttpd/*.cpp )
  27. Add_Executable ( cppmicrohttpd-test
  28. EXCLUDE_FROM_ALL
  29. ${CPPMICROHTTPD_TEST_HEADER_FILES}
  30. ${CPPMICROHTTPD_TEST_INLINE_FILES}
  31. ${CPPMICROHTTPD_TEST_SOURCE_FILES} )
  32. Target_Link_Libraries ( cppmicrohttpd-test
  33. PUBLIC
  34. cppmicrohttpd-test-helper
  35. GTest::Main )
  36. # pedantic
  37. If ( HAS_PEDANTIC )
  38. Pedantic_Apply_Flags_Target ( cppmicrohttpd-test ALL )
  39. EndIf ( )
  40. # optimization
  41. If ( HAS_COTIRE )
  42. Cotire ( cppmicrohttpd-test )
  43. EndIf ( )
  44. # test
  45. If ( HAS_CMAKE_TESTS )
  46. Add_CMake_Test ( NAME cppmicrohttpd TARGET cppmicrohttpd-test )
  47. Else ( )
  48. Add_Test ( NAME cppmicrohttpd COMMAND cppmicrohttpd-test )
  49. EndIf ( )