UP 库导入方式更新
parent
ac9e8f43de
commit
a257928204
|
@ -2,22 +2,18 @@ cmake_minimum_required(VERSION 3.27)
|
|||
project(HW_Lib CXX C)
|
||||
|
||||
set(CMAKE_C_STANDARD 23)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++23") #设置c++的编译选项
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") #设置c的编译选项
|
||||
include_directories(
|
||||
lib/inc
|
||||
)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++23")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
||||
|
||||
file(GLOB LIB_SUBDIRS "lib/inc/*")
|
||||
foreach (LIB_SUBDIR ${LIB_SUBDIRS})
|
||||
include_directories(${LIB_SUBDIR})
|
||||
endforeach ()
|
||||
file(GLOB DEMO_SUBDIRS "demo/*")
|
||||
foreach (DEMO_SUBDIR ${DEMO_SUBDIRS})
|
||||
include_directories(${DEMO_SUBDIR})
|
||||
endforeach ()
|
||||
file(GLOB_RECURSE SOURCES
|
||||
"lib/src/*.*"
|
||||
"demo/*/*.*")
|
||||
|
||||
file(GLOB_RECURSE SOURCES "demo/*/*.*")
|
||||
|
||||
add_executable(HW_Lib main.c ${SOURCES})
|
||||
|
||||
add_subdirectory(lib) # 添加子包的CMake配置
|
||||
set(LIB_TARGETS_LIST CACHE INTERNAL "List of added libraries" FORCE)
|
||||
target_link_libraries(HW_Lib HW_LIB_List HW_LIB_Task HW_LIB_Printf HW_LIB_Utils HW_LIB_Iic HW_LIB_Spi)
|
|
@ -0,0 +1,28 @@
|
|||
# 定义要创建的库列表及其对应的目录
|
||||
set(LIBRARIES
|
||||
HW_LIB_List src/list inc/list
|
||||
HW_LIB_Task src/task inc/task
|
||||
HW_LIB_Printf src/printf inc/printf
|
||||
HW_LIB_Utils src/utils inc/utils
|
||||
HW_LIB_Iic src/iic inc/iic
|
||||
HW_LIB_Spi src/spi inc/spi
|
||||
)
|
||||
|
||||
# 循环浏览库列表以创建它们
|
||||
list(LENGTH LIBRARIES LIBRARIES_LENGTH)
|
||||
math(EXPR LIBRARIES_LENGTH "${LIBRARIES_LENGTH}-1")
|
||||
|
||||
foreach (INDEX RANGE 0 ${LIBRARIES_LENGTH} 3)
|
||||
list(GET LIBRARIES ${INDEX} TARGET_NAME)
|
||||
MATH(EXPR SOURCE_DIR_INDEX "${INDEX}+1")
|
||||
MATH(EXPR INCLUDE_DIR_INDEX "${INDEX}+2")
|
||||
list(GET LIBRARIES ${SOURCE_DIR_INDEX} SOURCE_DIR)
|
||||
list(GET LIBRARIES ${INCLUDE_DIR_INDEX} INCLUDE_DIR)
|
||||
|
||||
file(GLOB_RECURSE LIB_SOURCES "${SOURCE_DIR}/*.c" "${SOURCE_DIR}/*.cpp")
|
||||
add_library(${TARGET_NAME} STATIC ${LIB_SOURCES})
|
||||
target_include_directories(${TARGET_NAME} PUBLIC "${INCLUDE_DIR}")
|
||||
endforeach ()
|
||||
|
||||
# 链接必要的库
|
||||
target_link_libraries(HW_LIB_Spi HW_LIB_Utils)
|
13
lib/HW_Lib.h
13
lib/HW_Lib.h
|
@ -1,13 +0,0 @@
|
|||
//
|
||||
// Created by lydxh on 2024/5/20.
|
||||
//
|
||||
|
||||
#ifndef HW_LIB_HW_LIB_H
|
||||
#define HW_LIB_HW_LIB_H
|
||||
|
||||
#ifdef SW_SPI
|
||||
#include ""
|
||||
#endif
|
||||
|
||||
|
||||
#endif //HW_LIB_HW_LIB_H
|
|
@ -1,8 +0,0 @@
|
|||
//
|
||||
// Created by lydxh on 2024/5/20.
|
||||
//
|
||||
|
||||
#ifndef HW_LIB_CONF_H
|
||||
#define HW_LIB_CONF_H
|
||||
|
||||
#endif //HW_LIB_CONF_H
|
19
main.c
19
main.c
|
@ -13,16 +13,17 @@
|
|||
int main() {
|
||||
srand((unsigned) time(NULL));
|
||||
int i = 1;
|
||||
// POUT((++i) + (++i));
|
||||
POUT((++i) + (++i));
|
||||
|
||||
// char str[] = "123.456";
|
||||
// float result = Str2Float(str);
|
||||
// printf("Result: %.3f\n", result);
|
||||
// Test_RunTime("SPI", Test_spi);
|
||||
// Test_RunTime("IIC", Test_iic);
|
||||
// Test_RunTime("ArgPase", Test_argpase);
|
||||
// Test_RunTime("Task", Test_task);
|
||||
// Test_RunTime("List", Test_List);
|
||||
char str[] = "123.456";
|
||||
float result = Str2Float(str);
|
||||
printf("Result: %.3f\n", result);
|
||||
Test_RunTime("SPI", Test_spi);
|
||||
Test_RunTime("IIC", Test_iic);
|
||||
Test_RunTime("ArgPase", Test_argpase);
|
||||
Test_RunTime("List", Test_List);
|
||||
Test_RunTime("Queue", Test_Queue);
|
||||
Test_RunTime("Task", Test_task);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue