如何运行此烤面包案(.bkl)

how to run this bakefile (.bkl)

本文关键字:bkl 烤面包 运行 何运行      更新时间:2023-10-16

我有以下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;

我下载了用于Windows的Bakefile并安装了它。然后我做了以下

     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:winsparkleWinSparkle.bkl' is invalid

关于可能出问题的任何建议?

如果由于某种原因要重生项目,则需要bakefile 1.x,而不是0.2.x:https://github.com/vslavik/bakefile。或仅使用存储库中包含的项目。