diff options
author | Josh Junon <josh.junon@protonmail.com> | 2021-12-23 18:23:34 +0100 |
---|---|---|
committer | Josh Junon <josh.junon@protonmail.com> | 2021-12-23 18:23:34 +0100 |
commit | c5cd71b203cd73a815aa4bc8b9ef603800fa8b4b (patch) | |
tree | cb525c3a4d2809f6d9c101968348accb027fe97b /deps | |
parent | 12b53eb0318b0529514ad7e318de70b8325d43f2 (diff) | |
download | libgit2-c5cd71b203cd73a815aa4bc8b9ef603800fa8b4b.tar.gz |
cmake: use PROJECT_SOURCE_DIR of CMAKE_SOURCE_DIR
Also applies to *_BINARY_DIR.
This effectively reverts 84083dcc8bd41332ccac9d7b537f3e254d79011c,
which broke all users of libgit2 that use it as a CMake subdirectory
(via `add_subdirectory()`). This is because CMAKE_SOURCE_DIR refers
to the root-most CMake directory, which in the case of
`add_subdirectory()` is a parent project to libgit2 and thus the paths
don't make any sense to the configuration files. Corollary,
CMAKE_SOURCE_DIR only makes sense if the CMake project is always the
root project - which can rarely be guaranteed.
In all honesty, CMake should deprecate and eventually remove
CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR. It's been the source of headaches
and confusion for years, they're rarely useful over
CMAKE_CURRENT_(SOURCE|BINARY)_DIR or PROJECT_(SOURCE|BINARY)_DIR,
and they cause a lot of confusing configuration and source
code layouts to boot.
Any time they are used, they break `add_subdirectory()` almost 100% of
the time, cause confusing error messages, and hide subtle bugs.
Diffstat (limited to 'deps')
-rw-r--r-- | deps/winhttp/CMakeLists.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/deps/winhttp/CMakeLists.txt b/deps/winhttp/CMakeLists.txt index c11a867a8..1a87989b9 100644 --- a/deps/winhttp/CMakeLists.txt +++ b/deps/winhttp/CMakeLists.txt @@ -3,7 +3,7 @@ if(NOT DLLTOOL) message(FATAL_ERROR "Could not find dlltool command") endif() -set(LIBWINHTTP_PATH "${CMAKE_BINARY_DIR}/deps/winhttp") +set(LIBWINHTTP_PATH "${PROJECT_BINARY_DIR}/deps/winhttp") set(LIBWINHTTP_PATH ${LIBWINHTTP_PATH} PARENT_SCOPE) file(MAKE_DIRECTORY ${LIBWINHTTP_PATH}) |