主要内容

从 CMake 编译创建 Polyspace 平台工程

本主题介绍如何使用现有 CMakeLists 文件创建 Polyspace® 工程或选项文件。有关支持将 Polyspace Test™ 工作流引入 CMakeLists 文件的 CMake 插件的信息,请参阅Use CMake to Execute Tests Authored Using Polyspace Test xUnit API

CMake 是一款第三方开源编译过程管理工具,利用该工具,您能够采用与平台和工具链无关的 CMake 语言为代码库指定编译指令。使用 CMake 时,您需要:

  1. 创建包含采用 CMake 语言的编译指令的 CMakeLists 文件 (CMakeLists.txt)

  2. 调用 cmake 命令,使用 CMakeLists.txt 文件生成标准编译文件。这些文件包括联编文件和 Ninja,以及 Microsoft® Visual Studio® 和 Xcode 工程编译。

要了解有关 CMake 的详细信息,请参阅 CMake 教程

如果您使用 CMake 生成编译文件,可以利用 CMakeLists 文件中的信息来创建 Polyspace 工程或选项文件。

前提条件

此主题假设您能够在终端中运行 cmake 命令。

您可以使用任意 CMake 工程按照此处的步骤操作。如果您想从示例工程着手,请将 polyspaceroot\polyspace\examples\doc_ps_setup\compilation_database 中的文件复制到可写入位置。该文件夹包含一个 CMakeLists 文件,其中包含用于简单工程的生成器。其中,polyspaceroot 是 Polyspace 的安装文件夹,例如 C:\Program Files\Polyspace\R2026a

导出 JSON 编译数据库

生成与 CMake 编译相对应的编译数据库文件。

例如,如果您使用 CMake 生成联编文件来编译源代码,则按照以下步骤可以在生成联编文件的同时生成编译数据库:

  1. 在终端中,导航到包含 CMakeLists 文件的文件夹,并创建新文件夹 generated_commands 以存储生成的文件。将目录更改为此文件夹。

    mkdir generated_commands
    cd generated_commands
  2. 使用 cmake 命令,生成与 CMake 编译相对应的编译数据库:

    cmake -G "Unix Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../
    cmake 选项 -G "Unix Makefiles" 用于生成联编文件,选项 -DCMAKE_EXPORT_COMPILE_COMMANDS=1 用于生成包含等效于联编文件中的编译指令的命令的编译数据库。

    如果命令执行完成且没有错误,则 generated_commands 文件夹中将包含一个 compile_commands.json 文件,该文件可用于创建 Polyspace 工程或选项文件。

创建 Polyspace 工程或选项文件

使用在上一步中创建的编译数据库 compile_commands.json 创建 Polyspace 平台工程或选项文件。您可以在命令行中或 Polyspace 平台用户界面中创建工程:

  • 在终端中,对您在上一步中生成的编译数据库运行 polyspace-configure

    例如,如果您按上一步所示生成了文件 compile_commands.json,则要生成 Polyspace 平台工程,您可以运行以下命令:

    polyspace-configure -output-platform-project myProject -compilation-database compile_commands.json
    有关详细信息,请参阅 polyspace-configure。您可以使用 -output-options-file 代替 -output-platform-project,生成用于静态分析的 Polyspace 选项文件。

  • 在 Polyspace 平台用户界面中,选择文件 > 从编译命令新建工程,并输入编译数据库的详细信息。有关详细信息,请参阅Add Sources from Build Command

另请参阅

主题