Skip to content

Commit

Permalink
GH-19: Finalized msvc build script
Browse files Browse the repository at this point in the history
  • Loading branch information
negrutiu committed May 28, 2024
1 parent c6daeb5 commit 8c358c1
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 68 deletions.
13 changes: 11 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,17 @@
<VcpkgRootDir Condition="'$(VcpkgRootDir)'==''">$(SolutionDir)vcpkg\$(VcpkgTriplet)\</VcpkgRootDir>
<VcpkgInstalledDir Condition="'$(VcpkgInstalledDir)'==''">$(VcpkgRootDir)installed\$(VcpkgTriplet)\</VcpkgInstalledDir>

<PlatformNsis Condition="'$(Platform)'=='Win32'">x86</PlatformNsis>
<PlatformNsis Condition="'$(Platform)'=='x64'">amd64</PlatformNsis>
<NsisPlatform Condition="'$(Platform)'=='Win32'">x86</NsisPlatform>
<NsisPlatform Condition="'$(Platform)'=='x64'">amd64</NsisPlatform>

<CharacterSet Condition="'$(CharacterSet)'!=''">$(CharacterSet)</CharacterSet>
<CharacterSet Condition="'$(CharacterSet)'==''">Unicode</CharacterSet>

<NsisCharacterSet Condition="'$(CharacterSet)'=='MultiByte'">ansi</NsisCharacterSet>
<NsisCharacterSet Condition="'$(CharacterSet)'!='MultiByte'">unicode</NsisCharacterSet>

<OutDir>$(SolutionDir)$(Configuration)-msvc-$(NsisPlatform)-$(NsisCharacterSet)\</OutDir>
<IntDir>$(SolutionDir)$(Configuration)-msvc-$(NsisPlatform)-$(NsisCharacterSet)\IntDir\$(MSBuildProjectName)\</IntDir>
</PropertyGroup>

<ItemDefinitionGroup Condition="$(MSBuildProjectExtension) == '.vcxproj'">
Expand Down
35 changes: 33 additions & 2 deletions _build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,45 @@ gcc --version
set platform_nsis=%platform%
if "%platform_nsis%" equ "x64" set platform_nsis=amd64

echo ^> mingw32-make.exe ARCH=%platform% CHAR=%charset% OUTDIR="%~dp0%configuration%-%compiler%-%platform_nsis%-%charset%" CONFIG=%configuration% clean all
REM --- build ---
echo --- mingw32-make.exe ARCH=%platform% CHAR=%charset% OUTDIR="%~dp0%configuration%-%compiler%-%platform_nsis%-%charset%" CONFIG=%configuration% clean all
echo.
mingw32-make.exe ARCH=%platform% CHAR=%charset% OUTDIR="%~dp0%configuration%-%compiler%-%platform_nsis%-%charset%" CONFIG=%configuration% clean all || exit /b !errorlevel!

goto :end

:: -------------------------------------------------------------------------------

:msvc
echo TODO
set solution=%CD%\NScurl.sln
set verbosity=normal

if not exist "%VcVarsAll%" for /f "tokens=1* delims=: " %%i in ('"%PROGRAMFILES(X86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 17 -requires Microsoft.Component.MSBuild 2^> nul') do if /i "%%i"=="installationPath" set VcVarsAll=%%j\VC\Auxiliary\Build\VCVarsAll.bat&& set platformtoolset=v143
if not exist "%VcVarsAll%" for /f "tokens=1* delims=: " %%i in ('"%PROGRAMFILES(X86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version 16 -requires Microsoft.Component.MSBuild 2^> nul') do if /i "%%i"=="installationPath" set VcVarsAll=%%j\VC\Auxiliary\Build\VCVarsAll.bat&& set platformtoolset=v142
if not exist "%VcVarsAll%" echo ERROR: Can't find Visual Studio 2017-2022 && exit /b 2

echo --- %VcVarsAll%
echo --- platformtoolset = %platformtoolset%
echo --- solution = %solution%
echo --- verbosity = %verbosity%

echo.
pushd "%CD%"
call "%VcVarsAll%" %platform%
popd

set platform_msbuild=%platform%
if "%platform_msbuild%" equ "x86" set platform_msbuild=Win32

REM --- build ---
if "%charset%" equ "unicode" set ParamCharacterSet= /p:CharacterSet=Unicode
if "%charset%" equ "ansi" set ParamCharacterSet= /p:CharacterSet=MultiByte

echo.
echo --- msbuild /m /t:build "%solution%" /p:Configuration=%configuration% /p:Platform=%platform_msbuild% /p:PlatformToolset=%platformtoolset% /verbosity:%verbosity%%ParamCharacterSet%
echo.
msbuild /m /t:build "%solution%" /p:Configuration=%configuration% /p:Platform=%platform_msbuild% /p:PlatformToolset=%platformtoolset% /verbosity:%verbosity%%ParamCharacterSet% || exit /b !errorlevel!

goto :end

:end
Expand Down
File renamed without changes.
8 changes: 8 additions & 0 deletions _build_msvc.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
REM :: Marius Negrutiu (marius.negrutiu@protonmail.com)

@echo off
setlocal enabledelayedexpansion

call "%~dp0_build.bat" msvc release x86 unicode || exit /b !errorlevel!
call "%~dp0_build.bat" msvc release x86 ansi || exit /b !errorlevel!
call "%~dp0_build.bat" msvc release x64 unicode || exit /b !errorlevel!
1 change: 0 additions & 1 deletion _build_msvc_Debug.cmd

This file was deleted.

47 changes: 0 additions & 47 deletions _build_msvc_Release.cmd

This file was deleted.

20 changes: 4 additions & 16 deletions src/nscurl/NScurl.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,27 +29,23 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
Expand All @@ -68,31 +64,23 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IntDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\temp\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\</OutDir>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IntDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\temp\</IntDir>
<OutDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\</OutDir>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\</OutDir>
<IntDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\temp\</IntDir>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\</OutDir>
<IntDir>$(SolutionDir)$(Configuration)-msvc-$(PlatformNsis)-unicode\temp\</IntDir>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
Expand All @@ -109,7 +97,7 @@
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
Expand All @@ -126,7 +114,7 @@
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
Expand All @@ -146,7 +134,7 @@
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WIN32;_WINDOWS;_USRDLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
Expand Down

0 comments on commit 8c358c1

Please sign in to comment.