通過cmake管理一個(gè)工程,工程中的src文件夾里面放了很多cpp源文件,每個(gè)源文件里面都包含一個(gè)main方法,這個(gè)工程主要是用于測試一些方法,因此希望每個(gè)源文件都可以單獨(dú)編譯并且調(diào)試。
寫法如下,就是循環(huán)查找src路徑下的cpp文件,然后對每個(gè)cpp文件建立一個(gè)可執(zhí)行程序,并以cpp的文件名作為可執(zhí)行程序的文件名。(src下面不能有同名的文件,即使在不同文件夾下,也不能同名)文章來源:http://www.zghlxwxcb.cn/news/detail-854830.html
cmake_minimum_required(VERSION 3.27)
project(test)
file(GLOB_RECURSE files src/*.cpp)
message("${files}")
foreach (file ${files})
string(REGEX REPLACE ".+/(.+)\\..*" "\\1" exe ${file})
message("---------")
message("exe: ${exe}")
message("file: ${file}")
add_executable(${exe} ${file})
endforeach ()
用cmake生成一下,就可以得到多個(gè)target,選擇希望生成的target,編譯、調(diào)試或者運(yùn)行。文章來源地址http://www.zghlxwxcb.cn/news/detail-854830.html
到了這里,關(guān)于cmake使得工程中每個(gè)文件可以單獨(dú)作為一個(gè)可執(zhí)行程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!