From d81ed214cef096ccbf4fa7480a35bd28e1552728 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 30 May 2025 00:38:14 +0300 Subject: [PATCH] Release 1.1 --- UpdateCMakeList.ps1 | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/UpdateCMakeList.ps1 b/UpdateCMakeList.ps1 index 5d68bbc..8fb91a1 100644 --- a/UpdateCMakeList.ps1 +++ b/UpdateCMakeList.ps1 @@ -1,15 +1,19 @@ +$FileToWrite = Get-ChildItem -Path $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt +$Temp = $FileToWrite.FullName.Split('\') +$MainProjectDir = $Temp[0..($Temp.Count-4)] -join '\' + $Template = "" $IncDirs = [System.Collections.Hashtable]::new() -$files = Get-ChildItem -Path $PSScriptRoot/../../Library -Recurse -Include '*.h' #-Name +$files = Get-ChildItem -Path $MainProjectDir/Library -Recurse -Include '*.h' #-Name -$StartString = Select-String -Path $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Pattern "# Library folder" -$StopString = Select-String -Path $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Pattern "# Library folder end" +$StartString = Select-String -Path $FileToWrite -Pattern "# Library folder" +$StopString = Select-String -Path $FileToWrite -Pattern "# Library folder end" if ($StartString.Count -eq 2 -and $StopString.Count -eq 1) { # Считываем содержимое файла - $content = Get-Content $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt + $content = Get-Content $FileToWrite # Указываем диапазон строк для удаления $startLine = $StartString[0].LineNumber @@ -19,12 +23,12 @@ if ($StartString.Count -eq 2 -and $StopString.Count -eq 1) $content = $content[0..($startLine-2)] + $content[($endLine)..($content.Length)] # Записываем обновленный файл - $content | Out-File $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Encoding UTF8 + $content | Out-File $FileToWrite -Encoding UTF8 } -Write-Output "# Library folder" | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output "set(DS_Include_Dirs" | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 +Write-Output "# Library folder" | Out-File -FilePath $FileToWrite -Append -Encoding utf8 +Write-Output "set(DS_Include_Dirs" | Out-File -FilePath $FileToWrite -Append -Encoding utf8 foreach($file in $files) { @@ -36,38 +40,36 @@ foreach($file in $files) foreach($IncDir in $IncDirs.Values) { - $Template = $PSScriptRoot - $Template = $Template -replace "\\cmake\\stm32cubemx", '' + $Template = $MainProjectDir $Template = $Template -replace "\\", '/' $TempString = $IncDir -replace '\\', '/' $TempString = $TempString -replace $Template, '' $TempString = ' ${CMAKE_SOURCE_DIR}' + $TempString - Write-Output $TempString | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 + Write-Output $TempString | Out-File -FilePath $FileToWrite -Append -Encoding utf8 } -Write-Output ')' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output 'target_include_directories(stm32cubemx INTERFACE ${DS_Include_Dirs})' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output '' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output 'set(DS_Application_Src' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 +Write-Output ')' | Out-File -FilePath $FileToWrite -Append -Encoding utf8 +Write-Output 'target_include_directories(stm32cubemx INTERFACE ${DS_Include_Dirs})' | Out-File $FileToWrite -Append -Encoding utf8 +Write-Output '' | Out-File -FilePath $FileToWrite -Append -Encoding utf8 +Write-Output 'set(DS_Application_Src' | Out-File -FilePath $FileToWrite -Append -Encoding utf8 -$files = Get-ChildItem -Path $PSScriptRoot/../../Library -Recurse -Include '*.c' #-Name +$files = Get-ChildItem -Path $MainProjectDir/Library -Recurse -Include '*.c' foreach($file in $files) { - $Template = $PSScriptRoot - $Template = $Template -replace "\\cmake\\stm32cubemx", '' + $Template = $MainProjectDir $Template = $Template -replace "\\", '/' $TempString = $file.FullName -replace '\\', '/' $TempString = $TempString -replace $Template, '' $TempString = ' ${CMAKE_SOURCE_DIR}' + $TempString - Write-Output $TempString | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 + Write-Output $TempString | Out-File -FilePath $FileToWrite -Append -Encoding utf8 } -Write-Output ')' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output 'target_sources(${CMAKE_PROJECT_NAME} PRIVATE ${DS_Application_Src})' | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 -Write-Output "# Library folder end" | Out-File -FilePath $PSScriptRoot/../../cmake/stm32cubemx/CMakeLists.txt -Append -Encoding utf8 +Write-Output ')' | Out-File -FilePath $FileToWrite -Append -Encoding utf8 +Write-Output 'target_sources(${CMAKE_PROJECT_NAME} PRIVATE ${DS_Application_Src})' | Out-File -FilePath $FileToWrite -Append -Encoding utf8 +Write-Output "# Library folder end" | Out-File -FilePath $FileToWrite -Append -Encoding utf8