Skip to content

Commit 1538197

Browse files
author
Alexander Perepelkin
committed
Merge branch 'bug-139-mem-leaks-alltogether' of ssh://git.code.sf.net/p/log4cpp/codegit
2 parents e036c02 + 4aaf870 commit 1538197

File tree

12 files changed

+560
-97
lines changed

12 files changed

+560
-97
lines changed

include/log4cpp/Appender.hh

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <string>
1515
#include <map>
1616
#include <set>
17+
#include <vector>
1718
#include <stdarg.h>
1819
#include <sys/types.h>
1920
#include <sys/stat.h>
@@ -31,6 +32,7 @@ namespace log4cpp {
3132
* statements.
3233
**/
3334
class LOG4CPP_EXPORT Appender {
35+
friend class Category;
3436
public:
3537

3638
/**
@@ -130,21 +132,38 @@ namespace log4cpp {
130132
**/
131133
virtual Filter* getFilter() = 0;
132134

133-
private:
135+
private:
134136
typedef std::map<std::string, Appender*> AppenderMap;
135-
136-
static AppenderMap* _allAppenders;
137-
static threading::Mutex _appenderMapMutex;
138137

139138
static AppenderMap& _getAllAppenders();
140139
static void _deleteAllAppenders();
140+
static void _deleteAllAppendersWOLock(std::vector<Appender*> &appenders);
141141
static void _addAppender(Appender* appender);
142142
static void _removeAppender(Appender* appender);
143143

144144
const std::string _name;
145+
146+
public:
147+
class AppenderMapStorage {
148+
public:
149+
Appender::AppenderMap* _allAppenders;// single shared instance, nifty-counter defensed
150+
threading::Mutex _appenderMapMutex;// mutex protecting map from multiple thread access
151+
152+
AppenderMapStorage();
153+
~AppenderMapStorage();
154+
};
155+
class AppenderMapStorageInitializer {
156+
public:
157+
AppenderMapStorageInitializer();
158+
~AppenderMapStorageInitializer();
159+
};
160+
private:
161+
static AppenderMapStorage &_appenderMapStorageInstance;
145162
};
146163

164+
static Appender::AppenderMapStorageInitializer appenderMapStorageInitializer; // static initializer for every translation unit
147165
typedef std::set<Appender *> AppenderSet;
166+
148167
}
149168

150169
#endif // _LOG4CPP_APPENDER_HH

