Premake5 编译额外的可执行文件

Premake5 compiling additional executables

我对 premake atm 有点困惑。我想添加多个测试文件,即 运行 测试。这些可执行文件彼此完全独立,并且与实际生成最终可执行文件的 main.cpp 文件完全独立。

我不是 100% 确定如何指示预编译 assemble 构建测试命令。我已阅读有关模块和操作的内容,但我不完全确定它们是否满足我的需要。

关于模块的文档似乎并未暗示这是它们的预期目的。

假设这是我想要的测试运行:

#include "gtest/gtest.h"

TEST(DummyTest, Negative) {

  EXPECT_EQ(1, 0);
  EXPECT_EQ(1, 1);
  EXPECT_GT(93, 0);
}

int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

我如何告诉 premake 编译并 link 这个文件独立地创建一个独立的可执行文件?

您需要为每个要构建的可执行文件创建一个项目。

workspace "MyWorkspace"
   -- settings

project "MyProject"
   -- settings

project "DummyTest"
   -- settings

-- repeat as needed

您发现创建一个可以为您设置这些测试项目的函数很有用。

function testProject(name)
    project(name)
    kind "ConsoleExe"
    -- etc.
end

testProject("DummyTest1")
testProject("DummyTest2")

如果您使用 Visual Studio,您可能希望使用 workspace group 在您的工作区内组织这些测试项目。