工程目录如下:
更改CMakeLists.txt:
cmake_minimum_required(VERSION 3.17)
project(practice C)
set(CMAKE_C_STANDARD 11)
#你的前三行不用改
#add_executable(practice main.c)
file(GLOB_RECURSE files *.c)#递归遍历根目录下所有c文件,但是不能有相同的文件名
#file(GLOB_RECURSE files 04.18/*.c)#遍历04.18目录下的所有文件
#将所有的c文件单独生成可执行文件
foreach (file ${files})
string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
add_executable(${exe} ${file})
message(\ \ \ \ --\ src/${exe}.c\ will\ be\ compiled\ to\ bin/${exe})
endforeach ()
注意:你可以创建不同的文件夹将C源代码文件分类存放,但是注意不同的文件夹中的C文件名字也不能相同,否则CMake会报错,因为递归遍历的是所有C文件。
还要注意开启CMakeLists.txt自动更新,以及在创建C源代码文件的时候取消勾选“Add to targets”:
当我们新建好一个C文件后,若左边没有绿色的运行符号:
此时就要右键项目或C文件名,点击重新加载CMake:
现在就可以直接点击运行符号运行程序了:
参考博文链接