vts-browser-cpp-build-wrapper
cmake 

所属分类:C/C++基础
开发工具:CMake
文件大小:1311KB
下载次数:0
上传日期:2022-01-06 13:50:38
上 传 者sh-1993
说明:  用于vts浏览器的包装器cpp,具有用于所有第三方依赖项的构建脚本
(Wrapper for vts-browser-cpp with build scripts for all 3rd-party dependencies)

文件列表:
CMakeLists.txt (2401, 2021-05-10)
LICENSE (1328, 2021-05-10)
externals (0, 2021-05-10)
externals\CMakeLists.txt (1590, 2021-05-10)
externals\boost (0, 2021-05-10)
externals\boost\CMakeLists.txt (1800, 2021-05-10)
externals\boost\boost (0, 2021-05-10)
externals\boost\boostDummiesUwp.cpp (2002, 2021-05-10)
externals\browser (0, 2021-05-10)
externals\curl (0, 2021-05-10)
externals\curl\CMakeLists.txt (981, 2021-05-10)
externals\curl\curl (0, 2021-05-10)
externals\eigen (0, 2021-05-10)
externals\eigen\CMakeLists.txt (140, 2021-05-10)
externals\eigen\eigen (0, 2021-05-10)
externals\freetype (0, 2021-05-10)
externals\freetype\CMakeLists.txt (325, 2021-05-10)
externals\freetype\freetype2 (0, 2021-05-10)
externals\freetype\wasm (0, 2021-05-10)
externals\freetype\wasm\CMakeLists.txt (301, 2021-05-10)
externals\freetype\wasm\wasm.cpp (33, 2021-05-10)
externals\geographiclib (0, 2021-05-10)
externals\geographiclib\CMakeLists.txt (246, 2021-05-10)
externals\geographiclib\geographiclib (0, 2021-05-10)
externals\glfw (0, 2021-05-10)
externals\glfw\CMakeLists.txt (438, 2021-05-10)
externals\glfw\glfw (0, 2021-05-10)
externals\harfbuzz (0, 2021-05-10)
externals\harfbuzz\CMakeLists.txt (953, 2021-05-10)
externals\harfbuzz\harfbuzz (0, 2021-05-10)
externals\harfbuzz\wasm (0, 2021-05-10)
externals\harfbuzz\wasm\CMakeLists.txt (301, 2021-05-10)
externals\harfbuzz\wasm\wasm.cpp (33, 2021-05-10)
... ...

