Skip to content

Commit 779bd0b

Browse files
committed
fixed #13823 - release-windows.yml: build with Boost
1 parent d63529b commit 779bd0b

File tree

5 files changed

+41
-19
lines changed

5 files changed

+41
-19
lines changed

.github/workflows/release-windows.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
# see https://www.pcre.org/original/changelog.txt
2323
PCRE_VERSION: 8.45
2424
QT_VERSION: 6.10.0
25+
BOOST_MINOR_VERSION: 89
2526

2627
steps:
2728
- uses: actions/checkout@v4
@@ -46,6 +47,16 @@ jobs:
4647
copy pcre.h ..\externals || exit /b !errorlevel!
4748
copy Release\pcre.lib ..\externals\pcre64.lib || exit /b !errorlevel!
4849
50+
- name: Download Boost
51+
run: |
52+
curl -fsSL https://archives.boost.io/release/1.%BOOST_MINOR_VERSION%.0/source/boost_1_%BOOST_MINOR_VERSION%_0.7z -o boost.zip || exit /b !errorlevel!
53+
54+
- name: Install Boost
55+
run: |
56+
@echo on
57+
7z x boost.zip boost_1_%BOOST_MINOR_VERSION%_0/boost || exit /b !errorlevel!
58+
ren boost_1_%BOOST_MINOR_VERSION%_0 boost || exit /b !errorlevel!
59+
4960
# available modules: https://github.com/miurahr/aqtinstall/blob/master/docs/getting_started.rst#installing-modules
5061
# available tools: https://github.com/miurahr/aqtinstall/blob/master/docs/getting_started.rst#installing-tools
5162
- name: Install Qt ${{ env.QT_VERSION }}
@@ -62,7 +73,7 @@ jobs:
6273
run: |
6374
:: TODO: enable rules?
6475
:: specify Release build so matchcompiler is used
65-
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_ONLINE_HELP=On -DCMAKE_COMPILE_WARNING_AS_ERROR=On || exit /b !errorlevel!
76+
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_ONLINE_HELP=On -DUSE_BOOST=ON -DBOOST_INCLUDEDIR=%GITHUB_WORKSPACE%\boost -DCMAKE_COMPILE_WARNING_AS_ERROR=On || exit /b !errorlevel!
6677
cmake --build build --target cppcheck-gui --config Release || exit /b !errorlevel!
6778
6879
# TODO: package PDBs
@@ -81,9 +92,8 @@ jobs:
8192
run: python tools\matchcompiler.py --write-dir lib || exit /b !errorlevel!
8293

8394
# TODO: build with multiple threads
84-
# TODO: build with boost enabled
8595
- name: Build CLI x64 release configuration using MSBuild
86-
run: msbuild -m cppcheck.sln -t:cli -p:Configuration=Release-PCRE -p:Platform=x64 || exit /b !errorlevel!
96+
run: msbuild -m cppcheck.sln -t:cli -p:Configuration=Release-PCRE -p:Platform=x64 -p:HaveBoost=HAVE_BOOST -p:BoostInclude=%GITHUB_WORKSPACE%\boost || exit /b !errorlevel!
8797

8898
- uses: actions/upload-artifact@v4
8999
with:

lib/cppcheck.vcxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -258,9 +258,9 @@
258258
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
259259
<MultiProcessorCompilation>true</MultiProcessorCompilation>
260260
<Optimization>Disabled</Optimization>
261-
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
261+
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;$(HaveBoost);WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
262262
<WarningLevel>Level4</WarningLevel>
263-
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
263+
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
264264
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
265265
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
266266
<PrecompiledHeader>Use</PrecompiledHeader>
@@ -292,9 +292,9 @@ if exist "$(OutDir)platforms\unix64-unsigned.xml" del /q "$(OutDir)platforms\uni
292292
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
293293
<MultiProcessorCompilation>true</MultiProcessorCompilation>
294294
<Optimization>Disabled</Optimization>
295-
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
295+
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;$(HaveBoost);WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
296296
<WarningLevel>Level4</WarningLevel>
297-
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
297+
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
298298
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
299299
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
300300
<PrecompiledHeader>Use</PrecompiledHeader>
@@ -332,9 +332,9 @@ if exist "$(OutDir)platforms\unix64-unsigned.xml" del /q "$(OutDir)platforms\uni
332332
<OmitFramePointers>true</OmitFramePointers>
333333
<StringPooling>true</StringPooling>
334334
<FunctionLevelLinking>true</FunctionLevelLinking>
335-
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
335+
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
336336
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
337-
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
337+
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;$(HaveBoost);NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
338338
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
339339
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
340340
<MultiProcessorCompilation>true</MultiProcessorCompilation>
@@ -375,9 +375,9 @@ if exist "$(OutDir)platforms\unix64-unsigned.xml" del /q "$(OutDir)platforms\uni
375375
<OmitFramePointers>true</OmitFramePointers>
376376
<StringPooling>true</StringPooling>
377377
<FunctionLevelLinking>true</FunctionLevelLinking>
378-
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
378+
<AdditionalIncludeDirectories>..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
379379
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
380-
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
380+
<PreprocessorDefinitions>CPPCHECKLIB_EXPORT;TINYXML2_EXPORT;SIMPLECPP_EXPORT;$(HaveBoost);NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
381381
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
382382
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
383383
<MultiProcessorCompilation>true</MultiProcessorCompilation>

