diff options
| author | nicole mazzuca <mazzucan@outlook.com> | 2020-08-10 12:32:34 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-10 12:32:34 -0700 |
| commit | 895678db8f8bfc3c1988a118b3bb5a13ea4d5248 (patch) | |
| tree | f341f05574a16589e7e0ee15446a907e142e679c | |
| parent | 481738beaeb77bca19ff7fa01b4c02be7fc9deb2 (diff) | |
| download | vcpkg-895678db8f8bfc3c1988a118b3bb5a13ea4d5248.tar.gz vcpkg-895678db8f8bfc3c1988a118b3bb5a13ea4d5248.zip | |
[vcpkg] Rewrite CMake build system to be more target-based (#12698)
* Change to using more target-focused cmake
* Add vcpkg_target_add_warning_options
* targetify the rest
* move the globs together
* Force-include pch.h on non-windows
* Rename VCPKGLIB_NON_PCH_* to VCPKGLIB_* in globs
* Remove `include "pch.h"`s
* missed a few lines
* fix build
* fix CMAKE_CURRENT_SOURCE_DIR
* try to fix VCPKG_REQUIRE_LINK_CXXFS
* change msvc-stl logic
* fix build
* CR
* clang-format
* Apply suggestions from code review
Thanks @ras0219!
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com>
80 files changed, 313 insertions, 397 deletions
diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index 10a280faa..62cb3740d 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -1,161 +1,172 @@ -cmake_minimum_required(VERSION 3.14)
-
-project(vcpkg CXX)
-include(cmake/utilities.cmake)
-
-# ===============
-# === Options ===
-# ===============
-
-include(CMakeDependentOption)
-
-option(BUILD_TESTING "Option for enabling testing" ON)
-option(VCPKG_DISABLE_METRICS "Option for disabling metrics" OFF)
-option(VCPKG_ALLOW_APPLE_CLANG "Option for allowing apple clang, even versions that we don't know will work" OFF)
-option(VCPKG_DEVELOPMENT_WARNINGS "Option for turning on all warnings" ON)
-option(VCPKG_WARNINGS_AS_ERRORS "Set warnings to be errors" ${VCPKG_DEVELOPMENT_WARNINGS})
-option(VCPKG_BUILD_FUZZING "Option for enabling vcpkg-fuzz support" OFF)
-
-CMAKE_DEPENDENT_OPTION(VCPKG_BUILD_BENCHMARKING "Option for enabling benchmarking" OFF
- "BUILD_TESTING" OFF)
-
-if(WERROR)
- message(DEPRECATION "-DWERROR is no longer a supported flag. It doesn't do anything.")
-endif()
-if(DEFINE_DISABLE_METRICS)
- message(DEPRECATION "DEFINE_DISABLE_METRICS is now called VCPKG_DISABLE_METRICS.")
- set(VCPKG_DISABLE_METRICS ${DEFINE_DISABLE_METRICS} CACHE BOOL "Option for disabling metrics" FORCE)
-endif()
-
-vcpkg_detect_compiler()
-vcpkg_detect_standard_library()
-vcpkg_detect_std_filesystem()
-
-# ======================
-# === Compiler Flags ===
-# ======================
-
-set(CMAKE_CXX_EXTENSIONS OFF)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_STANDARD 17)
-
-if(MSVC)
- # either MSVC, or clang-cl
- add_compile_options(-FC)
-
- if (MSVC_VERSION GREATER 1900)
- # Visual Studio 2017 or later
- add_compile_options(-permissive- -utf-8)
- endif()
-
- if(VCPKG_DEVELOPMENT_WARNINGS)
- string(REGEX REPLACE "[-/]W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-
- add_compile_options(-W4)
- if(VCPKG_COMPILER STREQUAL "clang")
- add_compile_options(-Wmissing-prototypes -Wno-missing-field-initializers)
- else()
- add_compile_options(-analyze)
- endif()
- endif()
-
- if(VCPKG_WARNINGS_AS_ERRORS)
- add_compile_options(-WX)
- endif()
-else()
- if(VCPKG_DEVELOPMENT_WARNINGS)
- add_compile_options(-Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-redundant-move)
-
- # GCC and clang have different names for the same warning
- if(VCPKG_COMPILER STREQUAL "gcc")
- add_compile_options(-Wmissing-declarations)
- elseif(VCPKG_COMPILER STREQUAL "clang")
- add_compile_options(-Wmissing-prototypes)
- endif()
- endif()
-
- if(VCPKG_WARNINGS_AS_ERRORS)
- add_compile_options(-Werror)
- endif()
-endif()
-
-# ========================
-# === System Libraries ===
-# ========================
-
-set(THREADS_PREFER_PTHREAD_FLAG ON)
-find_package(Threads REQUIRED)
-link_libraries(Threads::Threads)
-
-add_compile_definitions(VCPKG_USE_STD_FILESYSTEM=$<BOOL:${VCPKG_USE_STD_FILESYSTEM}>)
-if(VCPKG_REQUIRE_LINK_CXXFS)
- if(VCPKG_STANDARD_LIBRARY STREQUAL "libstdc++")
- link_libraries(stdc++fs)
- elseif(VCPKG_STANDARD_LIBRARY STREQUAL "libc++")
- link_libraries(c++fs)
- endif()
-endif()
-
-if (MINGW)
- add_compile_definitions(
- UNICODE
- _WIN32_WINNT=0x0601
- WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY=4
- __fastfail=exit)
- link_libraries(winhttp bcrypt version ole32 uuid)
-endif()
-
-
-# ===============
-# === Targets ===
-# ===============
-
-add_compile_definitions(VCPKG_DISABLE_METRICS=$<BOOL:${VCPKG_DISABLE_METRICS}>)
-include_directories(include)
-file(GLOB_RECURSE VCPKGLIB_SOURCES CONFIGURE_DEPENDS src/vcpkg/*.cpp)
-add_library(vcpkglib OBJECT ${VCPKGLIB_SOURCES})
-
-add_executable(vcpkg src/vcpkg.cpp $<TARGET_OBJECTS:vcpkglib>)
-if(WIN32 AND NOT VCPKG_DISABLE_METRICS)
- add_executable(vcpkgmetricsuploader WIN32 src/vcpkgmetricsuploader.cpp $<TARGET_OBJECTS:vcpkglib>)
-endif()
-
-if (BUILD_TESTING)
- file(GLOB_RECURSE VCPKGTEST_SOURCES CONFIGURE_DEPENDS src/vcpkg-test/*.cpp)
-
- enable_testing()
- add_executable(vcpkg-test ${VCPKGTEST_SOURCES} $<TARGET_OBJECTS:vcpkglib>)
- add_test(NAME default COMMAND vcpkg-test --order rand --rng-seed time)
-
- if (VCPKG_BUILD_BENCHMARKING)
- target_compile_options(vcpkg-test PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING)
- endif()
-endif()
-
-if(VCPKG_BUILD_FUZZING)
- file(GLOB_RECURSE VCPKGFUZZ_SOURCES src/vcpkg-fuzz/*.cpp)
- add_executable(vcpkg-fuzz ${VCPKGFUZZ_SOURCES} $<TARGET_OBJECTS:vcpkglib>)
-endif()
-
-find_program(CLANG_FORMAT clang-format)
-if(CLANG_FORMAT)
- file(GLOB_RECURSE VCPKG_FORMAT_SOURCES CONFIGURE_DEPENDS src/*.cpp include/pch.h include/vcpkg/*.h include/vcpkg-test/*.h)
- add_custom_target(format COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_FORMAT_SOURCES})
-endif()
-
-# ===========
-# === PCH ===
-# ===========
-
-if(MSVC)
- get_target_property(_srcs vcpkglib SOURCES)
-
- if(NOT CMAKE_GENERATOR MATCHES "Visual Studio .*")
- set_property(SOURCE src/pch.cpp APPEND PROPERTY OBJECT_OUTPUTS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch")
- set_property(SOURCE ${_srcs} APPEND PROPERTY OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch")
- endif()
-
- set_source_files_properties(src/pch.cpp PROPERTIES COMPILE_FLAGS "/Ycpch.h")
- target_sources(vcpkglib PRIVATE src/pch.cpp)
- target_compile_options(vcpkglib PRIVATE /Yupch.h /FIpch.h /Zm200)
-endif()
+cmake_minimum_required(VERSION 3.14) + +project(vcpkg CXX) +include(cmake/utilities.cmake) + +# =============== +# === Options === +# =============== + +include(CMakeDependentOption) + +option(BUILD_TESTING "Option for enabling testing" ON) +option(VCPKG_DISABLE_METRICS "Option for disabling metrics" OFF) +option(VCPKG_ALLOW_APPLE_CLANG "Option for allowing apple clang, even versions that we don't know will work" OFF) +option(VCPKG_DEVELOPMENT_WARNINGS "Option for turning on all warnings" ON) +option(VCPKG_WARNINGS_AS_ERRORS "Set warnings to be errors" ${VCPKG_DEVELOPMENT_WARNINGS}) +option(VCPKG_BUILD_FUZZING "Option for enabling vcpkg-fuzz support" OFF) + +CMAKE_DEPENDENT_OPTION(VCPKG_BUILD_BENCHMARKING "Option for enabling benchmarking" OFF + "BUILD_TESTING" OFF) + +if(WERROR) + message(DEPRECATION "-DWERROR is no longer a supported flag. It doesn't do anything.") +endif() +if(DEFINE_DISABLE_METRICS) + message(DEPRECATION "DEFINE_DISABLE_METRICS is now called VCPKG_DISABLE_METRICS.") + set(VCPKG_DISABLE_METRICS ${DEFINE_DISABLE_METRICS} CACHE BOOL "Option for disabling metrics" FORCE) +endif() + +# ============= +# === Files === +# ============= + +file(GLOB VCPKGLIB_SOURCES CONFIGURE_DEPENDS src/vcpkg/*.cpp) +file(GLOB VCPKGLIB_BASE_SOURCES CONFIGURE_DEPENDS src/vcpkg/base/*.cpp) +file(GLOB VCPKGLIB_INCLUDES CONFIGURE_DEPENDS include/vcpkg/*.h) +file(GLOB VCPKGLIB_BASE_INCLUDES CONFIGURE_DEPENDS include/vcpkg/base/*.h) + +set(VCPKG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/vcpkg.cpp) + +set(VCPKGMETRICSUPLOADER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/vcpkgmetricsuploader.cpp) + +file(GLOB VCPKG_TEST_SOURCES CONFIGURE_DEPENDS src/vcpkg-test/*.cpp) +file(GLOB VCPKG_TEST_INCLUDES CONFIGURE_DEPENDS include/vcpkg-test/*.h) + +file(GLOB VCPKG_FUZZ_SOURCES CONFIGURE_DEPENDS src/vcpkg-fuzz/*.cpp) + +# ======================== +# === System detection === +# ======================== + +vcpkg_detect_compiler() +vcpkg_detect_standard_library() +vcpkg_detect_std_filesystem() + +set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_STANDARD 17) +if(MSVC) + string(REGEX REPLACE "[-/]W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +endif() + +# =============== +# === Targets === +# =============== + +# === Target: vcpkglib === + +add_library(vcpkglib + ${VCPKGLIB_BASE_SOURCES} + ${VCPKGLIB_SOURCES} + ${VCPKGLIB_BASE_INCLUDES} + ${VCPKGLIB_INCLUDES}) +target_include_directories(vcpkglib PUBLIC include) + +vcpkg_target_add_warning_options(vcpkglib) +target_compile_definitions(vcpkglib PUBLIC + VCPKG_USE_STD_FILESYSTEM=$<BOOL:${VCPKG_USE_STD_FILESYSTEM}>) + +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) +target_link_libraries(vcpkglib PRIVATE Threads::Threads) + +if(VCPKG_CXXFS_LIBRARY) + target_link_libraries(vcpkglib PRIVATE ${VCPKG_CXXFS_LIBRARY}) +endif() + +if(MSVC) + get_target_property(_srcs vcpkglib SOURCES) + + if(NOT CMAKE_GENERATOR MATCHES "Visual Studio .*") + set_property(SOURCE src/pch.cpp APPEND PROPERTY OBJECT_OUTPUTS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch") + set_property(SOURCE ${_srcs} APPEND PROPERTY OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch") + endif() + + set_source_files_properties(src/pch.cpp PROPERTIES COMPILE_FLAGS "/Ycpch.h") + target_sources(vcpkglib PRIVATE src/pch.cpp) + target_compile_options(vcpkglib PRIVATE /Yupch.h /FIpch.h /Zm200) +else() + target_compile_options(vcpkglib PRIVATE -include "${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h") +endif() + +if (MINGW) + target_compile_definitions(vcpkglib + PUBLIC + UNICODE + _WIN32_WINNT=0x0601 + WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY=4 + __fastfail=exit) + target_link_libraries(vcpkglib PUBLIC winhttp bcrypt version ole32 uuid) +endif() + +# === Target: vcpkg === + +add_executable(vcpkg ${VCPKG_SOURCES}) +target_link_libraries(vcpkg PRIVATE vcpkglib) +vcpkg_target_add_warning_options(vcpkg) + +# === Target: vcpkgmetricsuploader === + +if(WIN32 AND NOT VCPKG_DISABLE_METRICS) + add_executable(vcpkgmetricsuploader WIN32 ${VCPKGMETRICSUPLOADER_SOURCES}) + target_link_libraries(vcpkgmetricsuploader PRIVATE vcpkglib) + vcpkg_target_add_warning_options(vcpkgmetricsuploader) +endif() + +# === Target: vcpkg-test === + +if (BUILD_TESTING) + enable_testing() + + add_executable(vcpkg-test + ${VCPKG_TEST_SOURCES} + ${VCPKG_TEST_INCLUDES}) + target_link_libraries(vcpkg-test PRIVATE vcpkglib) + vcpkg_target_add_warning_options(vcpkg-test) + + add_test(NAME default COMMAND vcpkg-test --order rand --rng-seed time) + + if (VCPKG_BUILD_BENCHMARKING) + target_compile_options(vcpkg-test PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING) + endif() +endif() + +# === Target: vcpkg-fuzz === + +if(VCPKG_BUILD_FUZZING) + add_executable(vcpkg-fuzz ${VCPKG_FUZZ_SOURCES}) + target_link_libraries(vcpkg-fuzz PRIVATE vcpkglib) + vcpkg_target_add_warning_options(vcpkg-fuzz) +endif() + +# === Target: format === + +find_program(CLANG_FORMAT clang-format) +if(CLANG_FORMAT) + add_custom_target(format COMMAND ${CLANG_FORMAT} -i -verbose + ${CMAKE_CURRENT_SOURCE_DIR}/src/pch.cpp + ${VCPKGLIB_BASE_SOURCES} + ${VCPKGLIB_NON_PCH_SOURCES} + ${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h + ${VCPKGLIB_BASE_INCLUDES} + ${VCPKGLIB_NON_PCH_INCLUDES} + + ${VCPKG_SOURCES} + ${VCPKGMETRICSUPLOADER_SOURCES} + + ${VCPKG_TEST_SOURCES} + ${VCPKG_TEST_INCLUDES} + + ${VCPKG_FUZZ_SOURCES}) +endif() diff --git a/toolsrc/cmake/utilities.cmake b/toolsrc/cmake/utilities.cmake index b99063a65..f04c1ddbb 100644 --- a/toolsrc/cmake/utilities.cmake +++ b/toolsrc/cmake/utilities.cmake @@ -77,7 +77,7 @@ int main() {} _VCPKG_STANDARD_LIBRARY_LIBCXX) check_cxx_source_compiles([[ #include <ciso646> -#if !defined(_MSVC_STL_VERSION) +#if !defined(_MSVC_STL_VERSION) && !(defined(_MSC_VER) && _MSC_VER <= 1900) #error "not MSVC stl" #endif int main() {} @@ -101,7 +101,7 @@ int main() {} endif() endfunction() -# Outputs to Cache: VCPKG_USE_STD_FILESYSTEM, VCPKG_REQUIRE_LINK_CXXFS +# Outputs to Cache: VCPKG_USE_STD_FILESYSTEM, VCPKG_CXXFS_LIBRARY function(vcpkg_detect_std_filesystem) vcpkg_detect_standard_library() @@ -129,10 +129,14 @@ int main() {} int main() {} ]] _VCPKG_USE_STD_FILESYSTEM) + + if(_VCPKG_REQUIRE_LINK_CXXFS) + set(_VCPKG_CXXFS_LIBRARY "stdc++fs") + endif() elseif(VCPKG_STANDARD_LIBRARY STREQUAL "libc++") if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") # AppleClang never requires (or allows) -lc++fs, even with libc++ version 8.0.0 - set(_VCPKG_REQUIRE_LINK_CXXFS OFF) + set(_VCPKG_CXXFS_LIBRARY OFF) else() check_cxx_source_compiles([[ #include <ciso646> @@ -142,6 +146,10 @@ int main() {} int main() {} ]] _VCPKG_REQUIRE_LINK_CXXFS) + + if(_VCPKG_REQUIRE_LINK_CXXFS) + set(_VCPKG_CXXFS_LIBRARY "c++fs") + endif() endif() # We don't support versions of libc++ < 7.0.0, and libc++ 7.0.0 has <filesystem> @@ -155,16 +163,16 @@ int main() {} int main() {}" _VCPKG_USE_STD_FILESYSTEM) - set(_VCPKG_REQUIRE_LINK_CXXFS OFF) + set(_VCPKG_CXXFS_LIBRARY OFF) endif() set(VCPKG_USE_STD_FILESYSTEM ${_VCPKG_USE_STD_FILESYSTEM} CACHE BOOL "Whether to use <filesystem>, as opposed to <experimental/filesystem>" FORCE) - set(VCPKG_REQUIRE_LINK_CXXFS ${_VCPKG_REQUIRE_LINK_CXXFS} - CACHE BOOL - "Whether it's required to pass -l[std]c++fs in order to use <filesystem>" + set(VCPKG_CXXFS_LIBRARY ${_VCPKG_CXXFS_LIBRARY} + CACHE STRING + "Library to link (if any) in order to use <filesystem>" FORCE) if(VCPKG_USE_STD_FILESYSTEM) @@ -172,10 +180,54 @@ int main() {} else() set(msg "<experimental/filesystem>") endif() - if(VCPKG_REQUIRE_LINK_CXXFS) - set(msg "${msg} with -l[std]c++fs") + if(VCPKG_CXXFS_LIBRARY) + set(msg "${msg} with -l${VCPKG_CXXFS_LIBRARY}") endif() message(STATUS "Detecting how to use the C++ filesystem library - ${msg}") endif() endfunction() + +function(vcpkg_target_add_warning_options TARGET) + if(MSVC) + # either MSVC, or clang-cl + target_compile_options(${TARGET} PRIVATE -FC) + + if (MSVC_VERSION GREATER 1900) + # Visual Studio 2017 or later + target_compile_options(${TARGET} PRIVATE -permissive- -utf-8) + endif() + + if(VCPKG_DEVELOPMENT_WARNINGS) + target_compile_options(${TARGET} PRIVATE -W4) + if(VCPKG_COMPILER STREQUAL "clang") + target_compile_options(${TARGET} PRIVATE -Wmissing-prototypes -Wno-missing-field-initializers) + else() + target_compile_options(${TARGET} PRIVATE -analyze) + endif() + else() + target_compile_options(${TARGET} PRIVATE -W3) + endif() + + if(VCPKG_WARNINGS_AS_ERRORS) + target_compile_options(${TARGET} PRIVATE -WX) + endif() + else() + if(VCPKG_DEVELOPMENT_WARNINGS) + target_compile_options(${TARGET} PRIVATE + -Wall -Wextra -Wpedantic + -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-redundant-move) + + # GCC and clang have different names for the same warning + if(VCPKG_COMPILER STREQUAL "gcc") + target_compile_options(${TARGET} PRIVATE -Wmissing-declarations) + elseif(VCPKG_COMPILER STREQUAL "clang") + target_compile_options(${TARGET} PRIVATE -Wmissing-prototypes) + endif() + endif() + + if(VCPKG_WARNINGS_AS_ERRORS) + target_compile_options(${TARGET} PRIVATE -Werror) + endif() + endif() +endfunction() diff --git a/toolsrc/src/pch.cpp b/toolsrc/src/pch.cpp index 17305716a..ebc3d8904 100644 --- a/toolsrc/src/pch.cpp +++ b/toolsrc/src/pch.cpp @@ -1 +1,2 @@ -#include "pch.h"
\ No newline at end of file +// This file intentionally left blank. It exists to be a target for pch compilation, +// but `#include "pch.h"` is already injected by the compiler.
\ No newline at end of file diff --git a/toolsrc/src/vcpkg/archives.cpp b/toolsrc/src/vcpkg/archives.cpp index ca82b3100..35e6427be 100644 --- a/toolsrc/src/vcpkg/archives.cpp +++ b/toolsrc/src/vcpkg/archives.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.process.h> #include <vcpkg/archives.h> diff --git a/toolsrc/src/vcpkg/base/checks.cpp b/toolsrc/src/vcpkg/base/checks.cpp index 42e0835c6..c0075e33f 100644 --- a/toolsrc/src/vcpkg/base/checks.cpp +++ b/toolsrc/src/vcpkg/base/checks.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/stringview.h> #include <vcpkg/base/system.debug.h> diff --git a/toolsrc/src/vcpkg/base/chrono.cpp b/toolsrc/src/vcpkg/base/chrono.cpp index 86dc590f8..971d5f37e 100644 --- a/toolsrc/src/vcpkg/base/chrono.cpp +++ b/toolsrc/src/vcpkg/base/chrono.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/chrono.h> diff --git a/toolsrc/src/vcpkg/base/cofffilereader.cpp b/toolsrc/src/vcpkg/base/cofffilereader.cpp index cb75e0847..30e0f8588 100644 --- a/toolsrc/src/vcpkg/base/cofffilereader.cpp +++ b/toolsrc/src/vcpkg/base/cofffilereader.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/cofffilereader.h> #include <vcpkg/base/stringliteral.h> diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp index 051e8306f..596697499 100644 --- a/toolsrc/src/vcpkg/base/downloads.cpp +++ b/toolsrc/src/vcpkg/base/downloads.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/downloads.h> #include <vcpkg/base/hash.h> #include <vcpkg/base/system.h> diff --git a/toolsrc/src/vcpkg/base/enums.cpp b/toolsrc/src/vcpkg/base/enums.cpp index aa124f3aa..8b99ddf7b 100644 --- a/toolsrc/src/vcpkg/base/enums.cpp +++ b/toolsrc/src/vcpkg/base/enums.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/enums.h> diff --git a/toolsrc/src/vcpkg/base/files.cpp b/toolsrc/src/vcpkg/base/files.cpp index 59931603b..e4c821eae 100644 --- a/toolsrc/src/vcpkg/base/files.cpp +++ b/toolsrc/src/vcpkg/base/files.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/system.debug.h> #include <vcpkg/base/system.h> diff --git a/toolsrc/src/vcpkg/base/hash.cpp b/toolsrc/src/vcpkg/base/hash.cpp index 58e17e1ad..0070a5f72 100644 --- a/toolsrc/src/vcpkg/base/hash.cpp +++ b/toolsrc/src/vcpkg/base/hash.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/hash.h> #include <vcpkg/base/strings.h> diff --git a/toolsrc/src/vcpkg/base/json.cpp b/toolsrc/src/vcpkg/base/json.cpp index 440bc6745..7536e09df 100644 --- a/toolsrc/src/vcpkg/base/json.cpp +++ b/toolsrc/src/vcpkg/base/json.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/json.h> #include <vcpkg/base/system.debug.h> diff --git a/toolsrc/src/vcpkg/base/machinetype.cpp b/toolsrc/src/vcpkg/base/machinetype.cpp index 237e1eb8b..243fa7086 100644 --- a/toolsrc/src/vcpkg/base/machinetype.cpp +++ b/toolsrc/src/vcpkg/base/machinetype.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/machinetype.h> diff --git a/toolsrc/src/vcpkg/base/parse.cpp b/toolsrc/src/vcpkg/base/parse.cpp index 7d6576f41..cd82f3212 100644 --- a/toolsrc/src/vcpkg/base/parse.cpp +++ b/toolsrc/src/vcpkg/base/parse.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/parse.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/base/strings.cpp b/toolsrc/src/vcpkg/base/strings.cpp index 19b9384e6..8e1bbdc22 100644 --- a/toolsrc/src/vcpkg/base/strings.cpp +++ b/toolsrc/src/vcpkg/base/strings.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/strings.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/base/stringview.cpp b/toolsrc/src/vcpkg/base/stringview.cpp index 8ab114a5e..6e03ba543 100644 --- a/toolsrc/src/vcpkg/base/stringview.cpp +++ b/toolsrc/src/vcpkg/base/stringview.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/lineinfo.h> #include <vcpkg/base/stringview.h> diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index d06e338be..800a0a23b 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/chrono.h> #include <vcpkg/base/system.debug.h> diff --git a/toolsrc/src/vcpkg/base/system.print.cpp b/toolsrc/src/vcpkg/base/system.print.cpp index fc8e4184c..885269eef 100644 --- a/toolsrc/src/vcpkg/base/system.print.cpp +++ b/toolsrc/src/vcpkg/base/system.print.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/base/system.process.cpp b/toolsrc/src/vcpkg/base/system.process.cpp index 300e318df..ee2dd1b3f 100644 --- a/toolsrc/src/vcpkg/base/system.process.cpp +++ b/toolsrc/src/vcpkg/base/system.process.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/chrono.h> #include <vcpkg/base/system.debug.h> diff --git a/toolsrc/src/vcpkg/base/unicode.cpp b/toolsrc/src/vcpkg/base/unicode.cpp index 149bad20f..92b964ed8 100644 --- a/toolsrc/src/vcpkg/base/unicode.cpp +++ b/toolsrc/src/vcpkg/base/unicode.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/unicode.h> diff --git a/toolsrc/src/vcpkg/binarycaching.cpp b/toolsrc/src/vcpkg/binarycaching.cpp index 75701d7ee..743ce919a 100644 --- a/toolsrc/src/vcpkg/binarycaching.cpp +++ b/toolsrc/src/vcpkg/binarycaching.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/files.h> #include <vcpkg/base/parse.h> diff --git a/toolsrc/src/vcpkg/binaryparagraph.cpp b/toolsrc/src/vcpkg/binaryparagraph.cpp index 0b0819fd7..4d3bcbc97 100644 --- a/toolsrc/src/vcpkg/binaryparagraph.cpp +++ b/toolsrc/src/vcpkg/binaryparagraph.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index cfba94b9f..67015fba5 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/cache.h> #include <vcpkg/base/checks.h> #include <vcpkg/base/chrono.h> diff --git a/toolsrc/src/vcpkg/buildenvironment.cpp b/toolsrc/src/vcpkg/buildenvironment.cpp index 9ef330e66..cab2bf551 100644 --- a/toolsrc/src/vcpkg/buildenvironment.cpp +++ b/toolsrc/src/vcpkg/buildenvironment.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/buildenvironment.h> namespace vcpkg diff --git a/toolsrc/src/vcpkg/cmakevars.cpp b/toolsrc/src/vcpkg/cmakevars.cpp index ee718d408..7c5078d3b 100644 --- a/toolsrc/src/vcpkg/cmakevars.cpp +++ b/toolsrc/src/vcpkg/cmakevars.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/hash.h> #include <vcpkg/base/optional.h> #include <vcpkg/base/span.h> diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp index b035aa3dd..ae01302cb 100644 --- a/toolsrc/src/vcpkg/commands.autocomplete.cpp +++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.autocomplete.h> diff --git a/toolsrc/src/vcpkg/commands.buildexternal.cpp b/toolsrc/src/vcpkg/commands.buildexternal.cpp index 5f2e707c4..028619182 100644 --- a/toolsrc/src/vcpkg/commands.buildexternal.cpp +++ b/toolsrc/src/vcpkg/commands.buildexternal.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/binarycaching.h> #include <vcpkg/build.h> #include <vcpkg/cmakevars.h> diff --git a/toolsrc/src/vcpkg/commands.cache.cpp b/toolsrc/src/vcpkg/commands.cache.cpp index 5c2de88b3..555b70859 100644 --- a/toolsrc/src/vcpkg/commands.cache.cpp +++ b/toolsrc/src/vcpkg/commands.cache.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index 04633903d..4dffcfd3c 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/cache.h> #include <vcpkg/base/files.h> #include <vcpkg/base/graphs.h> diff --git a/toolsrc/src/vcpkg/commands.ciclean.cpp b/toolsrc/src/vcpkg/commands.ciclean.cpp index 107c8119f..21ae756ed 100644 --- a/toolsrc/src/vcpkg/commands.ciclean.cpp +++ b/toolsrc/src/vcpkg/commands.ciclean.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/files.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/commands.contact.cpp b/toolsrc/src/vcpkg/commands.contact.cpp index b7ed9a941..2c8c7b1b2 100644 --- a/toolsrc/src/vcpkg/commands.contact.cpp +++ b/toolsrc/src/vcpkg/commands.contact.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/chrono.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp index 9c8950a9b..a455867ed 100644 --- a/toolsrc/src/vcpkg/commands.cpp +++ b/toolsrc/src/vcpkg/commands.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/build.h> diff --git a/toolsrc/src/vcpkg/commands.create.cpp b/toolsrc/src/vcpkg/commands.create.cpp index 8843a509d..a7cfbc931 100644 --- a/toolsrc/src/vcpkg/commands.create.cpp +++ b/toolsrc/src/vcpkg/commands.create.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/files.h> diff --git a/toolsrc/src/vcpkg/commands.dependinfo.cpp b/toolsrc/src/vcpkg/commands.dependinfo.cpp index 77a8c6c4e..0f1e431e5 100644 --- a/toolsrc/src/vcpkg/commands.dependinfo.cpp +++ b/toolsrc/src/vcpkg/commands.dependinfo.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/strings.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp index fb3b66883..b66e8c680 100644 --- a/toolsrc/src/vcpkg/commands.edit.cpp +++ b/toolsrc/src/vcpkg/commands.edit.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/strings.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp index f1d84571f..a82523060 100644 --- a/toolsrc/src/vcpkg/commands.env.cpp +++ b/toolsrc/src/vcpkg/commands.env.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/strings.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/commands.fetch.cpp b/toolsrc/src/vcpkg/commands.fetch.cpp index 6de20c0b0..ee809bb13 100644 --- a/toolsrc/src/vcpkg/commands.fetch.cpp +++ b/toolsrc/src/vcpkg/commands.fetch.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/commands.fetch.h> namespace vcpkg::Commands::Fetch diff --git a/toolsrc/src/vcpkg/commands.format-manifest.cpp b/toolsrc/src/vcpkg/commands.format-manifest.cpp index d0eced7ea..656e17996 100644 --- a/toolsrc/src/vcpkg/commands.format-manifest.cpp +++ b/toolsrc/src/vcpkg/commands.format-manifest.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/files.h> #include <vcpkg/base/json.h> diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp index 12ad1554d..d18173335 100644 --- a/toolsrc/src/vcpkg/commands.hash.cpp +++ b/toolsrc/src/vcpkg/commands.hash.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/hash.h> #include <vcpkg/commands.hash.h> diff --git a/toolsrc/src/vcpkg/commands.integrate.cpp b/toolsrc/src/vcpkg/commands.integrate.cpp index 0bb30cb85..17f3aa350 100644 --- a/toolsrc/src/vcpkg/commands.integrate.cpp +++ b/toolsrc/src/vcpkg/commands.integrate.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/expected.h> #include <vcpkg/base/files.h> diff --git a/toolsrc/src/vcpkg/commands.list.cpp b/toolsrc/src/vcpkg/commands.list.cpp index b271841f4..9385e4423 100644 --- a/toolsrc/src/vcpkg/commands.list.cpp +++ b/toolsrc/src/vcpkg/commands.list.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.list.h> diff --git a/toolsrc/src/vcpkg/commands.owns.cpp b/toolsrc/src/vcpkg/commands.owns.cpp index 0850b14c9..29cfe3a23 100644 --- a/toolsrc/src/vcpkg/commands.owns.cpp +++ b/toolsrc/src/vcpkg/commands.owns.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.owns.h> diff --git a/toolsrc/src/vcpkg/commands.porthistory.cpp b/toolsrc/src/vcpkg/commands.porthistory.cpp index c06517f3c..6b6217732 100644 --- a/toolsrc/src/vcpkg/commands.porthistory.cpp +++ b/toolsrc/src/vcpkg/commands.porthistory.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/commands.portsdiff.cpp b/toolsrc/src/vcpkg/commands.portsdiff.cpp index c4d1d2b1e..97e903769 100644 --- a/toolsrc/src/vcpkg/commands.portsdiff.cpp +++ b/toolsrc/src/vcpkg/commands.portsdiff.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/sortedvector.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/commands.search.cpp b/toolsrc/src/vcpkg/commands.search.cpp index 1a483a6e1..836acfffe 100644 --- a/toolsrc/src/vcpkg/commands.search.cpp +++ b/toolsrc/src/vcpkg/commands.search.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.search.h> diff --git a/toolsrc/src/vcpkg/commands.setinstalled.cpp b/toolsrc/src/vcpkg/commands.setinstalled.cpp index a99c3af4a..6ef5099dc 100644 --- a/toolsrc/src/vcpkg/commands.setinstalled.cpp +++ b/toolsrc/src/vcpkg/commands.setinstalled.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/binarycaching.h> diff --git a/toolsrc/src/vcpkg/commands.upgrade.cpp b/toolsrc/src/vcpkg/commands.upgrade.cpp index f3324f961..391192038 100644 --- a/toolsrc/src/vcpkg/commands.upgrade.cpp +++ b/toolsrc/src/vcpkg/commands.upgrade.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/commands.version.cpp b/toolsrc/src/vcpkg/commands.version.cpp index 2630a18dd..d366a42b8 100644 --- a/toolsrc/src/vcpkg/commands.version.cpp +++ b/toolsrc/src/vcpkg/commands.version.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.version.h> diff --git a/toolsrc/src/vcpkg/commands.xvsinstances.cpp b/toolsrc/src/vcpkg/commands.xvsinstances.cpp index 589ea73e7..4ad9744c9 100644 --- a/toolsrc/src/vcpkg/commands.xvsinstances.cpp +++ b/toolsrc/src/vcpkg/commands.xvsinstances.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.xvsinstances.h> diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index d4757cfcc..7774424de 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/graphs.h> #include <vcpkg/base/strings.h> diff --git a/toolsrc/src/vcpkg/export.chocolatey.cpp b/toolsrc/src/vcpkg/export.chocolatey.cpp index 40564ae13..096c99d89 100644 --- a/toolsrc/src/vcpkg/export.chocolatey.cpp +++ b/toolsrc/src/vcpkg/export.chocolatey.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> @@ -39,24 +37,24 @@ namespace vcpkg::Export::Chocolatey const std::map<std::string, std::string>& packages_version, const Options& chocolatey_options) { - static constexpr auto CONTENT_TEMPLATE = R"(<?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
- <metadata>
- <id>@PACKAGE_ID@</id>
- <version>@PACKAGE_VERSION@</version>
- <authors>@PACKAGE_MAINTAINER@</authors>
- <description><![CDATA[
- @PACKAGE_DESCRIPTION@
- ]]></description>
- <dependencies>
- @PACKAGE_DEPENDENCIES@
- </dependencies>
- </metadata>
- <files>
- <file src="@EXPORTED_ROOT_DIR@\installed\**" target="installed" />
- <file src="@EXPORTED_ROOT_DIR@\tools\**" target="tools" />
- </files>
-</package>
+ static constexpr auto CONTENT_TEMPLATE = R"(<?xml version="1.0" encoding="utf-8"?> +<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> + <metadata> + <id>@PACKAGE_ID@</id> + <version>@PACKAGE_VERSION@</version> + <authors>@PACKAGE_MAINTAINER@</authors> + <description><![CDATA[ + @PACKAGE_DESCRIPTION@ + ]]></description> + <dependencies> + @PACKAGE_DEPENDENCIES@ + </dependencies> + </metadata> + <files> + <file src="@EXPORTED_ROOT_DIR@\installed\**" target="installed" /> + <file src="@EXPORTED_ROOT_DIR@\tools\**" target="tools" /> + </files> +</package> )"; auto package_version = packages_version.find(binary_paragraph.spec.name()); if (package_version == packages_version.end()) @@ -81,68 +79,68 @@ namespace vcpkg::Export::Chocolatey static std::string create_chocolatey_install_contents() { - static constexpr auto CONTENT_TEMPLATE = R"###(
-$ErrorActionPreference = 'Stop';
-
-$packageName= $env:ChocolateyPackageName
-$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
-$rootDir = "$(Split-Path -parent $toolsDir)"
-$installedDir = Join-Path $rootDir 'installed'
-
-$whereToInstall = (pwd).path
-$whereToInstallCache = Join-Path $rootDir 'install.txt'
-Set-Content -Path $whereToInstallCache -Value $whereToInstall
-Copy-Item $installedDir -destination $whereToInstall -recurse -force
+ static constexpr auto CONTENT_TEMPLATE = R"###( +$ErrorActionPreference = 'Stop'; + +$packageName= $env:ChocolateyPackageName +$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" +$rootDir = "$(Split-Path -parent $toolsDir)" +$installedDir = Join-Path $rootDir 'installed' + +$whereToInstall = (pwd).path +$whereToInstallCache = Join-Path $rootDir 'install.txt' +Set-Content -Path $whereToInstallCache -Value $whereToInstall +Copy-Item $installedDir -destination $whereToInstall -recurse -force )###"; return CONTENT_TEMPLATE; } static std::string create_chocolatey_uninstall_contents(const BinaryParagraph& binary_paragraph) { - static constexpr auto CONTENT_TEMPLATE = R"###(
-$ErrorActionPreference = 'Stop';
-
-$packageName= $env:ChocolateyPackageName
-$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
-$rootDir = "$(Split-Path -parent $toolsDir)"
-$listFile = Join-Path $rootDir 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list'
-
-$whereToInstall = $null
-$whereToInstallCache = Join-Path $rootDir 'install.txt'
-Get-Content $whereToInstallCache | Foreach-Object {
- $whereToInstall = $_
-}
-
-$installedDir = Join-Path $whereToInstall 'installed'
-Get-Content $listFile | Foreach-Object {
- $fileToRemove = Join-Path $installedDir $_
- if (Test-Path $fileToRemove -PathType Leaf) {
- Remove-Item $fileToRemove
- }
-}
-
-Get-Content $listFile | Foreach-Object {
- $fileToRemove = Join-Path $installedDir $_
- if (Test-Path $fileToRemove -PathType Container) {
- $folderToDelete = Join-Path $fileToRemove *
- if (-Not (Test-Path $folderToDelete))
- {
- Remove-Item $fileToRemove
- }
- }
-}
-
-$listFileToRemove = Join-Path $whereToInstall 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list'
-Remove-Item $listFileToRemove
-
-if (Test-Path $installedDir)
-{
- while (
- $empties = Get-ChildItem $installedDir -recurse -Directory | Where-Object {
- $_.GetFiles().Count -eq 0 -and $_.GetDirectories().Count -eq 0
- }
- ) { $empties | Remove-Item }
-}
+ static constexpr auto CONTENT_TEMPLATE = R"###( +$ErrorActionPreference = 'Stop'; + +$packageName= $env:ChocolateyPackageName +$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" +$rootDir = "$(Split-Path -parent $toolsDir)" +$listFile = Join-Path $rootDir 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list' + +$whereToInstall = $null +$whereToInstallCache = Join-Path $rootDir 'install.txt' +Get-Content $whereToInstallCache | Foreach-Object { + $whereToInstall = $_ +} + +$installedDir = Join-Path $whereToInstall 'installed' +Get-Content $listFile | Foreach-Object { + $fileToRemove = Join-Path $installedDir $_ + if (Test-Path $fileToRemove -PathType Leaf) { + Remove-Item $fileToRemove + } +} + +Get-Content $listFile | Foreach-Object { + $fileToRemove = Join-Path $installedDir $_ + if (Test-Path $fileToRemove -PathType Container) { + $folderToDelete = Join-Path $fileToRemove * + if (-Not (Test-Path $folderToDelete)) + { + Remove-Item $fileToRemove + } + } +} + +$listFileToRemove = Join-Path $whereToInstall 'installed\vcpkg\info\@PACKAGE_FULLSTEM@.list' +Remove-Item $listFileToRemove + +if (Test-Path $installedDir) +{ + while ( + $empties = Get-ChildItem $installedDir -recurse -Directory | Where-Object { + $_.GetFiles().Count -eq 0 -and $_.GetDirectories().Count -eq 0 + } + ) { $empties | Remove-Item } +} )###"; std::string chocolatey_uninstall_content = Strings::replace_all(CONTENT_TEMPLATE, "@PACKAGE_FULLSTEM@", binary_paragraph.fullstem()); diff --git a/toolsrc/src/vcpkg/export.cpp b/toolsrc/src/vcpkg/export.cpp index a124345a7..39cb9328f 100644 --- a/toolsrc/src/vcpkg/export.cpp +++ b/toolsrc/src/vcpkg/export.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/stringliteral.h> #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/export.ifw.cpp b/toolsrc/src/vcpkg/export.ifw.cpp index 8356313cf..512e119b0 100644 --- a/toolsrc/src/vcpkg/export.ifw.cpp +++ b/toolsrc/src/vcpkg/export.ifw.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/system.process.h> diff --git a/toolsrc/src/vcpkg/export.prefab.cpp b/toolsrc/src/vcpkg/export.prefab.cpp index 7dd516ac5..630e20f72 100644 --- a/toolsrc/src/vcpkg/export.prefab.cpp +++ b/toolsrc/src/vcpkg/export.prefab.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/files.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/globalstate.cpp b/toolsrc/src/vcpkg/globalstate.cpp index 037232f11..b07690bbd 100644 --- a/toolsrc/src/vcpkg/globalstate.cpp +++ b/toolsrc/src/vcpkg/globalstate.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/globalstate.h> namespace vcpkg diff --git a/toolsrc/src/vcpkg/help.cpp b/toolsrc/src/vcpkg/help.cpp index 856ea5623..1719e5f6c 100644 --- a/toolsrc/src/vcpkg/help.cpp +++ b/toolsrc/src/vcpkg/help.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/binarycaching.h> diff --git a/toolsrc/src/vcpkg/input.cpp b/toolsrc/src/vcpkg/input.cpp index f9184983c..b82dc44fb 100644 --- a/toolsrc/src/vcpkg/input.cpp +++ b/toolsrc/src/vcpkg/input.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.h> diff --git a/toolsrc/src/vcpkg/install.cpp b/toolsrc/src/vcpkg/install.cpp index 5cadbd786..ba0285e20 100644 --- a/toolsrc/src/vcpkg/install.cpp +++ b/toolsrc/src/vcpkg/install.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/hash.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/metrics.cpp b/toolsrc/src/vcpkg/metrics.cpp index 49c4f0d0c..79a33a0d7 100644 --- a/toolsrc/src/vcpkg/metrics.cpp +++ b/toolsrc/src/vcpkg/metrics.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/chrono.h> #include <vcpkg/base/files.h> #include <vcpkg/base/hash.h> diff --git a/toolsrc/src/vcpkg/packagespec.cpp b/toolsrc/src/vcpkg/packagespec.cpp index c9b6091b8..0feb8412a 100644 --- a/toolsrc/src/vcpkg/packagespec.cpp +++ b/toolsrc/src/vcpkg/packagespec.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/parse.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/paragraphparseresult.cpp b/toolsrc/src/vcpkg/paragraphparseresult.cpp index 8bd5c0d7a..1565cbe6a 100644 --- a/toolsrc/src/vcpkg/paragraphparseresult.cpp +++ b/toolsrc/src/vcpkg/paragraphparseresult.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/paragraphparseresult.h> diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp index 20a82ee0c..414c464d0 100644 --- a/toolsrc/src/vcpkg/paragraphs.cpp +++ b/toolsrc/src/vcpkg/paragraphs.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/parse.h> #include <vcpkg/base/system.debug.h> diff --git a/toolsrc/src/vcpkg/platform-expression.cpp b/toolsrc/src/vcpkg/platform-expression.cpp index 03bc81367..3490dbbe2 100644 --- a/toolsrc/src/vcpkg/platform-expression.cpp +++ b/toolsrc/src/vcpkg/platform-expression.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/parse.h> #include <vcpkg/base/strings.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/portfileprovider.cpp b/toolsrc/src/vcpkg/portfileprovider.cpp index c0538fdb8..a5806eb83 100644 --- a/toolsrc/src/vcpkg/portfileprovider.cpp +++ b/toolsrc/src/vcpkg/portfileprovider.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.debug.h> #include <vcpkg/paragraphs.h> diff --git a/toolsrc/src/vcpkg/postbuildlint.buildtype.cpp b/toolsrc/src/vcpkg/postbuildlint.buildtype.cpp index e9215ed8c..182625b78 100644 --- a/toolsrc/src/vcpkg/postbuildlint.buildtype.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.buildtype.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/postbuildlint.buildtype.h> diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index f70876c2e..a384cea0a 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/cofffilereader.h> #include <vcpkg/base/files.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index 8f6a99262..0d5b84280 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp index 7bd560c8a..a336db7d1 100644 --- a/toolsrc/src/vcpkg/sourceparagraph.cpp +++ b/toolsrc/src/vcpkg/sourceparagraph.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/expected.h> #include <vcpkg/base/span.h> diff --git a/toolsrc/src/vcpkg/statusparagraph.cpp b/toolsrc/src/vcpkg/statusparagraph.cpp index 398129a04..ba4b6f9bd 100644 --- a/toolsrc/src/vcpkg/statusparagraph.cpp +++ b/toolsrc/src/vcpkg/statusparagraph.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/util.h> #include <vcpkg/statusparagraph.h> diff --git a/toolsrc/src/vcpkg/statusparagraphs.cpp b/toolsrc/src/vcpkg/statusparagraphs.cpp index d282a5ccb..d42174289 100644 --- a/toolsrc/src/vcpkg/statusparagraphs.cpp +++ b/toolsrc/src/vcpkg/statusparagraphs.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/statusparagraphs.h> diff --git a/toolsrc/src/vcpkg/tools.cpp b/toolsrc/src/vcpkg/tools.cpp index 0d3f61757..1d5a682c6 100644 --- a/toolsrc/src/vcpkg/tools.cpp +++ b/toolsrc/src/vcpkg/tools.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/checks.h> #include <vcpkg/base/downloads.h> #include <vcpkg/base/files.h> diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp index f9438c00a..789943237 100644 --- a/toolsrc/src/vcpkg/triplet.cpp +++ b/toolsrc/src/vcpkg/triplet.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/strings.h> #include <vcpkg/triplet.h> diff --git a/toolsrc/src/vcpkg/update.cpp b/toolsrc/src/vcpkg/update.cpp index 4c99c6f48..48471e26c 100644 --- a/toolsrc/src/vcpkg/update.cpp +++ b/toolsrc/src/vcpkg/update.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.print.h> #include <vcpkg/commands.h> diff --git a/toolsrc/src/vcpkg/userconfig.cpp b/toolsrc/src/vcpkg/userconfig.cpp index 32588b2bb..5236a3c3b 100644 --- a/toolsrc/src/vcpkg/userconfig.cpp +++ b/toolsrc/src/vcpkg/userconfig.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/lazy.h> #include <vcpkg/base/system.h> diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp index e1cc3e741..7354dbae2 100644 --- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp +++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/system.debug.h> #include <vcpkg/base/system.print.h> diff --git a/toolsrc/src/vcpkg/vcpkglib.cpp b/toolsrc/src/vcpkg/vcpkglib.cpp index ce9c62734..801e39541 100644 --- a/toolsrc/src/vcpkg/vcpkglib.cpp +++ b/toolsrc/src/vcpkg/vcpkglib.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/files.h> #include <vcpkg/base/strings.h> #include <vcpkg/base/util.h> diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index 4837c4b71..2448d525d 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/expected.h> #include <vcpkg/base/files.h> #include <vcpkg/base/hash.h> diff --git a/toolsrc/src/vcpkg/versiont.cpp b/toolsrc/src/vcpkg/versiont.cpp index b3e5b2590..c419745c2 100644 --- a/toolsrc/src/vcpkg/versiont.cpp +++ b/toolsrc/src/vcpkg/versiont.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #include <vcpkg/base/strings.h> #include <vcpkg/versiont.h> diff --git a/toolsrc/src/vcpkg/visualstudio.cpp b/toolsrc/src/vcpkg/visualstudio.cpp index a9a5d5565..023844d0b 100644 --- a/toolsrc/src/vcpkg/visualstudio.cpp +++ b/toolsrc/src/vcpkg/visualstudio.cpp @@ -1,5 +1,3 @@ -#include "pch.h" - #if defined(_WIN32) #include <vcpkg/base/sortedvector.h> diff --git a/toolsrc/windows-bootstrap/vcpkglib/vcpkglib.vcxproj b/toolsrc/windows-bootstrap/vcpkglib/vcpkglib.vcxproj index cd98c2256..2c980039e 100644 --- a/toolsrc/windows-bootstrap/vcpkglib/vcpkglib.vcxproj +++ b/toolsrc/windows-bootstrap/vcpkglib/vcpkglib.vcxproj @@ -83,6 +83,7 @@ <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
</ItemDefinitionGroup>
@@ -97,6 +98,7 @@ <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
</ItemDefinitionGroup>
@@ -113,6 +115,7 @@ <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -132,6 +135,7 @@ <MultiProcessorCompilation>true</MultiProcessorCompilation>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
