সুতরাং কেন আপনার জন্য উত্স ফাইলগুলির তালিকা তৈরি করতে পাওয়ারশেল ব্যবহার করবেন না। এই স্ক্রিপ্ট একবার দেখুন
param (
[Parameter(Mandatory=$True)]
[string]$root
)
if (-not (Test-Path -Path $root)) {
throw "Error directory does not exist"
}
#get the full path of the root
$rootDir = get-item -Path $root
$fp=$rootDir.FullName;
$files = Get-ChildItem -Path $root -Recurse -File |
Where-Object { ".cpp",".cxx",".cc",".h" -contains $_.Extension} |
Foreach {$_.FullName.replace("${fp}\","").replace("\","/")}
$CMakeExpr = "set(SOURCES "
foreach($file in $files){
$CMakeExpr+= """$file"" " ;
}
$CMakeExpr+=")"
return $CMakeExpr;
মনে করুন এই কাঠামোর সাথে আপনার একটি ফোল্ডার রয়েছে
C:\Workspace\A
--a.cpp
C:\Workspace\B
--b.cpp
উদাহরণস্বরূপ এখন এই ফাইলটিকে "জেনারেটসোর্সলিস্ট.পিএস 1" হিসাবে সংরক্ষণ করুন এবং স্ক্রিপ্টটি চালান
~>./generateSourceList.ps1 -root "C:\Workspace" > out.txt
out.txt ফাইল থাকবে file
set(SOURCE "A/a.cpp" "B/b.cpp")