summaryrefslogtreecommitdiff
path: root/Jamrules.jam
diff options
context:
space:
mode:
authorarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-10-28 20:08:43 +0000
committerarseny.kapoulkine <arseny.kapoulkine@99668b35-9821-0410-8761-19e4c4f06640>2009-10-28 20:08:43 +0000
commit2a14a3b4c9b48b7656cb44aa75bef3b585f95e02 (patch)
tree5c6ceb7f9f3a5df533d4d60f1c884c7e4a0bb834 /Jamrules.jam
parent9216c82cfdeba41a35314f0315a5b61b42e82c1c (diff)
Added MSVC building
git-svn-id: http://pugixml.googlecode.com/svn/trunk@186 99668b35-9821-0410-8761-19e4c4f06640
Diffstat (limited to 'Jamrules.jam')
-rw-r--r--Jamrules.jam77
1 files changed, 64 insertions, 13 deletions
diff --git a/Jamrules.jam b/Jamrules.jam
index 4fda7f4..55138f2 100644
--- a/Jamrules.jam
+++ b/Jamrules.jam
@@ -1,23 +1,74 @@
# Rules for Jamfile.jam
-actions ObjectAction
+if ( $(toolset:I=^mingw) )
{
- %MINGW_PATH%\bin\gcc -W -Wall -Wextra -Werror -pedantic -c $(>) -o $(<) $(CCFLAGS)
-}
+ if ( $(configuration) = "debug" )
+ {
+ CCFLAGS += -D_DEBUG ;
+ }
+ else
+ {
+ CCFLAGS += -DNDEBUG -O3 ;
+ }
-actions LibraryAction
-{
- %MINGW_PATH%\bin\ar rc $(<) $(>)
+ actions ObjectAction
+ {
+ %$(toolset)_PATH%\bin\gcc -W -Wall -Wextra -Werror -pedantic -c $(>) -o $(<) $(CCFLAGS)
+ }
+
+ actions LibraryAction
+ {
+ %$(toolset)_PATH%\bin\ar rc $(<) $(>)
+ }
+
+ actions LinkAction
+ {
+ %$(toolset)_PATH%\bin\g++ $(>) -o $(<) $(LDFLAGS)
+ }
+
+ actions CoverageAction
+ {
+ %$(toolset)_PATH%\bin\gcov $(>:\\) $(GCOVFLAGS) | perl tests/gcov-filter.pl
+ }
}
-
-actions LinkAction
+else if ( $(toolset:I^=msvc) )
{
- %MINGW_PATH%\bin\g++ $(>) -o $(<) $(LDFLAGS)
-}
+ if ( $(configuration) = "debug" )
+ {
+ CCFLAGS += /D_DEBUG /MTd ;
+ }
+ else
+ {
+ CCFLAGS += /DNDEBUG /Ox /MT ;
+ }
-actions CoverageAction
-{
- %MINGW_PATH%\bin\gcov $(>:\\) $(GCOVFLAGS) | perl tests/gcov-filter.pl
+ if ( $(toolset) != msvc6 )
+ {
+ CCFLAGS += /Wp64 /W4 ;
+ }
+ else
+ {
+ CCFLAGS += /W3 ; # lots of warnings at W4 in standard library
+ }
+
+ actions ObjectAction
+ {
+ %$(toolset)_PATH%\bin\cl.exe /EHsc /WX /I%$(toolset)_PATH%\include /c $(>) /Fo$(<) /nologo $(CCFLAGS)
+ }
+
+ actions LibraryAction
+ {
+ %$(toolset)_PATH%\bin\lib.exe /NOLOGO /OUT:$(<) $(>)
+ }
+
+ actions LinkAction
+ {
+ %$(toolset)_PATH%\bin\link.exe /SUBSYSTEM:CONSOLE /NOLOGO /OUT:$(<) $(>) /LIBPATH:%$(toolset)_PATH%\lib /LIBPATH:%$(toolset)_PATH%\PlatformSDK\lib $(LDFLAGS)
+ }
+
+ actions CoverageAction
+ {
+ }
}
actions RunAction