Skip to content

Commit 12e3cf5

Browse files
committed
Visual Studio solution:
- Fixed include paths - Export simplecpp to cppcheck-core.dll - Added /Zc:rvalueCast
1 parent 9930784 commit 12e3cf5

7 files changed

Lines changed: 82 additions & 46 deletions

File tree

cli/cli.vcxproj

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
</PropertyGroup>
155155
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
156156
<ClCompile>
157-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
157+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
158158
<BrowseInformation>false</BrowseInformation>
159159
<BufferSecurityCheck>true</BufferSecurityCheck>
160160
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@@ -165,6 +165,7 @@
165165
<WarningLevel>Level4</WarningLevel>
166166
<DisableSpecificWarnings>4251;4482;4512</DisableSpecificWarnings>
167167
<MultiProcessorCompilation>true</MultiProcessorCompilation>
168+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
168169
</ClCompile>
169170
<Link>
170171
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -178,7 +179,7 @@
178179
</ItemDefinitionGroup>
179180
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-PCRE|Win32'">
180181
<ClCompile>
181-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
182+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
182183
<BrowseInformation>false</BrowseInformation>
183184
<BufferSecurityCheck>true</BufferSecurityCheck>
184185
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@@ -189,6 +190,7 @@
189190
<WarningLevel>Level4</WarningLevel>
190191
<DisableSpecificWarnings>4251;4482;4512</DisableSpecificWarnings>
191192
<MultiProcessorCompilation>true</MultiProcessorCompilation>
193+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
192194
</ClCompile>
193195
<Link>
194196
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -201,7 +203,7 @@
201203
</ItemDefinitionGroup>
202204
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
203205
<ClCompile>
204-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
206+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
205207
<BufferSecurityCheck>true</BufferSecurityCheck>
206208
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
207209
<Optimization>Disabled</Optimization>
@@ -211,6 +213,7 @@
211213
<WarningLevel>Level4</WarningLevel>
212214
<DisableSpecificWarnings>4251;4482;4512</DisableSpecificWarnings>
213215
<MultiProcessorCompilation>true</MultiProcessorCompilation>
216+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
214217
</ClCompile>
215218
<Link>
216219
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -222,7 +225,7 @@
222225
</ItemDefinitionGroup>
223226
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-PCRE|x64'">
224227
<ClCompile>
225-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
228+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
226229
<BufferSecurityCheck>true</BufferSecurityCheck>
227230
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
228231
<Optimization>Disabled</Optimization>
@@ -232,6 +235,7 @@
232235
<WarningLevel>Level4</WarningLevel>
233236
<DisableSpecificWarnings>4251;4482;4512</DisableSpecificWarnings>
234237
<MultiProcessorCompilation>true</MultiProcessorCompilation>
238+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
235239
</ClCompile>
236240
<Link>
237241
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -243,7 +247,7 @@
243247
</ItemDefinitionGroup>
244248
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
245249
<ClCompile>
246-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
250+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
247251
<BufferSecurityCheck>false</BufferSecurityCheck>
248252
<Optimization>MaxSpeed</Optimization>
249253
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -260,6 +264,7 @@
260264
</DebugInformationFormat>
261265
<MultiProcessorCompilation>true</MultiProcessorCompilation>
262266
<AdditionalOptions>/Zc:inline /Zc:throwingNew %(AdditionalOptions)</AdditionalOptions>
267+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
263268
</ClCompile>
264269
<Link>
265270
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -275,7 +280,7 @@
275280
</ItemDefinitionGroup>
276281
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-PCRE|Win32'">
277282
<ClCompile>
278-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
283+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
279284
<BufferSecurityCheck>false</BufferSecurityCheck>
280285
<Optimization>MaxSpeed</Optimization>
281286
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;TINYXML2_IMPORT;NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;TIXML_USE_STL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -292,6 +297,7 @@
292297
</DebugInformationFormat>
293298
<MultiProcessorCompilation>true</MultiProcessorCompilation>
294299
<AdditionalOptions>/Zc:inline /Zc:throwingNew %(AdditionalOptions)</AdditionalOptions>
300+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
295301
</ClCompile>
296302
<Link>
297303
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -307,7 +313,7 @@
307313
</ItemDefinitionGroup>
308314
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
309315
<ClCompile>
310-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
316+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
311317
<BufferSecurityCheck>false</BufferSecurityCheck>
312318
<Optimization>MaxSpeed</Optimization>
313319
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -325,6 +331,7 @@
325331
</DebugInformationFormat>
326332
<MultiProcessorCompilation>true</MultiProcessorCompilation>
327333
<AdditionalOptions>/Zc:inline /Zc:throwingNew %(AdditionalOptions)</AdditionalOptions>
334+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
328335
</ClCompile>
329336
<Link>
330337
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
@@ -339,7 +346,7 @@
339346
</ItemDefinitionGroup>
340347
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-PCRE|x64'">
341348
<ClCompile>
342-
<AdditionalIncludeDirectories>..\lib;..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
349+
<AdditionalIncludeDirectories>..\lib;..\externals\..\externals\simplecpp;..\externals\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
343350
<BufferSecurityCheck>false</BufferSecurityCheck>
344351
<Optimization>MaxSpeed</Optimization>
345352
<PreprocessorDefinitions>CPPCHECKLIB_IMPORT;TINYXML2_IMPORT;NDEBUG;WIN32;HAVE_RULES;_CRT_SECURE_NO_WARNINGS;WIN32_LEAN_AND_MEAN;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -357,6 +364,7 @@
357364
</DebugInformationFormat>
358365
<MultiProcessorCompilation>true</MultiProcessorCompilation>
359366
<AdditionalOptions>/Zc:inline /Zc:throwingNew %(AdditionalOptions)</AdditionalOptions>
367+
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
360368
</ClCompile>
361369
<Link>
362370
<AdditionalDependencies>shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>

