• meson笔记


    假设我们有一个具有 Meson 构建系统的源代码树。这意味着在最顶层目录有一个名为 meson.build
    meson setup (builddir)
    meson的语法是meson [command] [arguments] [options]
    setup命令接受一个builddir和一个srcdir参数。如果没有 srcdir给出,介子将推断 的srcdir基础pwd和位置meson.build
    --buildtype您可以使用命令行参数指定不同类型的构建
    plain 没有使用额外的构建标志,即使是编译器警告,对于发行版打包程序和其他需要自己指定所有参数的情况很有用
    debug 生成调试信息但结果未优化,这是默认值
    debugoptimized 生成调试信息并优化代码(在大多数编译器上这意味着-g -O2)
    release 全面优化,无调试信息
    如果我们想测试使用 Clang 编译器而不是系统默认编译器构建源代码,我们只需键入以下命令:
    cd /path/to/source/root
    CC=clang CXX=clang++ meson setup buildclang
    默认情况下,Meson 将使用 Ninja 后端来构建您的项目
    。如果您希望使用任何其他后端,则需要在配置期间传递相应的参数。例如,以下是使用 Meson 生成 Visual Studio 解决方案的方法。
    meson setup <build dir> --backend=vs
    meson setup --help
    可以使用该--buildtype=plain选项阻止 Meson 添加标志本身,在这种情况下,您必须提供所需的完整编译器和链接器参数
    meson compile -C builddir
    默认情况下,Meson 使用Ninja 构建系统来实际构建代码。要开始构建,只需键入以下命令。
    ninja -C builddir
    Ninja 和 Make 之间的主要可用性差异是 Ninja 会自动检测计算机中的 CPU 数量并相应地进行并行化。您可以使用命令行参数覆盖并行进程的数量-j <num processes>。
    Meson 为运行测试提供原生支持。执行此操作的命令很简单。
    meson test -C builddir
    Meson 不强制使用任何特定的测试框架。您可以自由使用 GTest、Boost Test、Check 甚至自定义可执行文件。
    也可以直接用 ninja 调用,命令如下
    ninja -C builddir test
    安装
    meson install -C builddir
    默认情况下,meson安装到/usr/local. 这可以通过--prefix /your/prefix在配置期间将命令行参数传递给 Meson 来更改。Meson 还支持DESTDIR在构建包中使用的变量。它是这样使用的:
    DESTDIR=/path/to/staging meson install -C builddir
    也可以直接用 ninja 调用,命令如下:
    ninja -C builddir install
    命令行帮助
    meson --help
    退出状态
    如果成功,Meson 以状态 0 退出,1 表示命令行或 meson.build 文件有问题,2 表示内部错误。

    命令行命令
    meson [COMMAND] [COMMAND_OPTIONS]
    最常见的工作流程是运行 setup,然后是compile,然后 是install
    对于特定命令的所有可用选项的完整列表,请使用以下语法:meson COMMAND --help

    ./configure -prefix /opt/rootfs/qt6.3lib -release -opensource -widgets -make libs -no-openssl -no-sse2 -silent -xplatform linux-arm-gnueabi-g++ -nomake tools -nomake examples -nomake tests -qt-freetype -no-glib -strip -linuxfb -plugindir /opt/rootfs/qt6.3lib/plugins

  • 相关阅读:
    MySQL 索引优化
    [转]多列索引
    abstract class和interface有什么区别? [转]
    PM knowledge
    委托应用场景[摘]
    Web 服务描述语言工具 (Wsdl.exe)[FROM msdn]
    C# 四个基本技巧[转]
    What are database states? [forward]
    学做程序经理[摘]
    SET IDENTITY_INSERT 学习心得[转]
  • 原文地址:https://www.cnblogs.com/xpylovely/p/16519605.html
Copyright © 2020-2023  润新知