diff options
Diffstat (limited to 'src/CmakeModule.cpp')
-rw-r--r-- | src/CmakeModule.cpp | 17 |
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()) |