cppcheck.sln

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

2-
Microsoft Visual Studio Solution File, Format Version 11.00
3-
# Visual Studio Express 2013 for Windows Desktop
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 14
4+
VisualStudioVersion = 14.0.25123.0
5+
MinimumVisualStudioVersion = 10.0.40219.1
46
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cli", "cli\cli.vcxproj", "{35CBDF51-2456-3EC3-99ED-113C30858883}"
57
ProjectSection(ProjectDependencies) = postProject
68
{C183DB5B-AD6C-423D-80CA-1F9549555A1A} = {C183DB5B-AD6C-423D-80CA-1F9549555A1A}

externals/simplecpp/simplecpp.h

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,28 @@
2727
#include <string>
2828
#include <vector>
2929

30+
31+
#ifdef _WIN32
32+
# ifdef SIMPLECPP_EXPORT
33+
# define SIMPLECPP_LIB __declspec(dllexport)
34+
# elif defined(SIMPLECPP_IMPORT)
35+
# define SIMPLECPP_LIB __declspec(dllimport)
36+
# else
37+
# define SIMPLECPP_LIB
38+
# endif
39+
#else
40+
# define SIMPLECPP_LIB
41+
#endif
42+
43+
3044
namespace simplecpp {
3145

3246
typedef std::string TokenString;
3347

3448
/**
3549
* Location in source code
3650
*/
37-
class Location {
51+
class SIMPLECPP_LIB Location {
3852
public:
3953
Location(const std::vector<std::string> &f) : files(f), fileIndex(0), line(1U), col(0U) {}
4054

@@ -76,7 +90,7 @@ class Location {
7690
* token class.
7791
* @todo don't use std::string representation - for both memory and performance reasons
7892
*/
79-
class Token {
93+
class SIMPLECPP_LIB Token {
8094
public:
8195
Token(const TokenString &s, const Location &loc) :
8296
str(string), location(loc), previous(NULL), next(NULL), string(s)
@@ -134,7 +148,7 @@ class Token {
134148
};
135149

136150
/** Output from preprocessor */
137-
struct Output {
151+
struct SIMPLECPP_LIB Output {
138152
Output(const std::vector<std::string> &files) : type(ERROR), location(files) {}
139153
enum Type {
140154
ERROR, /* #error */
@@ -148,7 +162,7 @@ struct Output {
148162
typedef std::list<struct Output> OutputList;
149163

150164
/** List of tokens. */
151-
class TokenList {
165+
class SIMPLECPP_LIB TokenList {
152166
public:
153167
TokenList(std::vector<std::string> &filenames);
154168
TokenList(std::istream &istr, std::vector<std::string> &filenames, const std::string &filename=std::string(), OutputList *outputList = 0);
@@ -228,20 +242,20 @@ class TokenList {
228242
};
229243

230244
/** Tracking how macros are used */
231-
struct MacroUsage {
245+
struct SIMPLECPP_LIB MacroUsage {
232246
MacroUsage(const std::vector<std::string> &f) : macroLocation(f), useLocation(f) {}
233247
std::string macroName;
234248
Location macroLocation;
235249
Location useLocation;
236250
};
237251

238-
struct DUI {
252+
struct SIMPLECPP_LIB DUI {
239253
std::list<std::string> defines;
240254
std::set<std::string> undefined;
241255
std::list<std::string> includePaths;
242256
};
243257

244-
std::map<std::string, TokenList*> load(const TokenList &rawtokens, std::vector<std::string> &filenames, const struct DUI &dui, OutputList *outputList = 0);
258+
SIMPLECPP_LIB std::map<std::string, TokenList*> load(const TokenList &rawtokens, std::vector<std::string> &filenames, const struct DUI &dui, OutputList *outputList = 0);
245259

246260
/**
247261
* Preprocess
@@ -257,7 +271,7 @@ std::map<std::string, TokenList*> load(const TokenList &rawtokens, std::vector<s
257271
*
258272
* @todo simplify interface
259273
*/
260-
void preprocess(TokenList &output, const TokenList &rawtokens, std::vector<std::string> &files, const std::map<std::string, TokenList*> &filedata, const struct DUI &dui, OutputList *outputList = 0, std::list<struct MacroUsage> *macroUsage = 0);
274+
SIMPLECPP_LIB void preprocess(TokenList &output, const TokenList &rawtokens, std::vector<std::string> &files, const std::map<std::string, TokenList*> &filedata, const struct DUI &dui, OutputList *outputList = 0, std::list<struct MacroUsage> *macroUsage = 0);
261275
}
262276

263277
#endif

0 commit comments

Comments
 (0)