| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # CMake 最低版本号要求
- cmake_minimum_required (VERSION 3.5)
- set(CMAKE_BUILD_TYPE "Debug")
- set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
- set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -Wall")
- set(TOPROOT "../..")
- # 项目信息
- project (luatos)
- # 一定一定要先添加本地的头文件
- include_directories(./include)
- include_directories(${TOPROOT}/lua/include
- ${TOPROOT}/luat/include
- ${TOPROOT}/components/freertos/include
- )
- IF (WIN32)
- include_directories(${TOPROOT}/components/freertos/portable/MSVC-MingW)
- aux_source_directory(${TOPROOT}/components/freertos/portable/MSVC-MingW MM_SRCS)
- ELSE ()
- include_directories(${TOPROOT}/components/freertos/portable/ThirdParty/GCC/Posix)
- include_directories(${TOPROOT}/components/freertos/portable/ThirdParty/GCC/Posix/utils)
- aux_source_directory(${TOPROOT}/components/freertos/portable/ThirdParty/GCC/Posix MM_SRCS)
- aux_source_directory(${TOPROOT}/components/freertos/portable/ThirdParty/GCC/Posix/utils
- MM2_SRCS)
- ENDIF ()
- aux_source_directory(./port PORT_SRCS)
- aux_source_directory(${TOPROOT}/lua/src LUA_SRCS)
- #aux_source_directory(${TOPROOT}/luat/freertos FTOS_T_SRCS)
- aux_source_directory(${TOPROOT}/components/freertos RTOS_SRCS)
- aux_source_directory(${TOPROOT}/components/freertos/port RTOS_PORT_SRCS)
- aux_source_directory(${TOPROOT}/luat/packages/lua-cjson CJSON_SRCS)
- add_library(freertos10 ${PORT_SRCS} ${RTOS_SRCS} ${RTOS_PORT_SRCS} ${MM_SRCS} ${MM2_SRCS})
- add_library(lua ${LUA_SRCS})
- add_library(luatos_msys ${PORT_SRCS})
- add_library(cjson ${CJSON_SRCS})
- add_library(luat ${TOPROOT}/luat/modules/luat_main.c
- ${TOPROOT}/luat/modules/luat_luat_bin.c
- ${TOPROOT}/luat/modules/luat_lib_rtos.c
- ${TOPROOT}/luat/modules/luat_lib_timer.c
- ${TOPROOT}/luat/modules/luat_lib_log.c
- ${TOPROOT}/luat/modules/luat_lib_pack.c
- ${TOPROOT}/luat/modules/luat_lib_zbuff.c
- ${TOPROOT}/luat/modules/luat_lib_mqttcore.c
- ${TOPROOT}/luat/modules/luat_lib_libcoap.c
- ${TOPROOT}/luat/modules/luat_lib_crypto.c
- ${TOPROOT}/luat/modules/crc.c
- ${TOPROOT}/luat/modules/luat_vfs.c
- ${TOPROOT}/luat/modules/luat_luadb.c
- )
- IF (WIN32)
- #-----------------------
- # LuaFileSystem --> lfs
- aux_source_directory(./rock/LuaFileSystem ROCK_LFS_SRCS)
- add_library(rock_lfs ${ROCK_LFS_SRCS})
- #-----------------------
- #------------------------
- # librs232 -> rs232
- include_directories(./rock/librs232/include)
- aux_source_directory(./rock/librs232/src ROCK_LIB_RS232_SRCS)
- add_library(rock_librs232 ${ROCK_LIB_RS232_SRCS} ./rock/librs232/bindings/lua/luars232.c)
- #------------------------
- ENDIF ()
- #-----------------------
- # mbedtls
- include_directories(${TOPROOT}/components/mbedtls/include)
- add_subdirectory(${TOPROOT}/components/mbedtls mbedtls.out)
- #-----------------------
- IF (WIN32)
- # 指定生成目标
- add_executable(luatos src/main_win32.c)
- target_link_libraries(luat freertos10 winmm)
- target_link_libraries(luatos freertos10 lua luatos_msys luat winmm cjson rock_lfs rock_librs232 mbedtls)
- ELSE ()
- add_executable(luatos src/main_posix.c)
- target_link_libraries(luat freertos10 pthread)
- target_link_libraries(luatos freertos10 lua luatos_msys luat pthread cjson mbedtls m)
- ENDIF ()
|