Оценка родного языка gradle. Я хочу включить lib только для заголовка, {fmt}, который будет использоваться в мультипроекте родного языка gradle с новым плагином gradle native .
Я пробовалв том числе через flatDir и репозитории maven.Документация только упоминает бинарные зависимости.Но даже тогда кажется, что внешний код должен быть расширен с помощью файла build.gradle.Ниже вы видите мою последнюю попытку
build.gradle в корне
allprojects {
apply plugin: 'xcode'
apply plugin: 'visual-studio'
configurations {
fmtLib
}
dependencies {
fmtLib files(file("$rootDir/../fmt"))
}
}
build.gradle в библиотеке, которая должна использовать {fmt}
plugins {
id 'cpp-library'
}
library {
linkage = [Linkage.SHARED]
targetMachines = [
machines.windows.x86_64,
machines.macOS.x86_64,
machines.linux.x86_64
]
baseName = "greeter"
}
greeter.cpp, которыйдолжен использовать {fmt}
#define FMT_HEADER_ONLY
#include <iostream>
#include "../public/greeter.hpp"
#include "include/fmt/format.h"
void Greeter::greet() {
fmt::print("Hello, {}!", "world");
std::cout << "Hello, " << name << ", your name has " << getNameLength() << " chars." << std::endl;
}
int Greeter::getNameLength() {
return name.length();
}
Приведенный выше пример приводит к ошибке компиляции, которая очевидна из-за неразрешимых зависимостей.