CMakeLists.txt 746 B

123456789101112131415161718192021222324252627
  1. # include(CheckIPOSupported)
  2. # check_ipo_supported(RESULT supported OUTPUT error)
  3. set(BINARY ${CMAKE_PROJECT_NAME}_test)
  4. file(GLOB_RECURSE TEST_SOURCES LIST_DIRECTORIES false *.h *.cpp *.c)
  5. set(SOURCES ${TEST_SOURCES})
  6. add_executable(${BINARY} ${TEST_SOURCES})
  7. add_test(NAME ${BINARY} COMMAND ${BINARY})
  8. # if(supported)
  9. # message(STATUS "IPO / LTO enabled")
  10. # set_property(TARGET ${BINARY} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
  11. # else()
  12. # message(STATUS "IPO / LTO not supported: <${error}>")
  13. # endif()
  14. # 链接src生成的lib库和gtest库
  15. target_link_libraries(${BINARY} PUBLIC
  16. -Wl,--whole-archive
  17. ${CMAKE_PROJECT_NAME}-core
  18. ${CMAKE_PROJECT_NAME}-lvgl
  19. -Wl,--no-whole-archive
  20. gtest)