Premake5 компилирует дополнительные исполняемые файлы - PullRequest
0 голосов
/ 20 апреля 2020

Я немного застрял в premake atm. Я хочу добавить несколько тестовых файлов, чтобы, ну, запустить тесты. Эти исполняемые файлы полностью независимы друг от друга и от основного файла. cpp, который фактически создает конечный исполняемый файл.

Я не уверен на 100%, как указать premake для сборки команд сборки для тестов. Я читал о модулях и действиях, но я не совсем уверен, что они делают то, что мне нужно.

Документация по модулям, похоже, не подразумевает, что это их целевое назначение.

Предположим, это тест, который я хочу запустить:

#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 Ответ

1 голос
/ 27 апреля 2020

Вам потребуется создать один проект на исполняемый файл, который вы хотите построить.

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, вы можете использовать группу рабочей области для организации этих тестовых проектов в вашей рабочей области.

...