aboutsummaryrefslogtreecommitdiff
path: root/src/CmakeModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/CmakeModule.cpp')
-rw-r--r--src/CmakeModule.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/CmakeModule.cpp b/src/CmakeModule.cpp
index 35e4884..990bf36 100644
--- a/src/CmakeModule.cpp
+++ b/src/CmakeModule.cpp
@@ -41,20 +41,23 @@ namespace sibs
allLinkerFlags += binaryDependency;
}
#endif
+
+ string staticLinkerFlags;
if (!staticLinkerFlagCallbackFunc || (config.getPackageType() == PackageType::DYNAMIC || config.getPackageType() == PackageType::LIBRARY))
{
- staticLinkerFlagCallbackFunc = [&allLinkerFlags](const string &linkerFlag)
+ staticLinkerFlagCallbackFunc = [&staticLinkerFlags](const string &linkerFlag)
{
- allLinkerFlags += " ";
- allLinkerFlags += linkerFlag;
+ staticLinkerFlags += " ";
+ staticLinkerFlags += linkerFlag;
};
}
+ string dynamicLinkerFlags;
// TODO: If project contains no source files, then we shouldn't override this function
- dynamicLinkerFlagCallbackFunc = [&allLinkerFlags](const string &linkerFlag)
+ dynamicLinkerFlagCallbackFunc = [&dynamicLinkerFlags](const string &linkerFlag)
{
- allLinkerFlags += " ";
- allLinkerFlags += linkerFlag;
+ dynamicLinkerFlags += " ";
+ dynamicLinkerFlags += linkerFlag;
};
// TODO: Create a cmake module that contains library/include path for the dependencies (https://cmake.org/Wiki/CMake:How_To_Find_Libraries).
@@ -105,6 +108,8 @@ namespace sibs
Result<bool> globalLibResult = GlobalLib::getLibs(globalLibDependencies, config, globalLibDir, staticLinkerFlagCallbackFunc, dynamicLinkerFlagCallbackFunc, globalIncludeDirCallback);
if(!globalLibResult)
return globalLibResult;
+
+ allLinkerFlags += staticLinkerFlags + dynamicLinkerFlags;
Result<bool> createBuildDirResult = createDirectoryRecursive(buildPath.c_str());
if (createBuildDirResult.isErr())