aboutsummaryrefslogtreecommitdiff
path: root/docs/tool-maintainers/layout.md
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2021-02-04 10:15:44 -0800
committerGitHub <noreply@github.com>2021-02-04 10:15:44 -0800
commitaa60b7efa56a83ead743718941d8b320ef4a05af (patch)
treedb9f9ebd6fa37598b2f5f2ad564eb858cdeddcb0 /docs/tool-maintainers/layout.md
parentf226416d2eafc495dd03572cb61542fb1670ffdc (diff)
downloadvcpkg-aa60b7efa56a83ead743718941d8b320ef4a05af.tar.gz
vcpkg-aa60b7efa56a83ead743718941d8b320ef4a05af.zip
[vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (#15474)
This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 . The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications.
Diffstat (limited to 'docs/tool-maintainers/layout.md')
-rw-r--r--docs/tool-maintainers/layout.md74
1 files changed, 0 insertions, 74 deletions
diff --git a/docs/tool-maintainers/layout.md b/docs/tool-maintainers/layout.md
deleted file mode 100644
index ca9fa5c6a..000000000
--- a/docs/tool-maintainers/layout.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# Layout of the vcpkg source tree
-
-All vcpkg sources and build systems are in `toolsrc`. If you'd like to
-contribute to the vcpkg tool itself, most of your time will be spent in here.
-
-## Build Files
-
-These are the files used to build and configure the project. In order to build
-with CMake, the only files you should be interested in are `CMakeLists.txt`, and
-`.clang-format`; in order to build with msbuild or the Visual Studio IDE, you
-will be interested in `dirs.proj` or `vcpkg.sln`. However, if you add or remove
-files, you will need to edit the MSBuild project files in the `vcpkg*`
-directories no matter what system you use.
-
-### Top Level
-
-We have six files in this directory -- one `.clang-format` file, one
-`CMakeLists.txt` file, three Visual Studio files, and `VERSION.txt`.
-
- - `.clang-format`: This is where we store the formatting settings of the
- project. If you want to format the project, you can use the `format` target
- with the CMake build system.
- - `CMakeLists.txt`: This is where the CMake build system definition lives. If
- you want to modify how one builds the project, or add a target, you can do
- it here.
- - `VERSION.txt`: This is a file which tells `vcpkg` to tell the user to
- rebuild. If this version is different from the version when the user built
- the binary (for example, after a `git pull` or a `vcpkg update`), then
- `vcpkg` will print a message to re-bootstrap. This is updated whenever major
- changes are made to the `vcpkg` tool.
- - The Visual Studio files:
- - `vcpkg.natvis`: NATVIS files allow one to visualize objects of user
- defined type in the debugger -- this one contains the definitions for
- `vcpkg`'s types.
- - `dirs.proj`: This is how one builds with `msbuild` without calling into
- the IDE.
- - `vcpkg.sln`: The solution file is how one opens the project in the VS IDE.
-
-## Source Files
-
-If you're modifying the project, it's likely that these are the directories that
-you're going to deal with.
-
-### `include`
-
-There's one file in here -- `pch.h`. This contains most of the C++ standard
-library, and acts as a [precompiled header]. You can read more at the link.
-
-There are three directories:
-
- - `catch2` -- This contains the single-header library [catch2]. We use this
- library for both [testing] and [benchmarking].
- - `vcpkg` -- This contains the header files for the `vcpkg` project. All of
- the interfaces for building, installing, and generally "port stuff" live
- here.
- - `vcpkg/base` -- This contains the interfaces for the
- "vcpkg standard library" -- file handling, hashing, strings,
- `Span<T>`, printing, etc.
- - `vcpkg-test` -- This contains the interfaces for any common utilities
- required by the tests.
-
-### `src`
-
-The source files live here. `pch.cpp` is the source file for the
-[precompiled header]; `vcpkg.cpp` is where the `vcpkg` binary lives.
-
-The interesting files live in the `vcpkg` and `vcpkg-test` directories. In
-`vcpkg`, you have the implementation for the interfaces that live in
-`include/vcpkg`; and in `vcpkg-test`, you have the tests and benchmarks.
-
-[precompiled header]: https://en.wikipedia.org/wiki/Precompiled_header
-[catch2]: https://github.com/catchorg/Catch2
-[testing]: ./testing.md
-[benchmarking]: ./benchmarking.md