From 08c9442df52a240e5b0030e45c052f968cb7fdfd Mon Sep 17 00:00:00 2001 From: jf_HS Date: Mon, 25 Dec 2023 11:44:17 +0800 Subject: [PATCH] =?UTF-8?q?cmake=E8=87=AA=E5=AE=9A=E4=B9=89=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=80=89=E9=A1=B9=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakelists.txt | 33 ++++++++++++++++++++++++++------- config.h.in | 1 + main.c | 5 ++++- src/list.c | 2 +- 4 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 config.h.in diff --git a/CMakelists.txt b/CMakelists.txt index 0c1e40e..01a0e29 100644 --- a/CMakelists.txt +++ b/CMakelists.txt @@ -1,21 +1,40 @@ -# cmake 最低版本号要求 +# 0. cmake 最低版本号要求 cmake_minimum_required(VERSION 3.8) -# 项目信息 +# 0. 项目信息 project(demo) -# 查找当前目录下的所有文件 -# 并将名称保存在DIR_SRC中 +# 2. 添加当前路径 +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +# 2. 配置项目 +option(USE_DEMO "use demo application interface" ON) + +# 2. 配置文件 +configure_file( + "${PROJECT_SOURCE_DIR}/config.h.in" + "${PROJECT_BINARY_DIR}/config.h" +) + +# 2. 配置条件 +if(USE_DEMO) + # include_directories(.) +# else() + # pass +endif(USE_DEMO) + +# 0. 查找当前目录下的所有文件,并将名称保存在DIR_SRC中 aux_source_directory(. DIR_SRC) -# 添加子目录 +# 1. 添加子目录 add_subdirectory(src) -# 添加头文件路径 +# 1. 添加头文件路径 include_directories(src) -# 指定生成目标 +# 0. 指定生成目标 add_executable(demo ${DIR_SRC}) +# 1. 添加链接库 target_link_libraries(demo list) diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..58faf5d --- /dev/null +++ b/config.h.in @@ -0,0 +1 @@ +#cmakedefine USE_DEMO \ No newline at end of file diff --git a/main.c b/main.c index 5783c33..8d4948c 100644 --- a/main.c +++ b/main.c @@ -4,6 +4,7 @@ #include #include "list.h" +#include "config.h" void list_demo(void) { @@ -19,7 +20,8 @@ void list_demo(void) void main(int arg, char *argv[]) { -#if 0 +#ifndef USE_DEMO + printf("list test!\n"); struct list_t list; list_init(&list); @@ -30,6 +32,7 @@ void main(int arg, char *argv[]) list_print(&list); #else + printf("list demo!\n"); list_demo(); #endif } diff --git a/src/list.c b/src/list.c index 979a085..ee6d6cc 100644 --- a/src/list.c +++ b/src/list.c @@ -31,7 +31,7 @@ void list_print(struct list_t *list) p = list; while (p->next != NULL) { - printf("%02d\n", p->data); + printf("%02d ", p->data); p = p->next; if (p->next == NULL) {