diff options
author | dec05eba <dec05eba@protonmail.com> | 2017-12-13 19:58:58 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2017-12-13 19:59:04 +0100 |
commit | c244361b8ae743bcb326b9a1a168f2fdcab491e8 (patch) | |
tree | 0ffe9d11ebe2834546f5c4f916e2038c301bccff /src | |
parent | 92f24893a5e2d12d0c32662483117c7032623bf1 (diff) |
Change linking order for pkg-config
Linking should be added in the order of dependencies.
Modified linking logic to check global lib dir if pkg-config
fails (missing package, pkg-config is not installed or any other reason),
also required for Windows.
Diffstat (limited to 'src')
-rw-r--r-- | src/GlobalLib.cpp | 6 | ||||
-rw-r--r-- | src/PkgConfig.cpp | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/GlobalLib.cpp b/src/GlobalLib.cpp index 203cd0f..617f993 100644 --- a/src/GlobalLib.cpp +++ b/src/GlobalLib.cpp @@ -145,7 +145,11 @@ namespace sibs staticLibPath += "/lib"; staticLibPath += name; staticLibPath += ".a"; - linkerFlagCallbackFunc(staticLibPath); + + string staticLibPathCmd = "'"; + staticLibPathCmd += staticLibPath; + staticLibPathCmd += "'"; + linkerFlagCallbackFunc(staticLibPathCmd); // TODO: Use different directories depending on the project type, but .o build files should be in the same directory // no matter what project type, since they are used for executables, static/dynamic libraries diff --git a/src/PkgConfig.cpp b/src/PkgConfig.cpp index 3307ff1..5f85549 100644 --- a/src/PkgConfig.cpp +++ b/src/PkgConfig.cpp @@ -89,15 +89,15 @@ namespace sibs return Result<bool>::Ok(true); } - Result<string> PkgConfig::getDynamicLibsLinkerFlags(const vector<string> &libs) + Result<string> PkgConfig::getDynamicLibsLinkerFlags(const vector<Dependency> &libs) { if(libs.empty()) return Result<string>::Ok(""); string args; - for(const string &lib : libs) + for(const Dependency &lib : libs) { args += " '"; - args += lib; + args += lib.name; args += "'"; } |