-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update docs to reflect recent build and dependency changes (#6383)
- Loading branch information
Showing
5 changed files
with
30 additions
and
164 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,16 +44,16 @@ We may introduce forward-compatible changes: query parameters and response prope | |
1. Check out the appropriate release branch `x.y` | ||
2. Make sure `CHANGELOG.md` is up to date. | ||
3. Make sure the `package.json` on branch `x.y` has been committed. | ||
4. Make sure all tests are passing (e.g. Travis CI gives you a :green_apple:) | ||
4. Make sure all tests are passing (e.g. Github Actions CI gives you a :heavy_check_mark:) | ||
5. Use an annotated tag to mark the release: `git tag vx.y.z -a` Body of the tag description should be the changelog entries. Commit should be one in which the `package.json` version matches the version you want to release. | ||
6. Use `npm run docs` to generate the API documentation. Copy `build/docs/*` to `https://github.com/Project-OSRM/project-osrm.github.com` in the `docs/vN.N.N/api` directory | ||
7. Push tags and commits: `git push; git push --tags` | ||
8. On https://github.com/Project-OSRM/osrm-backend/releases press `Draft a new release`, | ||
write the release tag `vx.y.z` in the `Tag version` field, write the changelog entries in the `Describe this release` field | ||
and press `Publish release`. Note that Travis deployments will create a release when publishing node binaries, so the release | ||
and press `Publish release`. Note that Github Actions CI deployments will create a release when publishing node binaries, so the release | ||
may already exist. In which case the description should be updated with the changelog entries. | ||
9. If not a release-candidate: Write a mailing-list post to [email protected] to announce the release | ||
10. Wait until the travis build has been completed and check if the node binaries were published by doing: | ||
10. Wait until the Github Actions build has been completed and check if the node binaries were published by doing: | ||
`rm -rf node_modules && npm install` locally. | ||
11. For final releases run `npm publish` or `npm publish --tag next` for release candidates. | ||
12. Bump version in `package.json` to `{MAJOR}.{MINOR+1}.0-latest.1` on the `master` branch after the release. | ||
12. Bump version in `package.json` to `{MAJOR}.{MINOR+1}.0-unreleased` on the `master` branch after the release. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,80 +1,31 @@ | ||
# Building OSRM for Windows | ||
|
||
## Dependencies | ||
|
||
Get a decent Windows with decent Visual Studio (14 at least for C++11 support). The published binaries are build with | ||
VS2019 and Windows SDK8.1. | ||
|
||
In case you are using [prepacked Windows VM with VS2019](https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/), you | ||
have to install [Windows SDK 8.1](https://go.microsoft.com/fwlink/p/?LinkId=323507) | ||
|
||
Prepare directories for dependencies, build and target file location.Target directory ($target starting from that moment) should have /include and /lib subdirectories. | ||
There is experimental support for building OSRM on Windows. | ||
|
||
### Bzip2 | ||
|
||
1. Download from https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz | ||
2. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
3. Issue `nmake /f makefile.msc` | ||
4. Copy bzlib.h to $target\include and libbz2.lib to $target\lib | ||
|
||
### ZLib | ||
|
||
1. Download https://www.zlib.net/zlib-1.2.11.tar.gz | ||
2. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
3. Switch to `contrib\vstudio\vc14` | ||
4. If needed, open `zlibvc.sln` with Visual Studio and retarget to your version of compiler and SDK. | ||
5. Issue `msbuild zlibvc.sln /p:BuildInParallel=true /p:Configuration=Release /p:Platform=x64 /m:<Number of cpu cores>` | ||
6. Copy x64\ZlibStatRelease\zlibstat.lib to $target\lib\libz.lib, copy zlib.h and zconf.h to $target\include | ||
## Dependencies | ||
|
||
### ICU | ||
You will need a modern Windows development stack (e.g. Visual Studio 17). The published binaries are built with | ||
[Windows Server 2022](https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md) Github hosted runners. | ||
|
||
1. Download and unpack. | ||
* https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-src.zip | ||
* https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-data.zip | ||
2. Do retarget if neededby openinig .\source\allinone\allinone.sln and editing projects | ||
3. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
4. Run build: | ||
msbuild .\source\allinone\allinone.sln /nologo /p:BuildInParallel=true /p:Configuration=Release /p:Platform=x64 /m:<Number of cpu cores> | ||
5. Copy lib64\*.lib to $target\lib, copy include contents to $target\include | ||
6. Copy bin64\*dll to any dir withing your $PATH. At the same time copy them to $target\lib | ||
Dependencies are managed via [Conan](https://conan.io/) and built with [CMake](https://cmake.org/). | ||
|
||
### Boost | ||
## Building | ||
|
||
1. Download and unpack https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.zip | ||
2. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
3. Build b2: | ||
bootstrap.bat --with-toolset=msvc-14.2 | ||
4. Build boost: | ||
b2 -a -d release state --build-type=minimal toolset=msvc-14.2 -q runtime-link=shared link=static address-model=64 --with-iostreams --with-test --with-thread --with-filesystem --with-date_time --with-system --with-program_options --with-regex --disable-filesystem2 -sHAVE_ICU=1 include=<target>\include library-path=<target>\lib -sZLIB_SOURCE=<builddir>/zlib -zBZIP2_BINARY=libbz2 -sBZIP2_INCLUDE=<target>\include -sBZIP2_LIBPATH=<target>\lib -sICU_ICUUC_NAME=icuuc -sICU_ICUDT_NAME=icudt -sICU_ICUIN_NAME=icuin -sBUILD=boost_unit_test_framework -j<number of cpu cores> | ||
5. Copy `boost` subdirectory to <target>\include and contents of `stage` to <target>\lib | ||
```bat | ||
cmake -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "Visual Studio 17 2022" .. | ||
### Expat | ||
msbuild OSRM.sln ^ | ||
/p:Configuration=%CONFIGURATION% ^ | ||
/p:Platform=x64 ^ | ||
/t:rebuild ^ | ||
/p:BuildInParallel=true ^ | ||
/m:%NUMBER_OF_PROCESSORS% ^ | ||
/toolsversion:Current ^ | ||
/clp:Verbosity=normal ^ | ||
/nologo | ||
``` | ||
|
||
1. Download and unpack https://github.com/libexpat/libexpat/archive/R_2_2_9.zip | ||
2. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
3. Configure build my calling cmake: | ||
mkdir expat\build | ||
cd expat\build | ||
cmake -G"Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. | ||
4. Build expat: `msbuild expat.sln /nologo /p:Configuration=Release /p:Platform=x64` | ||
5. Copy `Release\libexpat.*` to <target>/lib. Copy `expat/lib/expat.h` and `expat/lib/expat_external.h` to <target>/include | ||
|
||
### LUA | ||
|
||
1. Download and unpack https://www.lua.org/ftp/lua-5.3.5.tar.gz | ||
2. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
3. Lua doesn't have native MSVC support, so you have to compile it by hand: | ||
cd src | ||
cl /MD /O2 /c /DLUA_COMPAT_5_2 *.c | ||
ren lua.obj lua.o | ||
ren luac.obj luac.o | ||
link /LIB /OUT:lua5.3.5.dll *.obj | ||
4. Copy `lua5.3.5.lib` to <target>/lib. Copy `lua.h`,`lauxlib,h`,`lua.hpp`,`lualib.h`,`luaconf.h` to <target>/include | ||
|
||
### TBB | ||
|
||
1. Download and unpack https://github.com/oneapi-src/oneTBB/archive/v2020.2.zip | ||
2. Retarget by opening build\vs2013\makefile.sln | ||
3. Start 'x64 Native Tools Command Prompt for VS2019' and change directory to unpacked source tree. | ||
4. Switch to build\vs2013 and build: `msbuild makefle.sln /nologo /p:Configuration=Release /p:Platform=x64` | ||
5. Copy x64/Release/*.{dll,lib} files to <target>/lib and copy contents of include directory to <target>/include |