CMakeLists.txt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # CMake 最低版本号要求
  2. cmake_minimum_required (VERSION 3.5)
  3. set(CMAKE_BUILD_TYPE "Debug")
  4. set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
  5. set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -Wall")
  6. set(CMAKE_EXE_LINKER_FLAGS "-Wl,-Map=luatos.map")
  7. set(TOPROOT "../..")
  8. # 项目信息
  9. project (luatos)
  10. # 一定一定要先添加本地的头文件
  11. include_directories(./include)
  12. include_directories(${TOPROOT}/lua/include
  13. ${TOPROOT}/luat/include
  14. )
  15. include_directories(${TOPROOT}/components/lfs)
  16. include_directories(${TOPROOT}/components/qrcode)
  17. include_directories(${TOPROOT}/components/lcd)
  18. include_directories(${TOPROOT}/components/u8g2)
  19. include_directories(${TOPROOT}/components/tjpgd)
  20. include_directories(${TOPROOT}/components/rsa/inc)
  21. aux_source_directory(./port PORT_SRCS)
  22. aux_source_directory(${TOPROOT}/lua/src LUA_SRCS)
  23. aux_source_directory(${TOPROOT}/components/lua-cjson CJSON_SRCS)
  24. aux_source_directory(${TOPROOT}/components/rsa/binding RSA_SRCS)
  25. aux_source_directory(${TOPROOT}/components/qrcode QRCODE_SRCS)
  26. aux_source_directory(${TOPROOT}/components/lcd LCD_SRCS)
  27. aux_source_directory(${TOPROOT}/components/u8g2 U8G2_SRCS)
  28. aux_source_directory(${TOPROOT}/components/tjpgd TJPGD_SRCS)
  29. #add_library(lua )
  30. #add_library(luatos_msys ${PORT_SRCS})
  31. #add_library(cjson )
  32. add_library(luat ${PORT_SRCS} ${LUA_SRCS} ${CJSON_SRCS} ${TOPROOT}/luat/modules/luat_main.c
  33. ${TOPROOT}/luat/modules/luat_base.c
  34. ${TOPROOT}/luat/modules/luat_ota.c
  35. ${TOPROOT}/luat/modules/luat_lib_rtos.c
  36. ${TOPROOT}/luat/modules/luat_lib_timer.c
  37. ${TOPROOT}/luat/modules/luat_lib_log.c
  38. ${TOPROOT}/luat/modules/luat_lib_gpio.c
  39. ${TOPROOT}/luat/modules/luat_lib_spi.c
  40. ${TOPROOT}/luat/modules/luat_lib_pack.c
  41. ${TOPROOT}/luat/modules/luat_lib_zbuff.c
  42. ${TOPROOT}/luat/modules/luat_lib_mqttcore.c
  43. ${TOPROOT}/luat/modules/luat_lib_libcoap.c
  44. ${TOPROOT}/luat/modules/luat_lib_crypto.c
  45. ${TOPROOT}/components/sfd/luat_lib_sfd.c
  46. ${TOPROOT}/components/sfd/luat_sfd_mem.c
  47. ${TOPROOT}/components/sfd/luat_sfd_w25q.c
  48. ${TOPROOT}/components/sfd/luat_sfd_onchip.c
  49. ${TOPROOT}/components/sfd/luat_sfd.c
  50. ${TOPROOT}/luat/modules/crc.c
  51. ${TOPROOT}/luat/vfs/luat_vfs.c
  52. ${TOPROOT}/luat/vfs/luat_fs_luadb.c
  53. ${TOPROOT}/luat/vfs/luat_fs_posix.c
  54. ${TOPROOT}/luat/vfs/luat_fs_lfs2.c
  55. ${TOPROOT}/luat/vfs/luat_fs_inline.c
  56. ${TOPROOT}/luat/vfs/luat_fs_romfs.c
  57. ${TOPROOT}/luat/vfs/luat_inline_libs_64bit_size32.c
  58. ${TOPROOT}/luat/vfs/luat_inline_libs_64bit_size64.c
  59. ${TOPROOT}/luat/vfs/luat_luadb_mock.c
  60. ${TOPROOT}/components/lfs/lfs_sfd.c
  61. ${TOPROOT}/components/lfs/lfs_util.c
  62. ${TOPROOT}/components/lfs/lfs.c
  63. ${TOPROOT}/components/lfs/luat_lib_lfs2.c
  64. ${TOPROOT}/components/crypto/luat_crypto_mbedtls.c
  65. ${QRCODE_SRCS}
  66. ${LCD_SRCS}
  67. ${U8G2_SRCS}
  68. ${TJPGD_SRCS}
  69. ${RSA_SRCS}
  70. )
  71. #-----------------------
  72. # mbedtls
  73. include_directories(${TOPROOT}/components/mbedtls/include)
  74. add_subdirectory(${TOPROOT}/components/mbedtls mbedtls.out)
  75. #-----------------------
  76. #-----------------------
  77. # lvgl
  78. # include_directories(${TOPROOT}/components/lvgl)
  79. # add_subdirectory(${TOPROOT}/components/lvgl lvgl.out)
  80. #-----------------------
  81. add_executable(luatos src/main.c src/lua.c)
  82. #target_link_libraries(luat pthread lua)
  83. target_link_libraries(luatos luat pthread mbedtls m dl readline)