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

📄 alias.py

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 PY
字号:
#!/usr/bin/python# Copyright 2003 Dave Abrahams# 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)import BoostBuild################################################################################## test_alias_rule()# -----------------#################################################################################def test_alias_rule(t):    """Basic alias rule test.    """    t.write("jamroot.jam", """exe a : a.cpp ;exe b : b.cpp ;exe c : c.cpp ;alias bin1 : a ;alias bin2 : a b ;alias src : s.cpp ;exe hello : hello.cpp src ;""")    t.write("a.cpp", "int main() {}\n")    t.copy("a.cpp", "b.cpp")    t.copy("a.cpp", "c.cpp")    t.copy("a.cpp", "hello.cpp")    t.write("s.cpp", "")    # Check that targets to which "bin1" refers are updated, and only those.    t.run_build_system("bin1")    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "a.exe a.obj")    t.expect_nothing_more()    # Try again with "bin2"    t.run_build_system("bin2")    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "b.exe b.obj")    t.expect_nothing_more()    # Try building everything, making sure 'hello' target is created.    t.run_build_system()    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * \        "hello.exe hello.obj")    t.expect_addition("bin/$toolset/debug/s.obj")    t.expect_addition(BoostBuild.List("bin/$toolset/debug/") * "c.exe c.obj")    t.expect_nothing_more()################################################################################## test_alias_source_usage_requirements()# --------------------------------------#################################################################################def test_alias_source_usage_requirements(t):    """Check whether usage requirements are propagated via "alias". In case they    are not, linking will fail as there will be no main() function defined    anywhere in the source.    """    t.write("jamroot.jam", """lib l : l.cpp : : : <define>WANT_MAIN ;alias la : l ;exe main : main.cpp la ;""")    t.write("l.cpp", """void#if defined(_WIN32)__declspec(dllexport)#endiffoo() {}""")    t.write("main.cpp", """#ifdef WANT_MAINint main() {}#endif""")    t.run_build_system()################################################################################## main()# ------#################################################################################t = BoostBuild.Tester()test_alias_rule(t)test_alias_source_usage_requirements(t)t.cleanup()

⌨️ 快捷键说明

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