forked from vslavik/winsparkle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
WinSparkle.bkl
97 lines (78 loc) · 2.63 KB
/
WinSparkle.bkl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
toolsets = msvs;
// 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
//msvs.option.Configuration.PlatformToolset = v140_xp;
msvs.option.Configuration.XPDeprecationWarning = false;
if ( $(arch) == x86 ) {
// VS2015/2017 generates thread-safe statics by default, but it's incompatible
// with Windows XP when used in DLLs
compiler-options += "/Zc:threadSafeInit-";
// For maximum compatibility, don't use SSE2, (very) old 32bit CPUs don't have it:
msvs.option.ClCompile.EnableEnhancedInstructionSet = NoExtensions;
}
if ( $(config) == Release ) {
msvs.option.Configuration.WholeProgramOptimization = true;
msvs.option.ClCompile.Optimization = MinSpace;
msvs.option.ClCompile.FavorSizeOrSpeed = Size;
msvs.option.ClCompile.WholeProgramOptimization = true;
msvs.option.ClCompile.StringPooling = true;
msvs.option.ClCompile.FunctionLevelLinking = true;
msvs.option.Link.OptimizeReferences = true;
msvs.option.Link.EnableCOMDATFolding = true;
msvs.option.Link.LinkTimeCodeGeneration = UseLinkTimeCodeGeneration;
}
// 3rd party library dependencies:
submodule 3rdparty/dependencies.bkl;
shared-library WinSparkle {
msvs.option.Globals.WindowsTargetPlatformVersion = 10.0;
defines += XML_STATIC;
includedirs += 3rdparty/expat/expat/lib;
deps += WinSparkle_expat;
includedirs += 3rdparty/openssl-win32;
deps += WinSparkle_libcrypto;
includedirs += 3rdparty/wxWidgets_setup_h 3rdparty/wxWidgets/include;
deps += WinSparkle_wx;
libs += comctl32 kernel32 user32 comctl32 rpcrt4 version wininet shlwapi;
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
src/signatureverifier.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/signatureverifier.cpp
src/winsparkle.rc
translations/translations.rc
}
}
submodule examples/examples.bkl;