From 87c378c20c30c9251c3787f6fd5496b72511f344 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 10 Dec 2017 15:22:45 +0100 Subject: Do not build dependency as library if it's header only library --- src/GlobalLib.cpp | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'src') 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 buildFileResult = ninja.createBuildFile(sibsConfig.getPackageName(), sibsConfig.getDependencies(), debugBuildPath.c_str(), linkerFlagCallbackFunc); - if(buildFileResult.isErr()) - return Result::Err(buildFileResult.getErrMsg()); - - Result buildResult = ninja.build(debugBuildPath.c_str()); - if(buildResult.isErr()) - return Result::Err(buildResult.getErrMsg()); - - string staticLibPath = debugBuildPath; - staticLibPath += "/lib"; - staticLibPath += name; - staticLibPath += ".a"; - linkerFlagCallbackFunc(staticLibPath); - return Result::Ok(staticLibPath); + if(ninja.getSourceFiles().empty()) + { + return Result::Ok(""); + } + else + { + // TODO: Create build path if it doesn't exist + string debugBuildPath = packageDir + "/build/debug"; + Result buildFileResult = ninja.createBuildFile(sibsConfig.getPackageName(), sibsConfig.getDependencies(), debugBuildPath.c_str(), linkerFlagCallbackFunc); + if (buildFileResult.isErr()) + return Result::Err(buildFileResult.getErrMsg()); + + Result buildResult = ninja.build(debugBuildPath.c_str()); + if (buildResult.isErr()) + return Result::Err(buildResult.getErrMsg()); + + string staticLibPath = debugBuildPath; + staticLibPath += "/lib"; + staticLibPath += name; + staticLibPath += ".a"; + linkerFlagCallbackFunc(staticLibPath); + return Result::Ok(staticLibPath); + } } } \ No newline at end of file -- cgit v1.2.3