From cff0971773e902770114c9f262a64898059bfa11 Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka Date: Sun, 12 Mar 2017 21:21:34 +0300 Subject: vcpkg_build_msbuild: add TARGET_PLATFORM_VERSION property --- scripts/cmake/vcpkg_build_msbuild.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index f4a809e7f..7de06241c 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -7,6 +7,7 @@ # vcpkg_build_msbuild(PROJECT_PATH # [RELEASE_CONFIGURATION ] # (default = "Release") # [DEBUG_CONFIGURATION ] @ (default = "Debug") +# [TARGET_PLATFORM_VERSION ] # [PLATFORM ] # (default = "${TRIPLET_SYSTEM_ARCH}") # [OPTIONS arg1 [arg2 ...]] # [OPTIONS_RELEASE arg1 [arg2 ...]] @@ -21,9 +22,8 @@ # ``DEBUG_CONFIGURATION`` # The configuration (``/p:Configuration`` msbuild parameter) # used for Debug builds. -# ``DEBUG_CONFIGURATION`` -# The configuration (``/p:Configuration`` msbuild parameter) -# used for Debug builds. +# ``TARGET_PLATFORM_VERSION`` +# The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) # ``PLATFORM`` # The platform (``/p:Platform`` msbuild parameter) # used for the build. @@ -36,7 +36,7 @@ # function(vcpkg_build_msbuild) - cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) + cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET_PLATFORM_VERSION" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) if(NOT DEFINED _csc_RELEASE_CONFIGURATION) set(_csc_RELEASE_CONFIGURATION Release) @@ -47,6 +47,9 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_PLATFORM) set(_csc_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() + if(DEFINED _csc_TARGET_PLATFORM_VERSION) + set(_csc_TARGET_PLATFORM_VERSION /p:WindowsTargetPlatformVersion=${_csc_TARGET_PLATFORM_VERSION}) + endif() message(STATUS "Building ${_csc_PROJECT_PATH} for Release") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) @@ -56,6 +59,7 @@ function(vcpkg_build_msbuild) /p:Platform=${_csc_PLATFORM} /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No + ${_csc_TARGET_PLATFORM_VERSION} /m WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME build-${TARGET_TRIPLET}-rel @@ -69,6 +73,7 @@ function(vcpkg_build_msbuild) /p:Platform=${_csc_PLATFORM} /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No + ${_csc_TARGET_PLATFORM_VERSION} /m WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg LOGNAME build-${TARGET_TRIPLET}-dbg -- cgit v1.2.3 From 27f0759cabaccabc669b7353761186000b8448be Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka Date: Mon, 13 Mar 2017 03:39:46 +0300 Subject: template: add some more variables --- scripts/templates/portfile.in.cmake | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'scripts') diff --git a/scripts/templates/portfile.in.cmake b/scripts/templates/portfile.in.cmake index ef72431ff..2ea430453 100644 --- a/scripts/templates/portfile.in.cmake +++ b/scripts/templates/portfile.in.cmake @@ -1,9 +1,13 @@ # Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} +# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} +# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# PORT = current port name (zlib, etc) +# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) +# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) +# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) +# VCPKG_ROOT_DIR = +# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) # include(vcpkg_common_functions) -- cgit v1.2.3 From 8fc1447da763ffccd06efe171f1827ec018d2da2 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 13 Mar 2017 14:02:28 -0700 Subject: [vcpkg_build_msbuild] Default to overriding WinSDK version --- scripts/cmake/vcpkg_build_msbuild.cmake | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index 7de06241c..d143a6a81 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -47,20 +47,25 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_PLATFORM) set(_csc_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() - if(DEFINED _csc_TARGET_PLATFORM_VERSION) - set(_csc_TARGET_PLATFORM_VERSION /p:WindowsTargetPlatformVersion=${_csc_TARGET_PLATFORM_VERSION}) + if(NOT DEFINED _csc_TARGET_PLATFORM_VERSION) + vcpkg_get_windows_sdk(_csc_TARGET_PLATFORM_VERSION) endif() + list(APPEND _csc_OPTIONS + /p:Platform=${_csc_PLATFORM} + /p:VCPkgLocalAppDataDisabled=true + /p:UseIntelMKL=No + /p:WindowsTargetPlatformVersion=${_csc_TARGET_PLATFORM_VERSION} + /m + ) + 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} + COMMAND msbuild ${_csc_PROJECT_PATH} /p:Configuration=${_csc_RELEASE_CONFIGURATION} - /p:Platform=${_csc_PLATFORM} - /p:VCPkgLocalAppDataDisabled=true - /p:UseIntelMKL=No - ${_csc_TARGET_PLATFORM_VERSION} - /m + ${_csc_OPTIONS} + ${_csc_OPTIONS_RELEASE} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel LOGNAME build-${TARGET_TRIPLET}-rel ) @@ -68,13 +73,10 @@ function(vcpkg_build_msbuild) message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) vcpkg_execute_required_process( - COMMAND msbuild ${_csc_PROJECT_PATH} ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} + COMMAND msbuild ${_csc_PROJECT_PATH} /p:Configuration=${_csc_DEBUG_CONFIGURATION} - /p:Platform=${_csc_PLATFORM} - /p:VCPkgLocalAppDataDisabled=true - /p:UseIntelMKL=No - ${_csc_TARGET_PLATFORM_VERSION} - /m + ${_csc_OPTIONS} + ${_csc_OPTIONS_DEBUG} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg LOGNAME build-${TARGET_TRIPLET}-dbg ) -- cgit v1.2.3 From 26b9278a4c73eebb2bf21beccac168d603206126 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Mon, 13 Mar 2017 14:08:40 -0700 Subject: [vcpkg_build_msbuild] Perform a full rebuild by default. --- scripts/cmake/vcpkg_build_msbuild.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index d143a6a81..748b47b7b 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -24,6 +24,8 @@ # used for Debug builds. # ``TARGET_PLATFORM_VERSION`` # The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) +# ``TARGET`` +# The MSBuild target to build. (``/t:``) # ``PLATFORM`` # The platform (``/p:Platform`` msbuild parameter) # used for the build. @@ -35,8 +37,9 @@ # The options passed to msbuild for Debug builds. # + function(vcpkg_build_msbuild) - cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET_PLATFORM_VERSION" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) + cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET_PLATFORM_VERSION;TARGET" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) if(NOT DEFINED _csc_RELEASE_CONFIGURATION) set(_csc_RELEASE_CONFIGURATION Release) @@ -50,8 +53,12 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_TARGET_PLATFORM_VERSION) vcpkg_get_windows_sdk(_csc_TARGET_PLATFORM_VERSION) endif() + if(NOT DEFINED _csc_TARGET) + set(_csc_TARGET Rebuild) + endif() list(APPEND _csc_OPTIONS + /t:${_csc_TARGET} /p:Platform=${_csc_PLATFORM} /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No -- cgit v1.2.3 From b87c1c1bea3f7032fa8ef28376a4defa1c0a2eee Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka Date: Tue, 14 Mar 2017 02:18:23 +0300 Subject: vcpkg_build_msbuild: add PLATFORM_TOOLSET property --- scripts/cmake/vcpkg_build_msbuild.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index 748b47b7b..6fe3f5aa0 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -9,6 +9,7 @@ # [DEBUG_CONFIGURATION ] @ (default = "Debug") # [TARGET_PLATFORM_VERSION ] # [PLATFORM ] # (default = "${TRIPLET_SYSTEM_ARCH}") +# [PLATFORM_TOOLSET ] # (default = "${VCPKG_PLATFORM_TOOLSET}") # [OPTIONS arg1 [arg2 ...]] # [OPTIONS_RELEASE arg1 [arg2 ...]] # [OPTIONS_DEBUG arg1 [arg2 ...]] @@ -29,6 +30,9 @@ # ``PLATFORM`` # The platform (``/p:Platform`` msbuild parameter) # used for the build. +# ``PLATFORM_TOOLSET`` +# The platform toolset (``/p:PlatformToolset`` msbuild parameter) +# used for the build. # ``OPTIONS`` # The options passed to msbuild for all builds. # ``OPTIONS_RELEASE`` @@ -39,7 +43,7 @@ function(vcpkg_build_msbuild) - cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET_PLATFORM_VERSION;TARGET" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) + cmake_parse_arguments(_csc "" "PROJECT_PATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;PLATFORM_TOOLSET;TARGET_PLATFORM_VERSION;TARGET" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG" ${ARGN}) if(NOT DEFINED _csc_RELEASE_CONFIGURATION) set(_csc_RELEASE_CONFIGURATION Release) @@ -50,6 +54,9 @@ function(vcpkg_build_msbuild) if(NOT DEFINED _csc_PLATFORM) set(_csc_PLATFORM ${TRIPLET_SYSTEM_ARCH}) endif() + if(NOT DEFINED _csc_PLATFORM_TOOLSET) + set(_csc_PLATFORM_TOOLSET ${VCPKG_PLATFORM_TOOLSET}) + endif() if(NOT DEFINED _csc_TARGET_PLATFORM_VERSION) vcpkg_get_windows_sdk(_csc_TARGET_PLATFORM_VERSION) endif() @@ -60,6 +67,7 @@ function(vcpkg_build_msbuild) list(APPEND _csc_OPTIONS /t:${_csc_TARGET} /p:Platform=${_csc_PLATFORM} + /p:PlatformToolset=${_csc_PLATFORM_TOOLSET} /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No /p:WindowsTargetPlatformVersion=${_csc_TARGET_PLATFORM_VERSION} -- cgit v1.2.3 From c791d19bd1e5d2f7707bb172ef218fd2aacd3603 Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka Date: Tue, 14 Mar 2017 03:59:41 +0300 Subject: vcpkg_configure_cmake: fix ARM configuring --- scripts/cmake/vcpkg_configure_cmake.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index daf9dfd6f..e3ca3adca 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -19,8 +19,8 @@ function(vcpkg_configure_cmake) set(GENERATOR "Visual Studio 14 2015") elseif(TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") set(GENERATOR "Visual Studio 14 2015 Win64") - elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm") - set(GENERATOR "Visual Studio 14 2015 ARM" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + set(GENERATOR "Visual Studio 14 2015 ARM") elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND TRIPLET_SYSTEM_ARCH MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") set(GENERATOR "Visual Studio 15 2017") @@ -32,8 +32,8 @@ function(vcpkg_configure_cmake) set(GENERATOR "Visual Studio 15 2017") elseif(TRIPLET_SYSTEM_ARCH MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") set(GENERATOR "Visual Studio 15 2017 Win64") - elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm") - set(GENERATOR "Visual Studio 15 2017 ARM" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(GENERATOR "Visual Studio 15 2017 ARM") endif() # If we use Ninja, make sure it's on PATH -- cgit v1.2.3 From fa4b4d48d9c8d37f8c11f03825cacffbc760e245 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 15 Mar 2017 16:02:00 -0700 Subject: Fix vcpkg_get_windows_sdk.cmake to properly handle space in path --- scripts/cmake/vcpkg_get_windows_sdk.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_get_windows_sdk.cmake b/scripts/cmake/vcpkg_get_windows_sdk.cmake index 7a8014eb2..f522ae5a3 100644 --- a/scripts/cmake/vcpkg_get_windows_sdk.cmake +++ b/scripts/cmake/vcpkg_get_windows_sdk.cmake @@ -1,6 +1,6 @@ function(vcpkg_get_windows_sdk ret) execute_process( - COMMAND powershell.exe -ExecutionPolicy Bypass ${VCPKG_ROOT_DIR}/scripts/getWindowsSDK.ps1 + COMMAND powershell.exe -ExecutionPolicy Bypass "& {& '${VCPKG_ROOT_DIR}/scripts/getWindowsSDK.ps1'}" OUTPUT_VARIABLE WINDOWS_SDK RESULT_VARIABLE error_code) -- cgit v1.2.3 From e4d337cc96bb7d0f1153b1240d90518222b321ee Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Wed, 15 Mar 2017 16:24:45 -0700 Subject: Use -NoProfile when calling powershell --- scripts/cmake/vcpkg_get_windows_sdk.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/cmake/vcpkg_get_windows_sdk.cmake b/scripts/cmake/vcpkg_get_windows_sdk.cmake index f522ae5a3..cefe8cfd8 100644 --- a/scripts/cmake/vcpkg_get_windows_sdk.cmake +++ b/scripts/cmake/vcpkg_get_windows_sdk.cmake @@ -1,6 +1,6 @@ function(vcpkg_get_windows_sdk ret) execute_process( - COMMAND powershell.exe -ExecutionPolicy Bypass "& {& '${VCPKG_ROOT_DIR}/scripts/getWindowsSDK.ps1'}" + COMMAND powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& {& '${VCPKG_ROOT_DIR}/scripts/getWindowsSDK.ps1'}" 2>&1 OUTPUT_VARIABLE WINDOWS_SDK RESULT_VARIABLE error_code) @@ -10,6 +10,5 @@ function(vcpkg_get_windows_sdk ret) # Remove trailing newline string(REGEX REPLACE "\n$" "" WINDOWS_SDK "${WINDOWS_SDK}") - set(${ret} ${WINDOWS_SDK} PARENT_SCOPE) endfunction() \ No newline at end of file -- cgit v1.2.3