使用Python (或仅使用纯shell或bash) 脚本,您可以针对许多不同的配置轻松自动化整个包创建和测试过程。例如,您可以将以下脚本放在包根文件夹中。命名为build.py:
import os, sys
import platform
def system(command):
retcode = os.system(command)
if retcode != 0:
raise Exception("Error while executing:\n\t %s" % command)
if __name__ == "__main__":
params = " ".join(sys.argv[1:])
if platform.system() == "Windows":
system('conan create . demo/testing -s compiler="Visual Studio" -s compiler.version=14 %s' % params)
system('conan create . demo/testing -s compiler="Visual Studio" -s compiler.version=12 %s' % params)
system('conan create . demo/testing -s compiler="gcc" -s compiler.version=4.8 %s' % params)
else:
pass
这是一个纯Python脚本,与Conan无关,应该这样运行:
$ python build.py
我们为包创建者开发了另一个FOSS工具,即Conan包工具,可帮助您从包配方生成多个二进制包。它提供了一种简单的方法来定义不同的配置并调用conan test
。除了提供像Travis CI、Appveyor和Bamboo这样的CI集成,用于基于云的自动化二进制包创建、测试和上传。
此工具可通过简单的 $ git push
在云中创建数百个二进制包,并支持:
- 轻松生成具有不同配置的多个Conan包。
- Travis/Appveyor服务器中的自动/远程包生成,以及CI作业中的分布式构建,用于大/慢构建。
- Docker: 在Linux和Travis CI中为几个版本的
gcc
和clang
自动生成包。 - 使用apple-clang和Travis-CI自动创建OSX包。
- Visual Studio: 使用检测到的设置自动配置命令行环境。
它在pypi中可用:
$ pip install conan_package_tools
有关更多信息,请阅读Conan包工具存储库中的README.md。