CMakeLists.txt 881 B

123456789101112131415161718192021222324252627282930313233
  1. project (rotor-light-playground LANGUAGES CXX)
  2. cmake_minimum_required(VERSION 3.8)
  3. cmake_policy(SET CMP0069 NEW)
  4. include(CheckIPOSupported)
  5. check_ipo_supported(RESULT supported OUTPUT error)
  6. if( supported )
  7. message(STATUS "IPO / LTO enabled")
  8. set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
  9. else()
  10. message(STATUS "IPO / LTO not supported: <${error}>")
  11. endif()
  12. add_subdirectory("lib/rotor-light")
  13. target_include_directories(rotor_light PUBLIC "${LIBSTDCPP_HOME}/include")
  14. add_executable(sample
  15. src/actor/dht.cpp
  16. src/actor/uart.cpp
  17. src/hw/board.cpp
  18. src/hw/exti.cpp
  19. src/hw/timer.cpp
  20. src/model/DHT11.cpp
  21. src/main.cpp
  22. src/supervisor.cpp
  23. )
  24. target_link_libraries(sample rotor_light)
  25. target_include_directories(sample PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/src")
  26. add_custom_command(TARGET sample
  27. POST_BUILD COMMAND ${CMAKE_SIZE_UTIL} sample)