include/log4cpp/Category.hh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@ namespace log4cpp {
9595
static void shutdown();
9696

9797
/**
98+
* This method will remove all Appenders from Categories.XXX and delete all appenders.
99+
* Releases more memory than shutdown() by deleting appenders.
100+
**/
101+
static void shutdownForced();
102+
103+
/**
98104
* Destructor for Category.
99105
**/
100106
virtual ~Category();

include/log4cpp/Portability.hh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,21 @@
1616
# else
1717
# include <log4cpp/config-win32.h>
1818
# endif
19+
20+
#ifdef MSVC_MEMORY_LEAK_CHECK
21+
#define _CRTDBG_MAP_ALLOC
22+
23+
#include <stdlib.h>
24+
#include <crtdbg.h>
25+
26+
#ifdef _DEBUG
27+
#ifndef DBG_NEW
28+
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
29+
#define new DBG_NEW
30+
#endif
31+
#endif // _DEBUG
32+
#endif // MSVC_MEMORY_LEAK_CHECK
33+
1934
#else
2035
#if defined(__OPENVMS__)
2136
# include <log4cpp/config-openvms.h>
@@ -50,4 +65,5 @@
5065
# endif // LOG4CPP_HAVE_SSTREAM
5166
#endif // _APPLE_
5267

68+
5369
#endif

msvc10/log4cppRunnable/log4cppRunnable.vcxproj

Lines changed: 338 additions & 0 deletions
Large diffs are not rendered by default.

msvc10/msvc10.sln

Lines changed: 69 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,28 @@ Microsoft Visual Studio Solution File, Format Version 11.00
22
# Visual Studio 2010
33
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "log4cpp", "log4cpp\log4cpp.vcxproj", "{8C796FDD-5BB9-41D5-8471-DDC897C8C486}"
44
EndProject
5-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCategory", "testCategory\testCategory.vcxproj", "{10F2E851-7448-9243-D562-F8D9B73CBBA3}"
5+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCategory", "testCategory\testCategory.vcxproj", "{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}"
66
EndProject
7-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRollingFileAppender", "testRollingFileAppender\testRollingFileAppender.vcxproj", "{3B59E1C4-5E21-7EDC-65A4-EF00F14A06F9}"
7+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRollingFileAppender", "testRollingFileAppender\testRollingFileAppender.vcxproj", "{20FE01A1-D6B1-9BFC-3FAB-EED887F3C1C3}"
88
EndProject
9-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDailyRollingFileAppender", "testDailyRollingFileAppender\testDailyRollingFileAppender.vcxproj", "{EE21BD7B-DE51-0E46-F2BE-0ADAD400CF39}"
9+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDailyRollingFileAppender", "testDailyRollingFileAppender\testDailyRollingFileAppender.vcxproj", "{C9567C17-6D68-76AE-8A3C-425FBD93C6AC}"
1010
EndProject
11-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDLL", "testDLL\testDLL.vcxproj", "{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}"
11+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDLL", "testDLL\testDLL.vcxproj", "{A714A29F-DF33-FB72-2AB4-7B48D45264C5}"
1212
EndProject
13-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMain", "testMain\testMain.vcxproj", "{26BD5108-03AB-CC39-F67B-556F4B308578}"
13+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMain", "testMain\testMain.vcxproj", "{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}"
1414
EndProject
15-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNDC", "testNDC\testNDC.vcxproj", "{272F1ED6-5AA2-39ED-6B34-018AECD033CB}"
15+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNDC", "testNDC\testNDC.vcxproj", "{EC060AEC-E8ED-54EA-E996-17E0A7264854}"
1616
EndProject
17-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNTEventLog", "testNTEventLog\testNTEventLog.vcxproj", "{4397E5A9-9A3C-B0B5-71AB-B12944F70578}"
17+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNTEventLog", "testNTEventLog\testNTEventLog.vcxproj", "{EC4CE21B-367C-A543-984A-0C7E0194738D}"
1818
EndProject
19-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPattern", "testPattern\testPattern.vcxproj", "{0382AEE1-DF52-72B6-8F1B-845048C09CEB}"
19+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPattern", "testPattern\testPattern.vcxproj", "{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}"
2020
EndProject
21-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPropConfig", "testPropConfig\testPropConfig.vcxproj", "{CBD1803A-2183-3733-E316-B89082C4DBF5}"
21+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPropConfig", "testPropConfig\testPropConfig.vcxproj", "{B9B50B27-ECD2-064E-C392-419B371DA839}"
2222
EndProject
2323
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "log4cppLIB", "log4cppLIB\log4cppLIB.vcxproj", "{AFA856A0-2388-4673-9277-CE4061709569}"
2424
EndProject
25+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "log4cppRunnable", "log4cppRunnable\log4cppRunnable.vcxproj", "{8C796FDD-5BB9-41D5-8471-FFC897C8C486}"
26+
EndProject
2527
Global
2628
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2729
Debug with Boost|Win32 = Debug with Boost|Win32
@@ -36,56 +38,56 @@ Global
3638
{8C796FDD-5BB9-41D5-8471-DDC897C8C486}.Release with Boost|Win32.ActiveCfg = Release with Boost|Win32
3739
{8C796FDD-5BB9-41D5-8471-DDC897C8C486}.Release with Boost|Win32.Build.0 = Release with Boost|Win32
3840
{8C796FDD-5BB9-41D5-8471-DDC897C8C486}.Release|Win32.ActiveCfg = Release|Win32
39-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
40-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Debug with Boost|Win32.Build.0 = Debug|Win32
41-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Debug|Win32.ActiveCfg = Debug|Win32
42-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Release with Boost|Win32.ActiveCfg = Release|Win32
43-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Release with Boost|Win32.Build.0 = Release|Win32
44-
{10F2E851-7448-9243-D562-F8D9B73CBBA3}.Release|Win32.ActiveCfg = Release|Win32
45-
{3B59E1C4-5E21-7EDC-65A4-EF00F14A06F9}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
46-
{3B59E1C4-5E21-7EDC-65A4-EF00F14A06F9}.Debug|Win32.ActiveCfg = Debug|Win32
47-
{3B59E1C4-5E21-7EDC-65A4-EF00F14A06F9}.Release with Boost|Win32.ActiveCfg = Release|Win32
48-
{3B59E1C4-5E21-7EDC-65A4-EF00F14A06F9}.Release|Win32.ActiveCfg = Release|Win32
49-
{EE21BD7B-DE51-0E46-F2BE-0ADAD400CF39}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
50-
{EE21BD7B-DE51-0E46-F2BE-0ADAD400CF39}.Debug|Win32.ActiveCfg = Debug|Win32
51-
{EE21BD7B-DE51-0E46-F2BE-0ADAD400CF39}.Release with Boost|Win32.ActiveCfg = Release|Win32
52-
{EE21BD7B-DE51-0E46-F2BE-0ADAD400CF39}.Release|Win32.ActiveCfg = Release|Win32
53-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
54-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Debug with Boost|Win32.Build.0 = Debug|Win32
55-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Debug|Win32.ActiveCfg = Debug|Win32
56-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Release with Boost|Win32.ActiveCfg = Release|Win32
57-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Release with Boost|Win32.Build.0 = Release|Win32
58-
{161D6B87-4EB8-FE88-3D3F-C633B53EC37C}.Release|Win32.ActiveCfg = Release|Win32
59-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
60-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Debug with Boost|Win32.Build.0 = Debug|Win32
61-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Debug|Win32.ActiveCfg = Debug|Win32
62-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Release with Boost|Win32.ActiveCfg = Release|Win32
63-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Release with Boost|Win32.Build.0 = Release|Win32
64-
{26BD5108-03AB-CC39-F67B-556F4B308578}.Release|Win32.ActiveCfg = Release|Win32
65-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
66-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Debug with Boost|Win32.Build.0 = Debug|Win32
67-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Debug|Win32.ActiveCfg = Debug|Win32
68-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Release with Boost|Win32.ActiveCfg = Release|Win32
69-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Release with Boost|Win32.Build.0 = Release|Win32
70-
{272F1ED6-5AA2-39ED-6B34-018AECD033CB}.Release|Win32.ActiveCfg = Release|Win32
71-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
72-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Debug with Boost|Win32.Build.0 = Debug|Win32
73-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Debug|Win32.ActiveCfg = Debug|Win32
74-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Release with Boost|Win32.ActiveCfg = Release|Win32
75-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Release with Boost|Win32.Build.0 = Release|Win32
76-
{4397E5A9-9A3C-B0B5-71AB-B12944F70578}.Release|Win32.ActiveCfg = Release|Win32
77-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
78-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Debug with Boost|Win32.Build.0 = Debug|Win32
79-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Debug|Win32.ActiveCfg = Debug|Win32
80-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Release with Boost|Win32.ActiveCfg = Release|Win32
81-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Release with Boost|Win32.Build.0 = Release|Win32
82-
{0382AEE1-DF52-72B6-8F1B-845048C09CEB}.Release|Win32.ActiveCfg = Release|Win32
83-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
84-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Debug with Boost|Win32.Build.0 = Debug|Win32
85-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Debug|Win32.ActiveCfg = Debug|Win32
86-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Release with Boost|Win32.ActiveCfg = Release|Win32
87-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Release with Boost|Win32.Build.0 = Release|Win32
88-
{CBD1803A-2183-3733-E316-B89082C4DBF5}.Release|Win32.ActiveCfg = Release|Win32
41+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
42+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Debug with Boost|Win32.Build.0 = Debug|Win32
43+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Debug|Win32.ActiveCfg = Debug|Win32
44+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Release with Boost|Win32.ActiveCfg = Release|Win32
45+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Release with Boost|Win32.Build.0 = Release|Win32
46+
{BBD3200C-65F5-F4A4-2D69-7CE4FEBA616A}.Release|Win32.ActiveCfg = Release|Win32
47+
{20FE01A1-D6B1-9BFC-3FAB-EED887F3C1C3}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
48+
{20FE01A1-D6B1-9BFC-3FAB-EED887F3C1C3}.Debug|Win32.ActiveCfg = Debug|Win32
49+
{20FE01A1-D6B1-9BFC-3FAB-EED887F3C1C3}.Release with Boost|Win32.ActiveCfg = Release|Win32
50+
{20FE01A1-D6B1-9BFC-3FAB-EED887F3C1C3}.Release|Win32.ActiveCfg = Release|Win32
51+
{C9567C17-6D68-76AE-8A3C-425FBD93C6AC}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
52+
{C9567C17-6D68-76AE-8A3C-425FBD93C6AC}.Debug|Win32.ActiveCfg = Debug|Win32
53+
{C9567C17-6D68-76AE-8A3C-425FBD93C6AC}.Release with Boost|Win32.ActiveCfg = Release|Win32
54+
{C9567C17-6D68-76AE-8A3C-425FBD93C6AC}.Release|Win32.ActiveCfg = Release|Win32
55+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
56+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Debug with Boost|Win32.Build.0 = Debug|Win32
57+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Debug|Win32.ActiveCfg = Debug|Win32
58+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Release with Boost|Win32.ActiveCfg = Release|Win32
59+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Release with Boost|Win32.Build.0 = Release|Win32
60+
{A714A29F-DF33-FB72-2AB4-7B48D45264C5}.Release|Win32.ActiveCfg = Release|Win32
61+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
62+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Debug with Boost|Win32.Build.0 = Debug|Win32
63+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Debug|Win32.ActiveCfg = Debug|Win32
64+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Release with Boost|Win32.ActiveCfg = Release|Win32
65+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Release with Boost|Win32.Build.0 = Release|Win32
66+
{EC4D7801-3CAC-0E74-5BE3-F358A8A51337}.Release|Win32.ActiveCfg = Release|Win32
67+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
68+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Debug with Boost|Win32.Build.0 = Debug|Win32
69+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Debug|Win32.ActiveCfg = Debug|Win32
70+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Release with Boost|Win32.ActiveCfg = Release|Win32
71+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Release with Boost|Win32.Build.0 = Release|Win32
72+
{EC060AEC-E8ED-54EA-E996-17E0A7264854}.Release|Win32.ActiveCfg = Release|Win32
73+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
74+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Debug with Boost|Win32.Build.0 = Debug|Win32
75+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Debug|Win32.ActiveCfg = Debug|Win32
76+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Release with Boost|Win32.ActiveCfg = Release|Win32
77+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Release with Boost|Win32.Build.0 = Release|Win32
78+
{EC4CE21B-367C-A543-984A-0C7E0194738D}.Release|Win32.ActiveCfg = Release|Win32
79+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
80+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Debug with Boost|Win32.Build.0 = Debug|Win32
81+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Debug|Win32.ActiveCfg = Debug|Win32
82+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Release with Boost|Win32.ActiveCfg = Release|Win32
83+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Release with Boost|Win32.Build.0 = Release|Win32
84+
{0B17A233-BA3A-628F-2559-A4F2E0BE9E47}.Release|Win32.ActiveCfg = Release|Win32
85+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Debug with Boost|Win32.ActiveCfg = Debug|Win32
86+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Debug with Boost|Win32.Build.0 = Debug|Win32
87+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Debug|Win32.ActiveCfg = Debug|Win32
88+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Release with Boost|Win32.ActiveCfg = Release|Win32
89+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Release with Boost|Win32.Build.0 = Release|Win32
90+
{B9B50B27-ECD2-064E-C392-419B371DA839}.Release|Win32.ActiveCfg = Release|Win32
8991
{AFA856A0-2388-4673-9277-CE4061709569}.Debug with Boost|Win32.ActiveCfg = Debug with Boost|Win32
9092
{AFA856A0-2388-4673-9277-CE4061709569}.Debug with Boost|Win32.Build.0 = Debug with Boost|Win32
9193
{AFA856A0-2388-4673-9277-CE4061709569}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -94,6 +96,14 @@ Global
9496
{AFA856A0-2388-4673-9277-CE4061709569}.Release with Boost|Win32.Build.0 = Release with Boost|Win32
9597
{AFA856A0-2388-4673-9277-CE4061709569}.Release|Win32.ActiveCfg = Release|Win32
9698
{AFA856A0-2388-4673-9277-CE4061709569}.Release|Win32.Build.0 = Release|Win32
99+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Debug with Boost|Win32.ActiveCfg = Debug with Boost|Win32
100+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Debug with Boost|Win32.Build.0 = Debug with Boost|Win32
101+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Debug|Win32.ActiveCfg = Debug|Win32
102+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Debug|Win32.Build.0 = Debug|Win32
103+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Release with Boost|Win32.ActiveCfg = Release with Boost|Win32
104+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Release with Boost|Win32.Build.0 = Release with Boost|Win32
105+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Release|Win32.ActiveCfg = Release|Win32
106+
{8C796FDD-5BB9-41D5-8471-FFC897C8C486}.Release|Win32.Build.0 = Release|Win32
97107
EndGlobalSection
98108
GlobalSection(SolutionProperties) = preSolution
99109
HideSolutionNode = FALSE

msvc10/testPropConfig/testPropConfig.vcxproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<ClCompile>
5555
<Optimization>Disabled</Optimization>
5656
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
57-
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
57+
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;MSVC_MEMORY_LEAK_CHECK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
5858
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
5959
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
6060
<PrecompiledHeader>
@@ -127,6 +127,10 @@
127127
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
128128
<Culture>0x0409</Culture>
129129
</ResourceCompile>
130+
<PostBuildEvent>
131+
<Command>copy ..\..\tests\log4cpp.property .</Command>
132+
<Command>copy ..\..\tests\log4cpp.nt.property .</Command>
133+
</PostBuildEvent>
130134
</ItemDefinitionGroup>
131135
<ItemGroup>
132136
<ClCompile Include="..\..\tests\testPropConfig.cpp">

0 commit comments

Comments
 (0)