как запустить этот бейкфайл (.bkl)

У меня есть следующий bakefile (WinSparkle.bkl)

toolsets = vs2008 vs2010 vs2012 vs2013;

if ( $toolset == vs2008 )
SUFFIX = "";
if ( $toolset == vs2010 )
SUFFIX = "-2010";
if ( $toolset == vs2012 )
SUFFIX = "-2012";
if ( $toolset == vs2013 )
SUFFIX = "-2013";

vs2008.solutionfile = WinSparkle$(SUFFIX).sln;
vs2010.solutionfile = WinSparkle$(SUFFIX).sln;
vs2012.solutionfile = WinSparkle$(SUFFIX).sln;
vs2013.solutionfile = WinSparkle$(SUFFIX).sln;

// Common settings:
win32-crt-linkage = static;
archs = x86 x86_64;

defines += _CRT_SECURE_NO_WARNINGS;

// Build binaries compatible with Windows XP (SP3) -- it's still useful for
// installer stuff like WinSparkle.dll
vs2012.option.Configuration.PlatformToolset = v110_xp;
vs2013.option.Configuration.PlatformToolset = v120_xp;

if ( $(config) == Release ) {
vs2008.option.VCCLCompilerTool.Optimization = 1;
vs2008.option.VCCLCompilerTool.FavorSizeOrSpeed = 2;
vs2008.option.VCCLCompilerTool.WholeProgramOptimization = true;
vs2008.option.VCCLCompilerTool.StringPooling = true;
vs2008.option.VCLinkerTool.LinkTimeCodeGeneration = 1;

vs2010.option.Configuration.WholeProgramOptimization = true;
vs2010.option.ClCompile.Optimization = MinSpace;
vs2010.option.ClCompile.FavorSizeOrSpeed = Size;
vs2010.option.ClCompile.WholeProgramOptimization = true;
vs2010.option.ClCompile.StringPooling = true;
vs2010.option.ClCompile.FunctionLevelLinking = true;
vs2010.option.Link.OptimizeReferences = true;
vs2010.option.Link.EnableCOMDATFolding = true;
vs2010.option.Link.LinkTimeCodeGeneration = UseLinkTimeCodeGeneration;

vs2012.option.Configuration.WholeProgramOptimization = true;
vs2012.option.ClCompile.Optimization = MinSpace;
vs2012.option.ClCompile.FavorSizeOrSpeed = Size;
vs2012.option.ClCompile.WholeProgramOptimization = true;
vs2012.option.ClCompile.StringPooling = true;
vs2012.option.ClCompile.FunctionLevelLinking = true;
vs2012.option.Link.OptimizeReferences = true;
vs2012.option.Link.EnableCOMDATFolding = true;
vs2012.option.Link.LinkTimeCodeGeneration = UseLinkTimeCodeGeneration;

vs2013.option.Configuration.WholeProgramOptimization = true;
vs2013.option.ClCompile.Optimization = MinSpace;
vs2013.option.ClCompile.FavorSizeOrSpeed = Size;
vs2013.option.ClCompile.WholeProgramOptimization = true;
vs2013.option.ClCompile.StringPooling = true;
vs2013.option.ClCompile.FunctionLevelLinking = true;
vs2013.option.Link.OptimizeReferences = true;
vs2013.option.Link.EnableCOMDATFolding = true;
vs2013.option.Link.LinkTimeCodeGeneration = UseLinkTimeCodeGeneration;
}

// 3rd party library dependencies:
submodule 3rdparty/dependencies.bkl;

shared-library WinSparkle {

vs2008.projectfile = $(id)$(SUFFIX).vcproj;
vs2010.projectfile = $(id)$(SUFFIX).vcxproj;
vs2012.projectfile = $(id)$(SUFFIX).vcxproj;
vs2013.projectfile = $(id)$(SUFFIX).vcxproj;

defines += XML_STATIC;
includedirs += 3rdparty/expat/lib;
deps += WinSparkle_expat;

includedirs += 3rdparty/wxWidgets_setup_h 3rdparty/wxWidgets/include;
deps += WinSparkle_wx;

libs += comctl32 kernel32 user32 comctl32 rpcrt4 version wininet;

defines += BUILDING_WIN_SPARKLE;

// Public API headers:
headers {
include/winsparkle.h
include/winsparkle-version.h
}

includedirs += include;

// Private headers:
headers {
src/appcast.h
src/appcontroller.h
src/download.h
src/error.h
src/settings.h
src/threads.h
src/ui.h
src/updatechecker.h
src/updatedownloader.h
src/utils.h
}

sources {
src/appcast.cpp
src/appcontroller.cpp
src/dll_api.cpp
src/dllmain.cpp
src/download.cpp
src/error.cpp
src/settings.cpp
src/threads.cpp
src/ui.cpp
src/updatechecker.cpp
src/updatedownloader.cpp

src/winsparkle.rc
}
}

submodule examples/examples.bkl;

Я скачал bakefile для Windows и установил его. Затем я сделал следующее

     C:\winsparkle>bakefile -f msvc WinSparkle.bkl
file:///C:/winsparkle/WinSparkle.bkl:2:
parser
error :
Start tag expected, '<' not found

toolsets = vs2008 vs2010 vs2012 vs2013;

^

error: file 'C:\winsparkle\WinSparkle.bkl' is invalid

Любые предложения о том, что может пойти не так ??

0

Решение

Если по какой-то причине вы хотите восстановить проекты, вам понадобится Bakefile 1.x, а не 0.2.x: https://github.com/vslavik/bakefile. Или просто используйте проекты, включенные в репозиторий.

0

Другие решения

Других решений пока нет …