CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # DO NOT MODIFY THIS FILE, IT WILL BE OVERRIDE!!!
  2. # set this will supress some warnings
  3. set(BUILDING_SDK "yes" CACHE INTERNAL "")
  4. # basic config
  5. if (NOT PROJ)
  6. get_filename_component(PROJ ${CMAKE_CURRENT_BINARY_DIR} DIRECTORY)
  7. get_filename_component(PROJ ${PROJ} NAME)
  8. string(REPLACE " " "_" PROJ ${PROJ})
  9. message(STATUS "PROJ not set, use ${PROJ} as PROJ. Also, you can set it manually. e.g. -DPROJ=hello_world")
  10. else()
  11. message("PROJ = ${PROJ}")
  12. endif ()
  13. cmake_minimum_required(VERSION 3.0)
  14. include(./cmake/common.cmake)
  15. project(${PROJ} C CXX ASM)
  16. # config self use headers
  17. include(./cmake/macros.internal.cmake)
  18. header_directories(${SDK_ROOT}/lib)
  19. header_directories(src/${PROJ})
  20. header_directories(kendryte-standalone-demo/${PROJ})
  21. add_subdirectory(third_party/gsl-lite)
  22. add_subdirectory(third_party/mpark-variant)
  23. add_subdirectory(third_party/nlohmann_json)
  24. # build library first
  25. add_subdirectory(lib)
  26. # compile project
  27. add_source_files(src/${PROJ}/*.c src/${PROJ}/*.s src/${PROJ}/*.S src/${PROJ}/*.cpp)
  28. add_source_files(kendryte-standalone-demo/${PROJ}/*.c kendryte-standalone-demo/${PROJ}/*.s kendryte-standalone-demo/${PROJ}/*.S kendryte-standalone-demo/${PROJ}/*.cpp)
  29. include(./cmake/executable.cmake)