lib/cppcheck.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,9 @@
224224
<ClCompile Include="findtoken.cpp">
225225
<Filter>Source Files</Filter>
226226
</ClCompile>
227+
<ClCompile Include="regex.cpp">
228+
<Filter>Source Files</Filter>
229+
</ClCompile>
227230
</ItemGroup>
228231
<ItemGroup Label="HeaderFiles">
229232
<ClInclude Include="checkbufferoverrun.h">
@@ -478,6 +481,9 @@
478481
<ClInclude Include="xml.h">
479482
<Filter>Header Files</Filter>
480483
</ClInclude>
484+
<ClInclude Include="regex.h">
485+
<Filter>Header Files</Filter>
486+
</ClInclude>
481487
</ItemGroup>
482488
<ItemGroup>
483489
<Natvis Include="cppcheck.natvis">

test/testrunner.vcxproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,11 @@
202202
</PropertyGroup>
203203
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
204204
<ClCompile>
205-
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
205+
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
206206
<BufferSecurityCheck>true</BufferSecurityCheck>
207207
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
208208
<Optimization>Disabled</Optimization>
209-
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
209+
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;$(HaveBoost);WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
210210
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
211211
<WarningLevel>Level4</WarningLevel>
212212
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
@@ -231,11 +231,11 @@
231231
</ItemDefinitionGroup>
232232
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-PCRE|x64'">
233233
<ClCompile>
234-
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
234+
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
235235
<BufferSecurityCheck>true</BufferSecurityCheck>
236236
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
237237
<Optimization>Disabled</Optimization>
238-
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
238+
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;$(HaveBoost);WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
239239
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
240240
<WarningLevel>Level4</WarningLevel>
241241
<DisableSpecificWarnings>4018;4127;4146;4244;4251;4267;4389;4701;4706;4800;4805</DisableSpecificWarnings>
@@ -260,10 +260,10 @@
260260
</ItemDefinitionGroup>
261261
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
262262
<ClCompile>
263-
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
263+
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
264264
<BufferSecurityCheck>false</BufferSecurityCheck>
265265
<Optimization>MaxSpeed</Optimization>
266-
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
266+
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;$(HaveBoost);NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
267267
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
268268
<WarningLevel>Level4</WarningLevel>
269269
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
@@ -300,10 +300,10 @@
300300
</ItemDefinitionGroup>
301301
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-PCRE|x64'">
302302
<ClCompile>
303-
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
303+
<AdditionalIncludeDirectories>..\cli;..\frontend;..\lib;..\externals;..\externals\picojson;..\externals\simplecpp;..\externals\tinyxml2;$(BoostInclude);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
304304
<BufferSecurityCheck>false</BufferSecurityCheck>
305305
<Optimization>MaxSpeed</Optimization>
306-
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
306+
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;SIMPLECPP_IMPORT;$(HaveBoost);NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
307307
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
308308
<WarningLevel>Level4</WarningLevel>
309309
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

test/testrunner.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,12 @@
274274
<ClCompile Include="..\frontend\frontend.cpp">
275275
<Filter>Source Files</Filter>
276276
</ClCompile>
277+
<ClCompile Include="testfrontend.cpp">
278+
<Filter>Source Files</Filter>
279+
</ClCompile>
280+
<ClCompile Include="testregex.cpp">
281+
<Filter>Source Files</Filter>
282+
</ClCompile>
277283
</ItemGroup>
278284
<ItemGroup Label="HeaderFiles">
279285
<ClInclude Include="options.h">

0 commit comments

Comments
 (0)