Skip to content
Snippets Groups Projects

Resolve "Windows: Linker errors with protobuf-generated code"

Merged Joscha Schmiedt requested to merge 90-windows-linker-errors-with-protobuf-generated-code into dev
1 file
+ 65
0
Compare changes
  • Side-by-side
  • Inline
make.ps1 0 → 100644
+ 65
0
 
param (
 
[string]$target
 
)
 
 
# check if vswhere is available
 
if (-not (Test-Path "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe")) {
 
Write-Output "vswhere is not available. Please install Visual Studio"
 
exit 1
 
}
 
 
# locate the latest Visual Studio installation
 
$currentPath = Get-Location
 
$installPath = &"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath
 
Import-Module (Join-Path $installPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
 
Enter-VsDevShell -VsInstallPath $installPath
 
Set-Location $currentPath
 
 
 
# Windows is with Release only for now
 
 
switch ($target) {
 
"build" {
 
Write-Output "Building the project..."
 
# check if msbuild is available
 
if (-not (Get-Command msbuild -ErrorAction SilentlyContinue)) {
 
Write-Output "msbuild is not available. Please install Visual Studio or open the Developer PowerShell:."
 
exit 1
 
}
 
# check if conan install was run
 
if (-not (Test-Path .\build\liblinkahead.sln)) {
 
Write-Output "Please run conan-install first."
 
exit 1
 
}
 
msbuild .\build\liblinkahead.sln /property:Configuration=Release
 
}
 
"test" {
 
Write-Output "Running tests..."
 
# check if build was run before
 
if (-not (Test-Path .\build\Release\linkahead.dll)) {
 
Write-Output "Please build the project first."
 
exit 1
 
}
 
Set-Location .\build\
 
ctest
 
 
}
 
"conan-install" {
 
Write-Output "Installing Release dependencies with Conan..."
 
# check if conan is available
 
if (-not (Get-Command conan -ErrorAction SilentlyContinue)) {
 
Write-Output "Conan is not available. Please install Conan or activate the Conan environment venv"
 
exit 1
 
}
 
conan install . --build=missing -s build_type=Release -s compiler.cppstd=17
 
cmake --preset conan-default
 
}
 
"clean"{
 
Write-Output "Cleaning the project..."
 
Remove-Item -Recurse -Force .\build\*
 
}
 
 
default {
 
Write-Output "Usage: .\script.ps1 [conan-install|build|test|clean]"
 
}
 
}
Loading