从 CMake 编译创建 Polyspace 平台工程
本主题介绍如何使用现有 CMakeLists 文件创建 Polyspace® 工程或选项文件。有关支持将 Polyspace Test™ 工作流引入 CMakeLists 文件的 CMake 插件的信息,请参阅Use CMake to Execute Tests Authored Using Polyspace Test xUnit API。
CMake 是一款第三方开源编译过程管理工具,利用该工具,您能够采用与平台和工具链无关的 CMake 语言为代码库指定编译指令。使用 CMake 时,您需要:
创建包含采用 CMake 语言的编译指令的 CMakeLists 文件 (
CMakeLists.txt)调用
cmake命令,使用CMakeLists.txt文件生成标准编译文件。这些文件包括联编文件和 Ninja,以及 Microsoft® Visual Studio® 和 Xcode 工程编译。
要了解有关 CMake 的详细信息,请参阅 CMake 教程。
如果您使用 CMake 生成编译文件,可以利用 CMakeLists 文件中的信息来创建 Polyspace 工程或选项文件。
前提条件
此主题假设您能够在终端中运行 cmake 命令。
您可以使用任意 CMake 工程按照此处的步骤操作。如果您想从示例工程着手,请将 中的文件复制到可写入位置。该文件夹包含一个 CMakeLists 文件,其中包含用于简单工程的生成器。其中,polyspaceroot\polyspace\examples\doc_ps_setup\compilation_database 是 Polyspace 的安装文件夹,例如 polyspacerootC:\Program Files\Polyspace\R2026a。
导出 JSON 编译数据库
生成与 CMake 编译相对应的编译数据库文件。
例如,如果您使用 CMake 生成联编文件来编译源代码,则按照以下步骤可以在生成联编文件的同时生成编译数据库:
在终端中,导航到包含 CMakeLists 文件的文件夹,并创建新文件夹
generated_commands以存储生成的文件。将目录更改为此文件夹。mkdir generated_commands cd generated_commands使用
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.jsonpolyspace-configure。您可以使用-output-options-file代替-output-platform-project,生成用于静态分析的 Polyspace 选项文件。在 Polyspace 平台用户界面中,选择文件 > 从编译命令新建工程,并输入编译数据库的详细信息。有关详细信息,请参阅Add Sources from Build Command。