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

0

У меня есть следующий файл 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 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 для окон и установил его. Затем я сделал следующее

     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

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

Теги:
bakefile

1 ответ

0

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

  • 0
    Я сейчас использую bakefile 0.2 ( bakefile.org/download.html ) установил его. и загрузил мастер-проект winsparkle ( github.com/vslavik/winsparkle ) после открытия проекта vs2012 и попытки построить проект winsparkle из решения, но я все еще получаю 1>c:\winsparkle-master\winsparkle-master\src\ui.cpp(40): fatal error C1083: Cannot open include file: 'wx/app.h': No such file or directory 1>c:\winsparkle-master\winsparkle-master\src\updatedownloader.cpp(32): fatal error C1083: Cannot open include file: 'wx/string.h': No such file or directory
  • 0
    Похоже, мне нужно собрать некоторые другие вещи, чтобы получить эти файлы cpp. Есть идеи ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню