aboutsummaryrefslogtreecommitdiff
path: root/scripts/cmake
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-03-06 10:07:39 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-03-11 23:42:53 -0700
commitf56a5e4e94a1151bc09f073b3597ff3b40e9d4b8 (patch)
tree3e87e165868af7b94334d995bc85e8ff91f1304b /scripts/cmake
parentad7fa55bb004571bc7d2aad337dda978fe4d2bac (diff)
downloadvcpkg-f56a5e4e94a1151bc09f073b3597ff3b40e9d4b8.tar.gz
vcpkg-f56a5e4e94a1151bc09f073b3597ff3b40e9d4b8.zip
[vcpkg] Improve defaults for other platforms
Diffstat (limited to 'scripts/cmake')
-rw-r--r--scripts/cmake/vcpkg_configure_cmake.cmake6
-rw-r--r--scripts/cmake/vcpkg_find_acquire_program.cmake12
2 files changed, 18 insertions, 0 deletions
diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake
index aa549903b..951b6443f 100644
--- a/scripts/cmake/vcpkg_configure_cmake.cmake
+++ b/scripts/cmake/vcpkg_configure_cmake.cmake
@@ -154,6 +154,12 @@ function(vcpkg_configure_cmake)
list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}")
elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME)
list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/windows.cmake")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/linux.cmake")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
+ list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/android.cmake")
+ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/osx.cmake")
endif()
list(APPEND _csc_OPTIONS
diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake
index b24345021..21d7ecd8f 100644
--- a/scripts/cmake/vcpkg_find_acquire_program.cmake
+++ b/scripts/cmake/vcpkg_find_acquire_program.cmake
@@ -106,6 +106,8 @@ function(vcpkg_find_acquire_program VAR)
set(PROGNAME ninja)
set(SUBDIR "ninja-1.8.2")
set(PATHS ${DOWNLOADS}/tools/ninja/${SUBDIR})
+ set(BREW_PACKAGE_NAME "ninja")
+ set(APT_PACKAGE_NAME "ninja-build")
set(URL "https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip")
set(ARCHIVE "ninja-1.8.2-win.zip")
set(HASH 9b9ce248240665fcd6404b989f3b3c27ed9682838225e6dc9b67b551774f251e4ff8a207504f941e7c811e7a8be1945e7bcb94472a335ef15e23a0200a32e6d5)
@@ -181,6 +183,16 @@ function(vcpkg_find_acquire_program VAR)
do_find()
if("${${VAR}}" MATCHES "-NOTFOUND")
+ if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
+ set(EXAMPLE ".")
+ if(DEFINED BREW_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+ set(EXAMPLE ":\n brew install ${BREW_PACKAGE_NAME}")
+ elseif(DEFINED APT_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
+ set(EXAMPLE ":\n sudo apt-get install ${APT_PACKAGE_NAME}")
+ endif()
+ message(FATAL_ERROR "Could not find ${PROGNAME}. Please install it via your package manager${EXAMPLE}")
+ endif()
+
vcpkg_download_distfile(ARCHIVE_PATH
URLS ${URL}
SHA512 ${HASH}