# VTS Browser CPP - Build Wrapper [VTS Browser CPP](https://github.com/melowntech/vts-browser-cpp) is a collection of libraries that bring VTS client capabilities to your native applications. [This build wrapper](https://github.com/melowntech/vts-browser-cpp-build-wrapper) allows easy building of 3rd-party dependencies required for the browser. It provides configured git submodules and cmake build scripts for all 3rd-party libraries and for the browser. The primary intention of this repository was to allow building of the browser on Microsoft Windows. However, it is possible to build all the libraries on all platforms supported by the browser to minimize number of external runtime dependencies, which is extremely useful for embedding. ## Cloning Go to the directory where you have cloned the repository. Make sure that all submodules are cloned too: ```bash git pull git submodule update --init --recursive ``` If you get an error that file names are too long, use this setting: ```bash git config --system core.longpaths true ``` Always clone the repository - do NOT download the repository from github, the downloaded archive does not contain the submodules. ## Building on Windows ### Permission for symlinks On Windows, a specific permissions are required to allow creating symbolic file links. Go to Settings -> Update & Security -> For developers and ennable Developer mode. Moreover, it is necessary to enable creating symlinks when installing the git. ### Compiler, Git & CMake A C++14 capable compiler is required. We recommend MS Visual Studio 2017 or newer. It is freely available at: https://www.visualstudio.com/downloads/ Community edition is suitable. The Visual Studio also contains git and cmake integrations. However, we recommend standalone versions available here: https://gitforwindows.org/ and https://cmake.org/download/ ### Python Python is available at: https://www.python.org/downloads/windows/ Also, during the installation, select to add the Python to environment variable PATH. ### Building for Windows desktop Configure and build. ```bash mkdir build cd build cmake -Ax*** .. cmake --build . --config relwithdebinfo ``` The _-Ax***_ selects *** bit architecture. You may skip the last line and use the visual studio solution as usual instead. ### Building for UWP (Universal Windows Platform) Configure and build. ```bash mkdir build-uwp cd build-uwp cmake -Ax*** -DCMAKE_TOOLCHAIN_FILE=../toolchains/uwp.cmake .. cmake --build . --config relwithdebinfo ``` ## Building for Linux desktop Install some prerequisites. ```bash sudo apt update sudo apt install \ cmake \ nasm \ libssl-dev \ xorg-dev \ python-minimal ``` Configure and build. ```bash mkdir build cd build cmake -DCMAKE_BUILD_TYPE=RELWITHDEBINFO .. cmake --build . -- -j5 ``` ## Building for web assembly We assume that you are building on linux machine. Prepare Emscripten build tools as described here: https://emscripten.org/docs/getting_started/downloads.html Configure and build. ```bash mkdir build-wasm cd build-wasm cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_TOOLCHAIN_FILE=../toolchains/wasm.cmake .. cmake --build . -- -j5 ``` Use emrun to test the build. ## Building for Mac Install some prerequisites. ```bash sudo port install nasm ``` Or. ```bash brew install nasm ``` Configure and build. ```bash mkdir build cd build cmake -GXcode .. ``` Use the generated XCode project as usual. ## Building for iOS Configure and build. ```bash mkdir build-ios cd build-ios cmake -GXcode -DCMAKE_TOOLCHAIN_FILE=../toolchains/ios.cmake .. ``` Use the generated XCode project as usual. ## Recommended folder structure For standalone VTS build: ``` vts-browser-cpp-build-wrapper ├── build │ ├── vts-browser-build-wrapper.sln -- here is your solution for Windows │ ├── Makefile -- here is your makefile for Linux │ └── vts-browser-build-wrapper.xcodeproj -- here is your project for Mac ├── build-wasm │ └── Makefile -- here is your makefile for web assembly build ├── build-uwp │ └── vts-browser-build-wrapper.sln -- here is your solution for UWP ├── build-ios │ └── vts-browser-build-wrapper.xcodeproj -- here is your project for iOS ├── toolchains │ ├── wasm.toolchain.cmake -- this is where CMAKE_TOOLCHAIN_FILE points to when building for web assembly │ ├── uwp.toolchain.cmake -- this is where CMAKE_TOOLCHAIN_FILE points to when building for UWP │ └── ios.toolchain.cmake -- this is where CMAKE_TOOLCHAIN_FILE points to when building for iOS ├── externals │ └── browser -- if this folder is empty, you forgot to clone the submodules (run 'git submodule update --init --recursive' to initialize the submodules now) │ ├── browser | ├── BUILDING.md -- build instructions for linux desktop only (with system dependencies) │ ├── LICENSE │ └── README.md ├── LICENSE └── README.md -- the document you are reading just now ``` For your own application with cmake and vts as submodule: ``` your-awesome-application ├── build ├── externals │ └── vts-browser-cpp-build-wrapper -- the submodule └── CMakeLists.txt ``` ## Bug reports For bug reports on the build wrapper: [Issue tracker](https://github.com/melowntech/vts-browser-cpp-build-wrapper/issues). For bug reports on the libraries: [Issue tracker](https://github.com/melowntech/vts-browser-cpp/issues). ## How to contribute Check the [CONTRIBUTING.md](https://github.com/melowntech/vts-browser-cpp/blob/master/CONTRIBUTING.md). ## License See the [LICENSE](LICENSE) file.

近期下载者

相关文件


收藏者