From 8cee9c6e07556b109fa69c15056ec6764e70ee84 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Thu, 22 Sep 2016 21:30:58 +0200 Subject: Replaced everything concerning MD5 with SHA512 --- scripts/cmake/vcpkg_download_distfile.cmake | 12 ++++++------ scripts/cmake/vcpkg_find_acquire_program.cmake | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 7c36f5d97..3145c8851 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -1,20 +1,20 @@ -# Usage: vcpkg_download_distfile( URL FILENAME MD5 <5981de...>) +# Usage: vcpkg_download_distfile( URL FILENAME SHA512 <5981de...>) function(vcpkg_download_distfile VAR) - set(oneValueArgs URL FILENAME MD5) + set(oneValueArgs URL FILENAME SHA512) cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "" ${ARGN}) if(EXISTS ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) message(STATUS "Using cached ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}") - file(MD5 ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} FILE_HASH) - if(NOT FILE_HASH MATCHES ${vcpkg_download_distfile_MD5}) + file(SHA512 ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} FILE_HASH) + if(NOT FILE_HASH STREQUAL "${vcpkg_download_distfile_SHA512}") message(FATAL_ERROR "File does not have expected hash: ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}\n" - " ${FILE_HASH} <> ${vcpkg_download_distfile_MD5}\n" + " '${FILE_HASH}' <> '${vcpkg_download_distfile_SHA512}'\n" "Please delete the file and try again if this file should be downloaded again.") endif() else() message(STATUS "Downloading ${vcpkg_download_distfile_URL}") - file(DOWNLOAD ${vcpkg_download_distfile_URL} ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} EXPECTED_HASH MD5=${vcpkg_download_distfile_MD5}) + file(DOWNLOAD ${vcpkg_download_distfile_URL} ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} EXPECTED_HASH SHA512=${vcpkg_download_distfile_SHA512}) endif() set(${VAR} ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index ce2cdaa26..8f974240f 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -10,20 +10,20 @@ function(vcpkg_find_acquire_program VAR) set(PATHS ${DOWNLOADS}/tools/perl/perl/bin) set(URL "http://strawberryperl.com/download/5.20.2.1/strawberry-perl-5.20.2.1-64bit-portable.zip") set(ARCHIVE "strawberry-perl-5.20.2.1-64bit-portable.zip") - set(HASH 5fca4b3cfa7c9cc95e0c4fd8652eba80) + set(HASH 6e14e5580e52da5d35f29b67a52ef9db0e021af1575b4bbd84ebdbf18580522287890bdc21c0d21ddc1b2529d888f8e159dcaa017a3ff06d8fd23d16901bcc8b) elseif(VAR MATCHES "NASM") set(PROGNAME nasm) set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.11.08) set(URL "http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/win32/nasm-2.11.08-win32.zip") set(ARCHIVE "nasm-2.11.08-win32.zip") - set(HASH 46a31e22be69637f7a9ccba12874133f) + set(HASH cd80b540530d3995d15dc636e97673f1d34f471baadf1dac993165232c61efefe7f8ec10625f8f718fc89f0dd3dcb6a4595e0cf40c5fd7cbac1b71672b644d2d) elseif(VAR MATCHES "YASM") set(PROGNAME yasm) set(PATHS ${DOWNLOADS}/tools/yasm) set(URL "http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe") set(ARCHIVE "yasm.exe") set(NOEXTRACT ON) - set(HASH 51e967dceddd1f84e67bff255df977b3) + set(HASH 850b26be5bbbdaeaf45ac39dd27f69f1a85e600c35afbd16b9f621396b3c7a19863ea3ff316b025b578fce0a8280eef2203306a2b3e46ee1389abb65313fb720) else() message(FATAL "unknown tool ${VAR} -- unable to acquire.") endif() @@ -31,7 +31,7 @@ function(vcpkg_find_acquire_program VAR) find_program(${VAR} ${PROGNAME} PATHS ${PATHS}) if(${VAR} MATCHES "-NOTFOUND") file(DOWNLOAD ${URL} ${DOWNLOADS}/${ARCHIVE} - EXPECTED_MD5 ${HASH} + EXPECTED_HASH SHA512=${HASH} SHOW_PROGRESS ) file(MAKE_DIRECTORY ${DOWNLOADS}/tools/${PROGNAME}) -- cgit v1.2.3 From add26b7b5f3bc76b709aaf66eb5d35a6c74aa0e4 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sat, 24 Sep 2016 15:23:18 +0200 Subject: Updated vcpkg_download_distfile.cmake to handle MIRRORS. Also updated the HASH errors to match the CMake formatting (easier to read) --- scripts/cmake/vcpkg_download_distfile.cmake | 61 +++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 12 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 3145c8851..a394642a2 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -1,20 +1,57 @@ -# Usage: vcpkg_download_distfile( URL FILENAME SHA512 <5981de...>) +# Usage: vcpkg_download_distfile( URL FILENAME SHA512 <5981de...> MIRRORS ) function(vcpkg_download_distfile VAR) set(oneValueArgs URL FILENAME SHA512) - cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "" ${ARGN}) + set(multipleValuesArgs MIRRORS) + cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) - if(EXISTS ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) - message(STATUS "Using cached ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}") - file(SHA512 ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} FILE_HASH) - if(NOT FILE_HASH STREQUAL "${vcpkg_download_distfile_SHA512}") + set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) + if(EXISTS ${downloaded_file_path}) + message(STATUS "Using cached ${downloaded_file_path}") + file(SHA512 ${downloaded_file_path} FILE_HASH) + if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") message(FATAL_ERROR - "File does not have expected hash: ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}\n" - " '${FILE_HASH}' <> '${vcpkg_download_distfile_SHA512}'\n" - "Please delete the file and try again if this file should be downloaded again.") + "\nFile does not have expected hash:\n" + " File path: [${downloaded_file_path}]\n" + " Expected hash: [${vcpkg_download_distfile_SHA512}]\n" + " Actual hash: [${FILE_HASH}]\n" + "Please delete the file and try again if this file should be downloaded again.\n") endif() else() - message(STATUS "Downloading ${vcpkg_download_distfile_URL}") - file(DOWNLOAD ${vcpkg_download_distfile_URL} ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} EXPECTED_HASH SHA512=${vcpkg_download_distfile_SHA512}) + # Tries to download the file. + list(INSERT vcpkg_download_distfile_MIRRORS 0 ${vcpkg_download_distfile_URL}) + foreach(url IN LISTS vcpkg_download_distfile_MIRRORS) + message(STATUS "Downloading ${url}...") + file(DOWNLOAD ${url} ${downloaded_file_path} STATUS download_status) + list(GET download_status 0 status_code) + if (NOT "${status_code}" STREQUAL "0") + message(STATUS "Downloading ${url}... Failed") + file(REMOVE ${downloaded_file_path}) + set(download_success 0) + else() + message(STATUS "Downloading ${url}... OK") + set(download_success 1) + break() + endif() + endforeach(url) + + if (NOT ${download_success}) + message(FATAL_ERROR + "\n" + " Failed to download file.\n" + " Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues/new\n") + else() + message(STATUS "Testing integrity of downloaded file...") + file(SHA512 ${downloaded_file_path} FILE_HASH) + if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") + message(FATAL_ERROR + "\nFile does not have expected hash:\n" + " File path: [${downloaded_file_path}]\n" + " Expected hash: [${vcpkg_download_distfile_SHA512}]\n" + " Actual hash: [${FILE_HASH}]\n" + "The file may be corrupted.\n") + endif() + message(STATUS "Testing integrity of downloaded file... OK") + endif() endif() - set(${VAR} ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME} PARENT_SCOPE) + set(${VAR} ${downloaded_file_path} PARENT_SCOPE) endfunction() -- cgit v1.2.3 From 930d0a7dedbcd3996a490eea5e061a00aca552d4 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sun, 25 Sep 2016 00:23:04 +0200 Subject: URL and MIRRORS are now URLS Updated all portfiles accordingly. --- scripts/cmake/vcpkg_download_distfile.cmake | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index a394642a2..602790190 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -1,7 +1,7 @@ -# Usage: vcpkg_download_distfile( URL FILENAME SHA512 <5981de...> MIRRORS ) +# Usage: vcpkg_download_distfile( URLS FILENAME SHA512 <5981de...>) function(vcpkg_download_distfile VAR) - set(oneValueArgs URL FILENAME SHA512) - set(multipleValuesArgs MIRRORS) + set(oneValueArgs FILENAME SHA512) + set(multipleValuesArgs URLS) cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) @@ -18,8 +18,7 @@ function(vcpkg_download_distfile VAR) endif() else() # Tries to download the file. - list(INSERT vcpkg_download_distfile_MIRRORS 0 ${vcpkg_download_distfile_URL}) - foreach(url IN LISTS vcpkg_download_distfile_MIRRORS) + foreach(url IN LISTS vcpkg_download_distfile_URLS) message(STATUS "Downloading ${url}...") file(DOWNLOAD ${url} ${downloaded_file_path} STATUS download_status) list(GET download_status 0 status_code) -- cgit v1.2.3 From 62d9473412bff2203f1e0aaa63c9e5dc67b364b2 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sun, 25 Sep 2016 00:24:38 +0200 Subject: Added spaces between brackets for double clicking --- scripts/cmake/vcpkg_download_distfile.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 602790190..0429bf853 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -11,9 +11,9 @@ function(vcpkg_download_distfile VAR) if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") message(FATAL_ERROR "\nFile does not have expected hash:\n" - " File path: [${downloaded_file_path}]\n" - " Expected hash: [${vcpkg_download_distfile_SHA512}]\n" - " Actual hash: [${FILE_HASH}]\n" + " File path: [ ${downloaded_file_path} ]\n" + " Expected hash: [ ${vcpkg_download_distfile_SHA512} ]\n" + " Actual hash: [ ${FILE_HASH} ]\n" "Please delete the file and try again if this file should be downloaded again.\n") endif() else() @@ -44,9 +44,9 @@ function(vcpkg_download_distfile VAR) if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") message(FATAL_ERROR "\nFile does not have expected hash:\n" - " File path: [${downloaded_file_path}]\n" - " Expected hash: [${vcpkg_download_distfile_SHA512}]\n" - " Actual hash: [${FILE_HASH}]\n" + " File path: [ ${downloaded_file_path} ]\n" + " Expected hash: [ ${vcpkg_download_distfile_SHA512} ]\n" + " Actual hash: [ ${FILE_HASH} ]\n" "The file may be corrupted.\n") endif() message(STATUS "Testing integrity of downloaded file... OK") -- cgit v1.2.3 From 51da39c1ed3debfe1a4fb45eaa65b181555da841 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sun, 25 Sep 2016 00:25:40 +0200 Subject: Display status on download error --- scripts/cmake/vcpkg_download_distfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 0429bf853..4d6019160 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -23,7 +23,7 @@ function(vcpkg_download_distfile VAR) file(DOWNLOAD ${url} ${downloaded_file_path} STATUS download_status) list(GET download_status 0 status_code) if (NOT "${status_code}" STREQUAL "0") - message(STATUS "Downloading ${url}... Failed") + message(STATUS "Downloading ${url}... Failed. Status: ${download_status}") file(REMOVE ${downloaded_file_path}) set(download_success 0) else() -- cgit v1.2.3 From c55c9df2285f0c66f054cb4591248501ba3e70fd Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sun, 25 Sep 2016 00:26:05 +0200 Subject: Link to "issues" instead of "new issue" --- scripts/cmake/vcpkg_download_distfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 4d6019160..a2f13cd42 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -37,7 +37,7 @@ function(vcpkg_download_distfile VAR) message(FATAL_ERROR "\n" " Failed to download file.\n" - " Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues/new\n") + " Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues\n") else() message(STATUS "Testing integrity of downloaded file...") file(SHA512 ${downloaded_file_path} FILE_HASH) -- cgit v1.2.3 From 586c96e1b13c1bd4f7b5db483568cc5743a7a519 Mon Sep 17 00:00:00 2001 From: Ninetainedo Date: Sun, 25 Sep 2016 00:36:50 +0200 Subject: Used a function to check file integrity --- scripts/cmake/vcpkg_download_distfile.cmake | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index a2f13cd42..44b562573 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -3,10 +3,10 @@ function(vcpkg_download_distfile VAR) set(oneValueArgs FILENAME SHA512) set(multipleValuesArgs URLS) cmake_parse_arguments(vcpkg_download_distfile "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) - set(downloaded_file_path ${DOWNLOADS}/${vcpkg_download_distfile_FILENAME}) - if(EXISTS ${downloaded_file_path}) - message(STATUS "Using cached ${downloaded_file_path}") + + function(test_hash FILE_KIND CUSTOM_ERROR_ADVICE) + message(STATUS "Testing integrity of ${FILE_KIND}...") file(SHA512 ${downloaded_file_path} FILE_HASH) if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") message(FATAL_ERROR @@ -14,8 +14,14 @@ function(vcpkg_download_distfile VAR) " File path: [ ${downloaded_file_path} ]\n" " Expected hash: [ ${vcpkg_download_distfile_SHA512} ]\n" " Actual hash: [ ${FILE_HASH} ]\n" - "Please delete the file and try again if this file should be downloaded again.\n") + "${CUSTOM_ERROR_ADVICE}\n") endif() + message(STATUS "Testing integrity of ${FILE_KIND}... OK") + endfunction() + + if(EXISTS ${downloaded_file_path}) + message(STATUS "Using cached ${downloaded_file_path}") + test_hash("cached file" "Please delete the file and retry if this file should be downloaded again.") else() # Tries to download the file. foreach(url IN LISTS vcpkg_download_distfile_URLS) @@ -39,17 +45,7 @@ function(vcpkg_download_distfile VAR) " Failed to download file.\n" " Add mirrors or submit an issue at https://github.com/Microsoft/vcpkg/issues\n") else() - message(STATUS "Testing integrity of downloaded file...") - file(SHA512 ${downloaded_file_path} FILE_HASH) - if(NOT "${FILE_HASH}" STREQUAL "${vcpkg_download_distfile_SHA512}") - message(FATAL_ERROR - "\nFile does not have expected hash:\n" - " File path: [ ${downloaded_file_path} ]\n" - " Expected hash: [ ${vcpkg_download_distfile_SHA512} ]\n" - " Actual hash: [ ${FILE_HASH} ]\n" - "The file may be corrupted.\n") - endif() - message(STATUS "Testing integrity of downloaded file... OK") + test_hash("downloaded file" "The file may be corrupted.") endif() endif() set(${VAR} ${downloaded_file_path} PARENT_SCOPE) -- cgit v1.2.3 From 288bdf367aafce7d15d2e02836736cbecdb2e4e9 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Tue, 27 Sep 2016 15:50:11 -0700 Subject: [vcpkg] Enable multicore builds by default. --- scripts/cmake/vcpkg_build_cmake.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index 33990d9b0..8ba4b9fae 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -1,7 +1,7 @@ function(vcpkg_build_cmake) message(STATUS "Build ${TARGET_TRIPLET}-rel") vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} --build . --config Release -- /p:VCPkgLocalAppDataDisabled=true + COMMAND ${CMAKE_COMMAND} --build . --config Release -- /p:VCPkgLocalAppDataDisabled=true /m WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME build-${TARGET_TRIPLET}-rel ) @@ -9,7 +9,7 @@ function(vcpkg_build_cmake) message(STATUS "Build ${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( - COMMAND ${CMAKE_COMMAND} --build . --config Debug -- /p:VCPkgLocalAppDataDisabled=true + COMMAND ${CMAKE_COMMAND} --build . --config Debug -- /p:VCPkgLocalAppDataDisabled=true /m WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg LOGNAME build-${TARGET_TRIPLET}-dbg ) -- cgit v1.2.3 From d9aba9f0fe217b53603b6643c268b5ee6b090267 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Thu, 29 Sep 2016 08:27:12 -0700 Subject: [vcpkg] Add extract destination argument to vcpkg_extract_source_archive --- scripts/cmake/vcpkg_extract_source_archive.cmake | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index 7e4efde07..70c9fe06b 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -1,16 +1,22 @@ include(vcpkg_execute_required_process) function(vcpkg_extract_source_archive ARCHIVE) + if(NOT ARGC EQUAL 2) + set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) + else() + set(WORKING_DIRECTORY ${ARGV1}) + endif() + get_filename_component(ARCHIVE_FILENAME ${ARCHIVE} NAME) - if(NOT EXISTS ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted) + if(NOT EXISTS ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted) message(STATUS "Extracting source ${ARCHIVE}") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) + file(MAKE_DIRECTORY ${WORKING_DIRECTORY}) vcpkg_execute_required_process( COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src + WORKING_DIRECTORY ${WORKING_DIRECTORY} LOGNAME extract ) - file(WRITE ${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_FILENAME}.extracted) + file(WRITE ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted) endif() message(STATUS "Extracting done") endfunction() -- cgit v1.2.3 From bcaae465c565a749da3d1d017f25770c326b41d1 Mon Sep 17 00:00:00 2001 From: Silvio Date: Sun, 2 Oct 2016 12:55:30 +0200 Subject: Add platform option to vcpkg_build_msbuild Also added documentation for the platform option and the rest of the function --- scripts/cmake/vcpkg_build_msbuild.cmake | 46 ++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index bf7c1b546..f0f63b432 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -1,5 +1,42 @@ +#.rst: +# .. command:: vcpkg_build_msbuild +# +# Build a msbuild-based project. +# +# :: +# vcpkg_build_msbuild(PROJECT_PATH +# [RELEASE_CONFIGURATION ] # (default = "Release") +# [DEBUG_CONFIGURATION ] @ (default = "Debug") +# [PLATFORM ] # (default = "${TRIPLET_SYSTEM_ARCH}") +# [OPTIONS arg1 [arg2 ...]] +# [OPTIONS_RELEASE arg1 [arg2 ...]] +# [OPTIONS_DEBUG arg1 [arg2 ...]] +# ) +# +# ``PROJECT_PATH`` +# The path to the *.sln msbuild project file. +# ``RELEASE_CONFIGURATION`` +# The configuration (``/p:Configuration`` msbuild parameter) +# used for Release builds. +# ``DEBUG_CONFIGURATION`` +# The configuration (``/p:Configuration`` msbuild parameter) +# used for Debug builds. +# ``DEBUG_CONFIGURATION`` +# The configuration (``/p:Configuration`` msbuild parameter) +# used for Debug builds. +# ``PLATFORM`` +# The platform (``/p:Platform`` msbuild parameter) +# used for the build. +# ``OPTIONS`` +# The options passed to msbuild for all builds. +# ``OPTIONS_RELEASE`` +# The options passed to msbuild for Release builds. +# ``OPTIONS_DEBUG`` +# The options passed to msbuild for Debug builds. +# + function(vcpkg_build_msbuild) - cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) + cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) if(NOT DEFINED _csc_RELEASE_CONFIGURATION) set(_csc_RELEASE_CONFIGURATION Release) @@ -7,13 +44,16 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_DEBUG_CONFIGURATION) set(_csc_DEBUG_CONFIGURATION Debug) endif() + if(NOT DEFINED _csc_PLATFORM) + set(_csc_PLATFORM ${TRIPLET_SYSTEM_ARCH}) + endif() message(STATUS "Building ${_csc_PROJECT_PATH} for Release") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) vcpkg_execute_required_process( COMMAND msbuild ${_csc_PROJECT_PATH} ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} /p:Configuration=${_csc_RELEASE_CONFIGURATION} - /p:Platform=${TRIPLET_SYSTEM_ARCH} + /p:Platform=${_csc_PLATFORM} /p:VCPkgLocalAppDataDisabled=true WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME build-${TARGET_TRIPLET}-rel @@ -24,7 +64,7 @@ function(vcpkg_build_msbuild) vcpkg_execute_required_process( COMMAND msbuild ${_csc_PROJECT_PATH} ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} /p:Configuration=${_csc_DEBUG_CONFIGURATION} - /p:Platform=${TRIPLET_SYSTEM_ARCH} + /p:Platform=${_csc_PLATFORM} /p:VCPkgLocalAppDataDisabled=true WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg LOGNAME build-${TARGET_TRIPLET}-dbg -- cgit v1.2.3 From 6cf29cdfb6ca86332cee8b221ed4e6c46dc025b9 Mon Sep 17 00:00:00 2001 From: Silvio Date: Sun, 2 Oct 2016 13:11:45 +0200 Subject: Fix space/tabs typo --- scripts/cmake/vcpkg_build_msbuild.cmake | 2 +- scripts/cmake/vcpkg_execute_required_process.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index f0f63b432..5b422fe5e 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -44,7 +44,7 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_DEBUG_CONFIGURATION) set(_csc_DEBUG_CONFIGURATION Debug) endif() - if(NOT DEFINED _csc_PLATFORM) + if(NOT DEFINED _csc_PLATFORM) set(_csc_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index bd6e56f7b..e10a12678 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -1,7 +1,7 @@ # Usage: vcpkg_execute_required_process(COMMAND [...] WORKING_DIRECTORY LOGNAME ) function(vcpkg_execute_required_process) cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) - #debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})") + debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})") execute_process( COMMAND ${vcpkg_execute_required_process_COMMAND} OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log -- cgit v1.2.3 From e03e617f069471c34e90b1a84e256c1607252f04 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 3 Oct 2016 16:14:27 -0700 Subject: [ace] Minor cleanup after PR #108 --- scripts/cmake/vcpkg_execute_required_process.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index e10a12678..bd6e56f7b 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -1,7 +1,7 @@ # Usage: vcpkg_execute_required_process(COMMAND [...] WORKING_DIRECTORY LOGNAME ) function(vcpkg_execute_required_process) cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) - debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})") + #debug_message("vcpkg_execute_required_process(${vcpkg_execute_required_process_COMMAND})") execute_process( COMMAND ${vcpkg_execute_required_process_COMMAND} OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log -- cgit v1.2.3 From fb6ec0bb8273c81ae7ae55f8528a7efe7cb21377 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 3 Oct 2016 16:52:36 -0700 Subject: [vcpkg] Fix UWP regression introduced with ac2e248e8f. Fixes #111 --- scripts/cmake/vcpkg_configure_cmake.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index aa85c8ff4..3938d8d79 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -29,7 +29,7 @@ function(vcpkg_configure_cmake) -G ${GENERATOR} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TRIPLET_FILE} -DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR} -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel @@ -44,7 +44,7 @@ function(vcpkg_configure_cmake) -G ${GENERATOR} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Debug - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TRIPLET_FILE} -DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}/debug\\\\\\\;${CURRENT_INSTALLED_DIR} -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg -- cgit v1.2.3 From 7c05facd8a1e6e6ab294fabc1bc6e5e4d6dd42ab Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Thu, 6 Oct 2016 13:46:41 -0700 Subject: Forward triplet options to default CMAKE variables --- scripts/cmake/vcpkg_configure_cmake.cmake | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 3938d8d79..ec04a0d2f 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -22,6 +22,16 @@ function(vcpkg_configure_cmake) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) + list(APPEND _csc_OPTIONS -DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}) + endif() + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + list(APPEND _csc_OPTIONS -DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}) + endif() + if(DEFINED VCPKG_BUILD_SHARED_LIBS) + list(APPEND _csc_OPTIONS -DBUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS}) + endif() + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) vcpkg_execute_required_process( -- cgit v1.2.3 From 50fb104f6a36c8a3565c3189f5ce6ac34a74282a Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Fri, 7 Oct 2016 16:34:31 -0700 Subject: Change VCPKG_BUILD_SHARED_LIBS to VCPKG_LIBRARY_LINKAGE with values dynamic or static --- scripts/cmake/vcpkg_configure_cmake.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/cmake') diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index ec04a0d2f..954c75b82 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -28,8 +28,8 @@ function(vcpkg_configure_cmake) if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) list(APPEND _csc_OPTIONS -DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}) endif() - if(DEFINED VCPKG_BUILD_SHARED_LIBS) - list(APPEND _csc_OPTIONS -DBUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS}) + if(DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + list(APPEND _csc_OPTIONS -DBUILD_SHARED_LIBS=ON) endif() message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -- cgit v1.2.3