forked from staxgr/ops
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathrun-cmake.bat
More file actions
101 lines (89 loc) · 4.99 KB
/
Copy pathrun-cmake.bat
File metadata and controls
101 lines (89 loc) · 4.99 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
@rem NOTE requires CMAKE and a MSBUILD command shell to work
@SETLOCAL
@rem define build directories and options if not already defined
@IF NOT DEFINED OPS_BUILD_BOOTSTRAP_DIR set OPS_BUILD_BOOTSTRAP_DIR=%~dp0\build.bootstrap
@IF NOT DEFINED OPS_BUILD_DBG_DIR set OPS_BUILD_DBG_DIR=%~dp0\build.debug
@IF NOT DEFINED OPS_BUILD_OPT_DIR set OPS_BUILD_OPT_DIR=%~dp0\build.opt
@IF NOT DEFINED OPS_INSTALL_PREFIX set OPS_INSTALL_PREFIX=%~dp0\deploy
@IF NOT DEFINED OPS_BUILD_CPP set OPS_BUILD_CPP=ON
@IF NOT DEFINED OPS_BUILD_CSHARP set OPS_BUILD_CSHARP=ON
@IF NOT DEFINED OPS_BUILD_PYTHON set OPS_BUILD_PYTHON=OFF
@IF NOT DEFINED OPS_BUILD_EXAMPLES set OPS_BUILD_EXAMPLES=ON
@IF NOT DEFINED OPS_BUILD_UNITTESTS set OPS_BUILD_UNITTESTS=ON
@IF NOT DEFINED OPS_CXXSTANDARD set OPS_CXXSTANDARD=17
@IF NOT DEFINED OPS_MSBUILD_M set OPS_MSBUILD_M=-m
@echo Using OPS_BUILD_BOOTSTRAP_DIR = %OPS_BUILD_BOOTSTRAP_DIR%
@echo Using OPS_BUILD_DBG_DIR = %OPS_BUILD_DBG_DIR%
@echo Using OPS_BUILD_OPT_DIR = %OPS_BUILD_OPT_DIR%
@echo Using OPS_INSTALL_PREFIX = %OPS_INSTALL_PREFIX%
@echo Using OPS_BUILD_CPP = %OPS_BUILD_CPP%
@echo Using OPS_BUILD_CSHARP = %OPS_BUILD_CSHARP%
@echo Using OPS_BUILD_PYTHON = %OPS_BUILD_PYTHON%
@echo Using OPS_BUILD_EXAMPLES = %OPS_BUILD_EXAMPLES%
@echo Using OPS_BUILD_UNITTESTS = %OPS_BUILD_UNITTESTS%
@echo Using OPS_CXXSTANDARD = %OPS_CXXSTANDARD%
@echo Using OPS_MSBUILD_M = %OPS_MSBUILD_M%
@echo Using OPS_TINYXML2_DBG_DIR = %OPS_TINYXML2_DBG_DIR%
@echo Using OPS_TINYXML2_OPT_DIR = %OPS_TINYXML2_OPT_DIR%
@echo Using (OPS_TINYXML2_INCLUDE_DIR = %OPS_TINYXML2_INCLUDE_DIR%)
@echo Using (OPS_TINYXML2_DBG_LIB = %OPS_TINYXML2_DBG_LIB%)
@echo Using (OPS_TINYXML2_REL_LIB = %OPS_TINYXML2_REL_LIB%)
@set LANG_OPTIONS=-DOPS_BUILD_CPP=%OPS_BUILD_CPP% -DOPS_BUILD_CSHARP=%OPS_BUILD_CSHARP% -DOPS_BUILD_PYTHON=%OPS_BUILD_PYTHON% -DCMAKE_CXX_STANDARD=%OPS_CXXSTANDARD%
@set MISC_OPTIONS=-DOPS_BUILD_EXAMPLES=%OPS_BUILD_EXAMPLES% -DOPS_BUILD_UNITTESTS=%OPS_BUILD_UNITTESTS%
@IF DEFINED OPS_TINYXML2_DBG_DIR set XML_OPTIONS_DBG=-DTINYXML2_INSTALL_DIR=%OPS_TINYXML2_DBG_DIR%
@IF DEFINED OPS_TINYXML2_OPT_DIR set XML_OPTIONS_REL=-DTINYXML2_INSTALL_DIR=%OPS_TINYXML2_OPT_DIR%
@IF DEFINED OPS_TINYXML2_INCLUDE_DIR set XML_OPTIONS_DBG=%XML_OPTIONS_DBG% -DTINYXML2_INCLUDE_DIR=%OPS_TINYXML2_INCLUDE_DIR%
@IF DEFINED OPS_TINYXML2_INCLUDE_DIR set XML_OPTIONS_REL=%XML_OPTIONS_REL% -DTINYXML2_INCLUDE_DIR=%OPS_TINYXML2_INCLUDE_DIR%
@IF DEFINED OPS_TINYXML2_DBG_LIB set XML_OPTIONS_DBG=%XML_OPTIONS_DBG% -DTINYXML2_LIB=%OPS_TINYXML2_DBG_LIB%
@IF DEFINED OPS_TINYXML2_REL_LIB set XML_OPTIONS_REL=%XML_OPTIONS_REL% -DTINYXML2_LIB=%OPS_TINYXML2_REL_LIB%
@IF NOT DEFINED XML_OPTIONS_DBG goto :TINYXML2_MISSING
@IF NOT DEFINED XML_OPTIONS_REL goto :TINYXML2_MISSING
@rem Perform the bootstrap process that generates source files needed by the other targets
@pushd %~dp0
@IF NOT EXIST %OPS_BUILD_BOOTSTRAP_DIR% mkdir %OPS_BUILD_BOOTSTRAP_DIR%
@cd %OPS_BUILD_BOOTSTRAP_DIR%
cmake -DCMAKE_BUILD_TYPE=Bootstrap -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% %LANG_OPTIONS% -A Win32 %~dp0
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem cmake --build . --target ALL_BUILD --config Debug
msbuild %OPS_MSBUILD_M% ALL_BUILD.vcxproj -p:Configuration=Debug
@IF ERRORLEVEL 1 goto :BUILD_FAILED
cmake -DBUILD_TYPE=Bootstrap -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% -P cmake_install.cmake
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@popd
@rem build and install Debug
@pushd %~dp0
@IF NOT EXIST %OPS_BUILD_DBG_DIR% mkdir %OPS_BUILD_DBG_DIR%
@cd %OPS_BUILD_DBG_DIR%
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% %LANG_OPTIONS% %MISC_OPTIONS% %XML_OPTIONS_DBG% -A Win32 %~dp0
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem cmake --build . --target ALL_BUILD --config Debug
msbuild %OPS_MSBUILD_M% ALL_BUILD.vcxproj -p:Configuration=Debug
@IF ERRORLEVEL 1 goto :BUILD_FAILED
cmake -DBUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% -P cmake_install.cmake
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@popd
@rem build and install Release
@pushd %~dp0
@IF NOT EXIST %OPS_BUILD_OPT_DIR% mkdir %OPS_BUILD_OPT_DIR%
@cd %OPS_BUILD_OPT_DIR%
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% %LANG_OPTIONS% %XML_OPTIONS_REL% -A Win32 %~dp0
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem cmake --build . --target ALL_BUILD --config Release
msbuild %OPS_MSBUILD_M% ALL_BUILD.vcxproj -p:Configuration=Release
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem @pushd Cpp\source
@rem msbuild %OPS_MSBUILD_M% ops-static.vcxproj -p:Configuration=MinSizeRel
@rem @IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem msbuild %OPS_MSBUILD_M% ops-static.vcxproj -p:Configuration=RelWithDebInfo
@rem @IF ERRORLEVEL 1 goto :BUILD_FAILED
@rem @popd
cmake -DBUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%OPS_INSTALL_PREFIX% -P cmake_install.cmake
@IF ERRORLEVEL 1 goto :BUILD_FAILED
@popd
@echo ------ BUILD OK ------
@goto :EOF
:TINYXML2_MISSING
@echo _
@echo Symbols for TINYXML2 not set
:BUILD_FAILED
@echo ------ BUILD FAILED ------