-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathMakefile.windows.mak
More file actions
82 lines (65 loc) · 3.61 KB
/
Makefile.windows.mak
File metadata and controls
82 lines (65 loc) · 3.61 KB
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
# -*- mode:makefile-gmake; -*-
SHELL:=$(windir)\system32\cmd.exe
##########################################################################
##########################################################################
.PHONY:init_vs2022
init_vs2022:
$(MAKE) _newer_vs VSYEAR=2022 VSVER=17 VSVERNAME="Visual Studio 17 2022"
.PHONY:init_vs2019
init_vs2019:
$(MAKE) _newer_vs VSYEAR=2019 VSVER=16 VSVERNAME="Visual Studio 16"
##########################################################################
##########################################################################
.PHONY:_newer_vs
_newer_vs: VS_PATH:=$(shell "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version $(VSVER) -property installationPath)
_newer_vs: CMAKE:=$(VS_PATH)\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
_newer_vs: FOLDER=$(BUILD_FOLDER)/$(FOLDER_PREFIX)vs$(VSYEAR)
_newer_vs:
$(if $(VS_PATH),,$(error Visual Studio $(VSYEAR) installation not found))
cmd /c bin\recreate_folder.bat $(FOLDER)
cd "$(FOLDER)" && "..\..\bin\msbuild_bug_wrapper.bat" "$(CMAKE)" $(CMAKE_DEFINES) -G "$(VSVERNAME)" -A x64 ../..
$(SHELLCMD) copy-file etc\b2.ChildProcessDbgSettings "$(FOLDER)"
##########################################################################
##########################################################################
.PHONY: run_tests_vs2022
run_tests_vs2022: CONFIG=$(error Must specify CONFIG)
run_tests_vs2022:
$(MAKE) _run_tests VSYEAR=2022 VSVER=17 CONFIG=$(CONFIG)
.PHONY: run_tests_vs2019
run_tests_vs2019: CONFIG=$(error Must specify CONFIG)
run_tests_vs2019:
$(MAKE) _run_tests VSYEAR=2019 VSVER=16 CONFIG=$(CONFIG)
.PHONY:_run_tests
_run_tests: VS_PATH:=$(shell "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version $(VSVER) -property installationPath)
_run_tests: CTEST:=$(VS_PATH)\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\ctest.exe
_run_tests:
cd "build\vs$(VSYEAR)" && "$(CTEST)" -C $(CONFIG) -j $(NPROC) --timeout 180 --progress
cd "build\vs$(VSYEAR)" && $(PYTHON3) "../../bin/check_ctest_log.py" "Testing\Temporary\LastTest.log"
##########################################################################
##########################################################################
.PHONY: precommit_vs2022
precommit_vs2022:
@echo clang-format...
@$(MAKE) clang-format QUIET=1
$(MAKE) _precommit VSYEAR=2022 VSVER=17
.PHONY: _precommit
_precommit:
$(MAKE) _precommit2 VSYEAR=$(VSYEAR) VSVER=$(VSVER) CONFIG=Debug
$(MAKE) _precommit2 VSYEAR=$(VSYEAR) VSVER=$(VSVER) CONFIG=RelWithDebInfo
$(MAKE) _precommit2 VSYEAR=$(VSYEAR) VSVER=$(VSVER) CONFIG=Final
.PHONY: _precommit2
_precommit2: _VS_PATH:=$(shell "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version $(VSVER) -property installationPath)
_precommit2: _DEVENV_PATH:=$(_VS_PATH)/Common7/IDE/devenv.com
_precommit2:
cd "build\vs$(VSYEAR)" && "..\..\bin\msbuild_bug_wrapper.bat" "$(_DEVENV_PATH)" b2.sln /Build $(CONFIG)
$(MAKE) _run_tests VSYEAR=$(VSYEAR) VSVER=$(VSVER) CONFIG=$(CONFIG)
##########################################################################
##########################################################################
.PHONY:github_ci_windows
github_ci_windows:
$(PYTHON3) "./etc/release/release.py" --verbose --timestamp=$(shell $(PYTHON3) "./etc/release/release2.py" print-timestamp) --gh-release $(shell $(PYTHON3) "./etc/release/release2.py" print-suffix)
##########################################################################
##########################################################################
ifdef LOCALAPPDATA
B2_JSON_FOLDER:=$(subst \,/,$(LOCALAPPDATA)/b2)
endif