diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/GlobalLib.cpp | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/src/GlobalLib.cpp b/src/GlobalLib.cpp index 44652b8..cbd822e 100644 --- a/src/GlobalLib.cpp +++ b/src/GlobalLib.cpp @@ -124,21 +124,28 @@ namespace sibs } }); - // TODO: Create build path if it doesn't exist - string debugBuildPath = packageDir + "/build/debug"; - Result<bool> buildFileResult = ninja.createBuildFile(sibsConfig.getPackageName(), sibsConfig.getDependencies(), debugBuildPath.c_str(), linkerFlagCallbackFunc); - if(buildFileResult.isErr()) - return Result<string>::Err(buildFileResult.getErrMsg()); - - Result<bool> buildResult = ninja.build(debugBuildPath.c_str()); - if(buildResult.isErr()) - return Result<string>::Err(buildResult.getErrMsg()); - - string staticLibPath = debugBuildPath; - staticLibPath += "/lib"; - staticLibPath += name; - staticLibPath += ".a"; - linkerFlagCallbackFunc(staticLibPath); - return Result<string>::Ok(staticLibPath); + if(ninja.getSourceFiles().empty()) + { + return Result<string>::Ok(""); + } + else + { + // TODO: Create build path if it doesn't exist + string debugBuildPath = packageDir + "/build/debug"; + Result<bool> buildFileResult = ninja.createBuildFile(sibsConfig.getPackageName(), sibsConfig.getDependencies(), debugBuildPath.c_str(), linkerFlagCallbackFunc); + if (buildFileResult.isErr()) + return Result<string>::Err(buildFileResult.getErrMsg()); + + Result<bool> buildResult = ninja.build(debugBuildPath.c_str()); + if (buildResult.isErr()) + return Result<string>::Err(buildResult.getErrMsg()); + + string staticLibPath = debugBuildPath; + staticLibPath += "/lib"; + staticLibPath += name; + staticLibPath += ".a"; + linkerFlagCallbackFunc(staticLibPath); + return Result<string>::Ok(staticLibPath); + } } }
\ No newline at end of file |