diff options
| author | Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> | 2019-08-21 12:00:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-21 12:00:35 +0200 |
| commit | 18d61a3fb140ac1f4d9d605e02fdd614e1c2ff14 (patch) | |
| tree | ef87d17ad7f6648a47c3367bf2acca5197a107dd /scripts/cmake | |
| parent | 70f4aabbe8bf5273e11a03f804d4361354cf0a11 (diff) | |
| parent | e5bf7eae99f3be342bfdd7a3c999daba62d4436a (diff) | |
| download | vcpkg-18d61a3fb140ac1f4d9d605e02fdd614e1c2ff14.tar.gz vcpkg-18d61a3fb140ac1f4d9d605e02fdd614e1c2ff14.zip | |
Merge branch 'master' into path_separator
Diffstat (limited to 'scripts/cmake')
| -rw-r--r-- | scripts/cmake/vcpkg_common_definitions.cmake | 128 | ||||
| -rw-r--r-- | scripts/cmake/vcpkg_find_acquire_program.cmake | 24 |
2 files changed, 87 insertions, 65 deletions
diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index ec444c858..108ceaac6 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -1,62 +1,66 @@ -## # vcpkg_common_definitions
-##
-## File contains helpful variabls for portfiles which are commonly needed or used.
-##
-## ## The following variables are available:
-## ```cmake
-## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target>
-## VCPKG_HOST_PATH_SEPARATOR Host specific path separator
-## VCPKG_HOST_PATH_SEPARATOR_ESCAPED Escaped version of VCPKG_HOST_PATH_SEPARATOR if necessary (e.g. symbol with special meaning in cmake like ";")
-## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX)
-## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX)
-## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX)
-## ```
-##
-## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that
-## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports.
-##
-
-#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname>
-if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(VCPKG_TARGET_IS_WINDOWS 1)
- if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
- set(VCPKG_TARGET_IS_UWP 1)
- endif()
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(VCPKG_TARGET_IS_OSX 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set(VCPKG_TARGET_IS_LINUX 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android")
- set(VCPKG_TARGET_IS_ANDROID 1)
-elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
- set(VCPKG_TARGET_IS_FREEBSD 1)
-endif()
-
-#Helper variable to identify the host path separator.
-if(CMAKE_HOST_WIN32)
- set(VCPKG_HOST_PATH_SEPARATOR ";")
- set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED "\\;") #sometimes needed to differentiate between the cmake list separator
-elseif(CMAKE_HOST_UNIX)
- set(VCPKG_HOST_PATH_SEPARATOR ":")
- set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED ":")
-endif()
-
-#Helper variables for libraries
-if(VCPKG_TARGET_IS_WINDOWS)
- set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib")
- set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll")
- set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "")
- set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "")
-else()
- set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a")
- set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so")
- set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib")
- set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib")
-endif()
-#Setting these variables allows find_library to work in script mode and thus in portfiles!
-#This allows us scale down on hardcoded target dependent paths in portfiles
-set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX})
-set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX})
-set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX})
-set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX})
+## # vcpkg_common_definitions +## +## File contains helpful variabls for portfiles which are commonly needed or used. +## +## ## The following variables are available: +## ```cmake +## VCPKG_TARGET_IS_<target> with <target> being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if <target> +## VCPKG_HOST_PATH_SEPARATOR Host specific path separator +## VCPKG_HOST_PATH_SEPARATOR_ESCAPED Escaped version of VCPKG_HOST_PATH_SEPARATOR if necessary (e.g. symbol with special meaning in cmake like ";") +## VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) +## VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX) +## VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX) +## VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX) +## ``` +## +## CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that +## portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. +## + +#Helper variable to identify the Target system. VCPKG_TARGET_IS_<targetname> +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_WINDOWS 1) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_UWP 1) + endif() +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_TARGET_IS_OSX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(VCPKG_TARGET_IS_LINUX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") + set(VCPKG_TARGET_IS_ANDROID 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + set(VCPKG_TARGET_IS_FREEBSD 1) +endif() + +#Helper variable to identify the host path separator. +if(CMAKE_HOST_WIN32) + set(VCPKG_HOST_PATH_SEPARATOR ";") + set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED "\\;") #sometimes needed to differentiate between the cmake list separator +elseif(CMAKE_HOST_UNIX) + set(VCPKG_HOST_PATH_SEPARATOR ":") + set(VCPKG_HOST_PATH_SEPARATOR_ESCAPED ":") +endif() + +#Helper variables for libraries +if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "") +else() + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") +endif() +#Setting these variables allows find_library to work in script mode and thus in portfiles! +#This allows us scale down on hardcoded target dependent paths in portfiles +set(CMAKE_STATIC_LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) +set(CMAKE_SHARED_LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) +set(CMAKE_STATIC_LIBRARY_PREFIX ${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}) +set(CMAKE_SHARED_LIBRARY_PREFIX ${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}) +set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX};${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "") # Required by find_library +set(CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_STATIC_LIBRARY_PREFIX};${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "") # Required by find_library + + diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 84ebdbfa8..fed016c7b 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -45,6 +45,7 @@ function(vcpkg_find_acquire_program VAR) unset(_vfa_RENAME) unset(SUBDIR) unset(REQUIRED_INTERPRETER) + unset(_vfa_SUPPORTED) unset(POST_INSTALL_COMMAND) vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS) @@ -231,6 +232,23 @@ function(vcpkg_find_acquire_program VAR) set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip") set(ARCHIVE "doxygen-1.8.15.windows.bin.zip") set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c) + elseif(VAR MATCHES "BAZEL") + set(PROGNAME bazel) + set(BAZEL_VERSION 0.25.2) + set(SUBDIR ${BAZEL_VERSION}) + set(PATHS ${DOWNLOADS}/tools/bazel/${SUBDIR}) + set(_vfa_RENAME "bazel") + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + set(_vfa_SUPPORTED ON) + set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-linux-x86_64") + set(ARCHIVE "bazel-${BAZEL_VERSION}-linux-x86_64") + set(NOEXTRACT ON) + set(HASH db4a583cf2996aeb29fd008261b12fe39a4a5faf0fbf96f7124e6d3ffeccf6d9655d391378e68dd0915bc91c9e146a51fd9661963743857ca25179547feceab1) + else() + set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-windows-x86_64.zip") + set(ARCHIVE "bazel-${BAZEL_VERSION}-windows-x86_64.zip") + set(HASH 6482f99a0896f55ef65739e7b53452fd9c0adf597b599d0022a5e0c5fa4374f4a958d46f98e8ba25af4b065adacc578bfedced483d8c169ea5cb1777a99eea53) + endif() # Download Tools elseif(VAR MATCHES "ARIA2") set(PROGNAME aria2c) @@ -254,7 +272,7 @@ function(vcpkg_find_acquire_program VAR) do_find() if("${${VAR}}" MATCHES "-NOTFOUND") - if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND NOT _vfa_SUPPORTED) set(EXAMPLE ".") if(DEFINED BREW_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(EXAMPLE ":\n brew install ${BREW_PACKAGE_NAME}") @@ -274,9 +292,9 @@ function(vcpkg_find_acquire_program VAR) file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR}) if(DEFINED NOEXTRACT) if(DEFINED _vfa_RENAME) - file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME}) + file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) else() - file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR}) + file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() else() get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT) |
