mirror of
https://github.com/boostorg/build.git
synced 2026-02-13 12:22:17 +00:00
Related changes: * BoostBuild.Tester & TestCmd.TestCmd interfaces now accept external process parameters as a list of strings, thus avoiding problems with parsing arguments containing spaces. * Avoided a potential process hang in case an external process being run prints out enough output to fill up the OS's pipe buffer (OS would pause the process until someone read the data from the pipe but the testing framework would not do this until the process in question had terminated). [SVN r79448]
34 lines
874 B
Python
34 lines
874 B
Python
#!/usr/bin/python
|
|
|
|
# Copyright 2003 Vladimir Prus
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
# Test that building with optimization brings NDEBUG define, and, more
|
|
# importantly, that dependency targets are built with NDEBUG as well, even if
|
|
# they are not directly requested.
|
|
|
|
import BoostBuild
|
|
|
|
t = BoostBuild.Tester()
|
|
|
|
t.write("jamroot.jam", "exe hello : hello.cpp lib//lib1 ;")
|
|
t.write("hello.cpp", """\
|
|
#ifdef NDEBUG
|
|
void foo();
|
|
int main() { foo(); }
|
|
#endif
|
|
""")
|
|
t.write("lib/jamfile.jam", "lib lib1 : lib1.cpp ;")
|
|
t.write("lib/lib1.cpp", """\
|
|
#ifdef NDEBUG
|
|
void foo() {}
|
|
#endif
|
|
""")
|
|
|
|
# 'release' builds should get the NDEBUG define. We use static linking to avoid
|
|
# messing with imports/exports on Windows.
|
|
t.run_build_system(["link=static", "release"])
|
|
|
|
t.cleanup()
|