From 9bf72ceea8d924492aac5969c14650517849658b Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 6 Jan 2018 10:18:16 +0100 Subject: Fix dynamic lib dependencies in packages with no source files Packages with no source files do not output a library that is included by dependencies, so we need to give our dependencies to the dependant package --- backend/ninja/Ninja.cpp | 13 ++++++++----- src/main.cpp | 2 ++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/ninja/Ninja.cpp b/backend/ninja/Ninja.cpp index 9dd3ecc..7c1de91 100644 --- a/backend/ninja/Ninja.cpp +++ b/backend/ninja/Ninja.cpp @@ -378,12 +378,15 @@ namespace backend }; } - // TODO: If project contains no source files, then we shouldn't override this function - dynamicLinkerFlagCallback = [&allLinkerFlags](const string &linkerFlag) + // TODO: Do same for cmake + if (!sourceFiles.empty()) { - allLinkerFlags += " "; - allLinkerFlags += linkerFlag; - }; + dynamicLinkerFlagCallback = [&allLinkerFlags](const string &linkerFlag) + { + allLinkerFlags += " "; + allLinkerFlags += linkerFlag; + }; + } string cflags; auto cflagsCallbackFunc = [&cflags](const string &dependencyCflags) diff --git a/src/main.cpp b/src/main.cpp index f4d022e..a2e6565 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -57,6 +57,8 @@ using namespace std::chrono; // TODO: Add support for common package managers (in distros). If package with the dependency version exists in package manager, install and use it instead +// TODO: Make dependency/project names case insensitive. This means we can't use pkgconfig + #if OS_FAMILY == OS_FAMILY_POSIX #define ferr std::cerr #else -- cgit v1.2.3