⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default_build.py

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 PY
字号:
#!/usr/bin/python# Copyright 2003 Dave Abrahams# Copyright 2002, 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 default build clause actually has any effect.import BoostBuildt = BoostBuild.Tester()t.write("jamroot.jam", "import gcc ;")t.write("jamfile.jam", "exe a : a.cpp : : debug release ;")t.write("a.cpp", "int main() {}\n")t.run_build_system()t.expect_addition("bin/$toolset/debug/a.exe")t.expect_addition("bin/$toolset/release/a.exe")# Check that explictly-specified build variant supresses default-build.t.rm("bin")t.run_build_system("release")t.expect_addition(BoostBuild.List("bin/$toolset/release/") * "a.exe a.obj")t.expect_nothing_more()# Now check that we can specify explicit build request and default-build will be# combined with it.t.run_build_system("optimization=space")t.expect_addition("bin/$toolset/debug/optimization-space/a.exe")t.expect_addition("bin/$toolset/release/optimization-space/a.exe")# Test that default-build must be identical in all alternatives. Error case.t.write("jamfile.jam", """exe a : a.cpp : : debug ;exe a : b.cpp : : ;""")expected="""error: default build must be identical in all alternativesmain target is ./awithdiffering from previous default build <variant>debug"""t.run_build_system("-n --no-error-backtrace", status=1, stdout=expected)# Test that default-build must be identical in all alternatives. No Error case,# empty default build.t.write("jamfile.jam", """exe a : a.cpp : <variant>debug ;exe a : b.cpp : <variant>release ;""")t.run_build_system("-n --no-error-backtrace", status=0)# Now try a harder example: default build which contains <define> should cause# <define> to be present when "b" is compiled. This happens only if# "build-project b" is placed first.t.write("jamfile.jam", """project : default-build <define>FOO ;build-project a ;build-project b ;""")t.write("a/jamfile.jam", """exe a : a.cpp ../b//b ;""")t.write("a/a.cpp", """#ifdef _WIN32__declspec(dllimport)#endifvoid foo();int main() { foo(); }""")t.write("b/jamfile.jam", """lib b : b.cpp ;""")t.write("b/b.cpp", """#ifdef FOO#ifdef _WIN32__declspec(dllexport)#endifvoid foo() {}#endif""")t.run_build_system()t.cleanup()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -