Premake5编译其他可执行文件

时间:2020-04-20 20:52:57

标签: c++ testing compilation premake

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

我不是100%不确定如何指示要进行预组装以组装测试的构建命令。我已经阅读了有关模块和操作的内容,但我不完全确定它们是否可以满足我的要求。

有关模块的文档似乎并不意味着这是其预期的目的。

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

#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独立编译和链接此文件以创建独立的可执行文件?

1 个答案:

答案 0 :(得分:1)

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

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在工作区中组织这些测试项目。

相关问题