mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 04:36:39 +00:00
Merge pull request #1714 from PowerShell/mirichmo/native-binary-linking
Fixing Build and Linking of PwrshPlugin.dll to Match the CoreCLR Native Binary Build Process
This commit is contained in:
commit
7abe44d15a
8 files changed
+103
-135
No files matched your search
@@ -18,12 +18,16 @@ endif ()
|
||||
#
|
||||
# Normalize the platform name
|
||||
#
|
||||
# TODO: Only x64 and x86 are supported right now. This needs to be expanded to arm as well
|
||||
# TODO: Only x64 and x86 are supported right now. This needs to be expanded to arm and arm64 to match CoreCLR
|
||||
#
|
||||
SET(BUILD_ARCH_ARM 0)
|
||||
SET(BUILD_ARCH_ARM64 0)
|
||||
if (WindowsSDKPlatform STREQUAL "x64" OR WindowsSDKPlatform STREQUAL "X64" OR WindowsSDKPlatform STREQUAL "amd64" OR WindowsSDKPlatform STREQUAL "AMD64")
|
||||
SET(WindowsSDKPlatform "x64")
|
||||
SET(BUILD_ARCH_AMD64 1)
|
||||
elseif (WindowsSDKPlatform STREQUAL "x86" OR WindowsSDKPlatform STREQUAL "X86")
|
||||
SET(WindowsSDKPlatform "x86")
|
||||
SET(BUILD_ARCH_X86 1)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported WindowsSDKPlatform ${WindowsSDKPlatform}")
|
||||
endif ()
|
||||
@@ -60,16 +64,10 @@ SET (WIN_VERSION_LONGHORN 0x0600)
|
||||
SET (WIN_VERSION_WS03 0x0502)
|
||||
SET (WIN_VERSION_WINXP 0x0501)
|
||||
|
||||
#include(dsc_defs.cmake)
|
||||
if (BUILD_ONECORE)
|
||||
include(nano_defs.cmake)
|
||||
else ()
|
||||
include(coreclr_defs.cmake)
|
||||
endif (BUILD_ONECORE)
|
||||
include(coreclr_defs.cmake)
|
||||
|
||||
# Default of BUILD_ONECORE should be ON once it is supported
|
||||
option(BUILD_ONECORE "Compile the OneCore version of the binaries" ON)
|
||||
option(BUILD_DOWNLEVEL "Compile the downlevel version of the binaries" OFF)
|
||||
|
||||
# Build the common library that powershell.exe and pwrshplugin.dll depend on
|
||||
add_subdirectory(nativemsh/pwrshcommon)
|
||||
|
||||
@@ -13,7 +13,15 @@
|
||||
|
||||
param
|
||||
(
|
||||
[Switch]$Verbose
|
||||
[parameter(ParameterSetName = "ByPath")]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]
|
||||
$PowerShellHome,
|
||||
|
||||
[parameter(ParameterSetName = "ByPath")]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]
|
||||
$PowerShellVersion
|
||||
)
|
||||
|
||||
function Register-WinRmPlugin
|
||||
@@ -74,13 +82,18 @@ function Generate-PluginConfigFile
|
||||
[string]
|
||||
[parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
$pluginFile
|
||||
$pluginFile,
|
||||
|
||||
[string]
|
||||
[parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
$powershellHomeDir
|
||||
)
|
||||
|
||||
# This always overwrites the file with a new version of it if the
|
||||
# script is invoked multiple times.
|
||||
Set-Content -Path $pluginFile -Value "PSHOMEDIR=$PSHOME"
|
||||
Add-Content -Path $pluginFile -Value "CORECLRDIR=$PSHOME"
|
||||
Set-Content -Path $pluginFile -Value "PSHOMEDIR=$powershellHomeDir"
|
||||
Add-Content -Path $pluginFile -Value "CORECLRDIR=$powershellHomeDir"
|
||||
|
||||
Write-Verbose "Created Plugin Config File: $pluginFile"
|
||||
}
|
||||
@@ -103,7 +116,9 @@ if ($Verbose)
|
||||
$VerbosePreference = "Continue"
|
||||
}
|
||||
|
||||
$powershellVersion = $PSVersionTable.PSVersion
|
||||
$powershellVersion = $PowershellVersion
|
||||
$powershellHome = $PowerShellHome
|
||||
|
||||
$pluginBasePath = Join-Path "$env:WINDIR\System32\PowerShell" $powerShellVersion
|
||||
|
||||
$resolvedPluginAbsolutePath = ""
|
||||
@@ -122,10 +137,10 @@ $pluginRawPath = Join-Path $resolvedPluginAbsolutePath "pwrshplugin.dll"
|
||||
$fixedPluginPath = $pluginRawPath -replace '\\','\\'
|
||||
|
||||
# This is forced to ensure the the file is placed correctly
|
||||
Copy-Item $PSHOME\pwrshplugin.dll $resolvedPluginAbsolutePath -Force -Verbose
|
||||
Copy-Item $powershellHome\pwrshplugin.dll $resolvedPluginAbsolutePath -Force -Verbose
|
||||
|
||||
$pluginFile = Join-Path $resolvedPluginAbsolutePath "RemotePowerShellConfig.txt"
|
||||
Generate-PluginConfigFile $pluginFile
|
||||
Generate-PluginConfigFile $pluginFile $powershellHome
|
||||
|
||||
$pluginEndpointName = "powershell.$powershellVersion"
|
||||
|
||||
@@ -163,3 +178,6 @@ catch [Microsoft.PowerShell.Commands.WriteErrorException]
|
||||
Write-Error "No remoting session configuration matches the name $pluginEndpointName."
|
||||
}
|
||||
|
||||
Write-Host "Restarting WinRM to ensure that the plugin configuration change takes effect. This is required in WinRM pre-Windows 10"
|
||||
Restart-Service winrm
|
||||
|
||||
@@ -2,10 +2,10 @@ cmake_minimum_required(VERSION 2.8.4)
|
||||
|
||||
set(CMAKE_CXX_STANDARD_LIBRARIES "") # do not link against standard win32 libs i.e. kernel32, uuid, user32, etc.
|
||||
|
||||
#if(NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf")
|
||||
#endif (NOT CLR_CMAKE_PLATFORM_ARCH_ARM64)
|
||||
if(NOT BUILD_ARCH_ARM64)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /guard:cf")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /guard:cf")
|
||||
endif (NOT BUILD_ARCH_ARM64)
|
||||
|
||||
# Incremental linking with CFG is broken until next VS release.
|
||||
# This needs to be appended to the last for each build type to override the default flag.
|
||||
@@ -24,12 +24,6 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUGTYPE:cv,fixup"
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /PDBCOMPRESS") #shrink pdb size
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG")
|
||||
|
||||
#
|
||||
# TODO: Should these be ignored????
|
||||
#
|
||||
#set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /IGNORE:4197,4013,4254,4070,4221")
|
||||
#set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /PDBCOMPRESS")
|
||||
#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1572864")
|
||||
|
||||
@@ -53,13 +47,6 @@ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWIT
|
||||
set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /OPT:ICF ${NO_INCREMENTAL_LINKER_FLAGS}")
|
||||
|
||||
# Temporary until cmake has VS generators for arm64
|
||||
#if(CLR_CMAKE_PLATFORM_ARCH_ARM64)
|
||||
# set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /machine:arm64")
|
||||
# set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /machine:arm64")
|
||||
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /machine:arm64")
|
||||
#endif(CLR_CMAKE_PLATFORM_ARCH_ARM64)
|
||||
|
||||
# Force uCRT to be dynamically linked for Release build
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib")
|
||||
@@ -69,24 +56,22 @@ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBIN
|
||||
#------------------------------------
|
||||
# Definitions (for platform)
|
||||
#-----------------------------------
|
||||
#if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
|
||||
add_definitions(-D_AMD64_)
|
||||
add_definitions(-D_WIN64)
|
||||
add_definitions(-DAMD64)
|
||||
add_definitions(-DBIT64=1)
|
||||
#elseif (CLR_CMAKE_PLATFORM_ARCH_I386)
|
||||
# add_definitions(-D_X86_)
|
||||
#elseif (CLR_CMAKE_PLATFORM_ARCH_ARM)
|
||||
# add_definitions(-D_ARM_)
|
||||
# add_definitions(-DARM)
|
||||
#elseif (CLR_CMAKE_PLATFORM_ARCH_ARM64)
|
||||
# add_definitions(-D_ARM64_)
|
||||
# add_definitions(-DARM64)
|
||||
# add_definitions(-D_WIN64)
|
||||
# add_definitions(-DBIT64=1)
|
||||
#else ()
|
||||
# clr_unknown_arch()
|
||||
#endif ()
|
||||
if (BUILD_ARCH_AMD64)
|
||||
add_definitions(-D_AMD64_)
|
||||
add_definitions(-D_WIN64)
|
||||
add_definitions(-DAMD64)
|
||||
add_definitions(-DBIT64=1)
|
||||
elseif (BUILD_ARCH_I386)
|
||||
add_definitions(-D_X86_)
|
||||
elseif (BUILD_ARCH_ARM)
|
||||
add_definitions(-D_ARM_)
|
||||
add_definitions(-DARM)
|
||||
elseif (BUILD_ARCH_ARM64)
|
||||
add_definitions(-D_ARM64_)
|
||||
add_definitions(-DARM64)
|
||||
add_definitions(-D_WIN64)
|
||||
add_definitions(-DBIT64=1)
|
||||
endif ()
|
||||
|
||||
# Define the CRT lib references that link into Desktop imports
|
||||
set(STATIC_MT_CRT_LIB "libcmt$<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:d>.lib")
|
||||
@@ -111,7 +96,7 @@ add_compile_options(/W3) # set warning level to 3
|
||||
#add_compile_options(/WX) # treat warnings as errors
|
||||
add_compile_options(/Oi) # enable intrinsics
|
||||
add_compile_options(/Oy-) # disable suppressing of the creation of frame pointers on the call stack for quicker function calls
|
||||
#add_compile_options(/U_MT) # undefine the predefined _MT macro
|
||||
add_compile_options(/U_MT) # undefine the predefined _MT macro
|
||||
add_compile_options(/GF) # enable read-only string pooling
|
||||
add_compile_options(/Gm-) # disable minimal rebuild
|
||||
add_compile_options(/EHa) # enable C++ EH (w/ SEH exceptions)
|
||||
@@ -121,24 +106,27 @@ add_compile_options(/Zc:wchar_t-) # C++ language conformance: wchar_t is NOT the
|
||||
add_compile_options(/Zc:forScope) # C++ language conformance: enforce Standard C++ for scoping rules
|
||||
add_compile_options(/GR-) # disable C++ RTTI
|
||||
add_compile_options(/FC) # use full pathnames in diagnostics
|
||||
#add_compile_options(/MP) # Build with Multiple Processes (number of processes equal to the number of processors)
|
||||
if (BUILD_CORECLR)
|
||||
# This option is not supported for "FullClr" because it triggers: error C2813: #import is not supported with /MP
|
||||
add_compile_options(/MP) # Build with Multiple Processes (number of processes equal to the number of processors)
|
||||
endif (BUILD_CORECLR)
|
||||
add_compile_options(/GS) # Buffer Security Check
|
||||
add_compile_options(/Zm200) # Specify Precompiled Header Memory Allocation Limit of 150MB
|
||||
add_compile_options(/wd4960 /wd4961 /wd4603 /wd4627 /wd4838 /wd4456 /wd4457 /wd4458 /wd4459 /wd4091 /we4640)
|
||||
#add_compile_options(/wd4960 /wd4961 /wd4603 /wd4627 /wd4838 /wd4456 /wd4457 /wd4458 /wd4459 /wd4091 /we4640)
|
||||
add_compile_options(/Zi) # enable debugging information
|
||||
add_compile_options(/ZH:SHA_256) # use SHA256 for generating hashes of compiler processed source files.
|
||||
|
||||
#if (CLR_CMAKE_PLATFORM_ARCH_I386)
|
||||
# add_compile_options(/Gz)
|
||||
#endif (CLR_CMAKE_PLATFORM_ARCH_I386)
|
||||
if (BUILD_ARCH_I386)
|
||||
add_compile_options(/Gz)
|
||||
endif (BUILD_ARCH_I386)
|
||||
|
||||
add_compile_options($<$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>:/GL>)
|
||||
add_compile_options($<$<OR:$<OR:$<CONFIG:Release>,$<CONFIG:Relwithdebinfo>>,$<CONFIG:Checked>>:/O1>)
|
||||
|
||||
#if (CLR_CMAKE_PLATFORM_ARCH_AMD64)
|
||||
if (BUILD_ARCH_AMD64)
|
||||
# The generator expression in the following command means that the /homeparams option is added only for debug builds
|
||||
add_compile_options($<$<CONFIG:Debug>:/homeparams>) # Force parameters passed in registers to be written to the stack
|
||||
#endif (CLR_CMAKE_PLATFORM_ARCH_AMD64)
|
||||
endif (BUILD_ARCH_AMD64)
|
||||
|
||||
# enable control-flow-guard support for native components for non-Arm64 builds
|
||||
add_compile_options(/guard:cf)
|
||||
@@ -154,41 +142,26 @@ add_compile_options($<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:/MTd>)
|
||||
|
||||
#set(CMAKE_ASM_MASM_FLAGS "${CMAKE_ASM_MASM_FLAGS} /ZH:SHA_256")
|
||||
|
||||
#if (CLR_CMAKE_TARGET_ARCH_AMD64)
|
||||
if (BUILD_ARCH_AMD64)
|
||||
add_definitions(-D_TARGET_AMD64_=1)
|
||||
add_definitions(-DDBG_TARGET_64BIT=1)
|
||||
add_definitions(-DDBG_TARGET_AMD64=1)
|
||||
add_definitions(-DDBG_TARGET_WIN64=1)
|
||||
#elseif (CLR_CMAKE_TARGET_ARCH_ARM)
|
||||
# add_definitions(-D_TARGET_ARM_=1)
|
||||
# add_definitions(-DDBG_TARGET_32BIT=1)
|
||||
# add_definitions(-DDBG_TARGET_ARM=1)
|
||||
#elseif (CLR_CMAKE_TARGET_ARCH_I386)
|
||||
# add_definitions(-D_TARGET_X86_=1)
|
||||
# add_definitions(-DDBG_TARGET_32BIT=1)
|
||||
# add_definitions(-DDBG_TARGET_X86=1)
|
||||
#else ()
|
||||
# clr_unknown_arch()
|
||||
#endif (CLR_CMAKE_TARGET_ARCH_AMD64)
|
||||
|
||||
#
|
||||
# TODO: Are these needed???????????
|
||||
#
|
||||
#add_definitions(-D_BLD_CLR)
|
||||
#add_definitions(-DDEBUGGING_SUPPORTED)
|
||||
#add_definitions(-DPROFILING_SUPPORTED)
|
||||
elseif (BUILD_ARCH_ARM)
|
||||
add_definitions(-D_TARGET_ARM_=1)
|
||||
elseif (BUILD_ARCH_I386)
|
||||
add_definitions(-D_TARGET_X86_=1)
|
||||
endif (BUILD_ARCH_AMD64)
|
||||
|
||||
add_definitions(-DWIN32)
|
||||
add_definitions(-D_WIN32)
|
||||
add_definitions(-DWINVER=${WIN_VERSION_WIN8})# 0x0601 for Win7, was 0x0602
|
||||
add_definitions(-D_WIN32_WINNT=${WIN_VERSION_WIN8}) # 0x0601 for Win7
|
||||
add_definitions(-DWINVER=${WIN_VERSION_WIN8})
|
||||
add_definitions(-D_WIN32_WINNT=${WIN_VERSION_WIN8})
|
||||
add_definitions(-DWIN32_LEAN_AND_MEAN=1)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
#if(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
|
||||
# Only enable edit and continue on windows x86 and x64
|
||||
# exclude Linux, arm & arm64
|
||||
|
||||
if(BUILD_ARCH_AMD64 OR BUILD_ARCH_I386)
|
||||
# Only enable edit and continue on windows x86 and x64.
|
||||
# Exclude arm & arm64
|
||||
add_definitions(-DEnC_SUPPORTED)
|
||||
#endif(CLR_CMAKE_TARGET_ARCH_AMD64 OR CLR_CMAKE_TARGET_ARCH_I386)
|
||||
endif(BUILD_ARCH_AMD64 OR BUILD_ARCH_I386)
|
||||
|
||||
add_definitions(-DUNICODE)
|
||||
add_definitions(-D_UNICODE)
|
||||
|
||||
@@ -13,25 +13,12 @@ target_include_directories(pwrshcommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
if (BUILD_ONECORE)
|
||||
# Libraries to use when creating this binary for Windows on OneCore-based SKUs
|
||||
set(PWRSHCOMMON_WINDOWS_LIBS
|
||||
# onecore.lib
|
||||
)
|
||||
set_target_properties(pwrshcommon PROPERTIES COMPILE_DEFINITIONS "CORECLR")
|
||||
else () # NOT BUILD_ONECORE
|
||||
# Libraries to use when creating this binary for Windows on full SKUs
|
||||
# Note: The appropriate libs get added automatically by VS
|
||||
set(PWRSHCOMMON_WINDOWS_LIBS
|
||||
# CoreCLR libs
|
||||
### ${STATIC_MT_CRT_LIB}
|
||||
### ${STATIC_MT_VCRT_LIB}
|
||||
### ${STATIC_UCRT_LIB}
|
||||
#
|
||||
# ole32.lib
|
||||
# oleaut32.lib
|
||||
# uuid.lib
|
||||
# user32.lib
|
||||
# MUILoad.lib
|
||||
# msxml6.lib
|
||||
# mscoree.lib)
|
||||
)
|
||||
endif (BUILD_ONECORE)
|
||||
|
||||
|
||||
@@ -8,22 +8,29 @@ if (BUILD_ONECORE)
|
||||
CssMainEntry.cpp
|
||||
)
|
||||
set(PWRSHEXE_WINDOWS_LIBS
|
||||
### ${STATIC_MT_CRT_LIB}
|
||||
### ${STATIC_MT_VCRT_LIB}
|
||||
### ${STATIC_UCRT_LIB}
|
||||
onecore.lib
|
||||
vcruntime.lib
|
||||
ucrtd.lib
|
||||
msvcrt.lib
|
||||
msvcrt.lib
|
||||
msvcprtd.lib
|
||||
user32.lib
|
||||
atls.lib
|
||||
${STATIC_MT_CRT_LIB}
|
||||
${STATIC_MT_VCRT_LIB}
|
||||
)
|
||||
set(powershell_definitions
|
||||
_CONSOLE
|
||||
CORECLR
|
||||
)
|
||||
set(powershell_definitions
|
||||
_CONSOLE
|
||||
CORECLR
|
||||
)
|
||||
|
||||
#
|
||||
# Configure lib directories so that CI picks up onecore.lib
|
||||
#
|
||||
SET (WindowsSdkDir $ENV{WindowsSdkDir})
|
||||
SET (WindowsSDKVersion $ENV{WindowsSDKVersion})
|
||||
SET (WindowsSDKLibBase "${WindowsSdkDir}/Lib/${WindowsSDKVersion}")
|
||||
SET (OneCoreLibBase "$ENV{VCInstallDir}lib/onecore/amd64")
|
||||
|
||||
SET (LibraryPath)
|
||||
list (APPEND LibraryPath "${OneCoreLibBase}")
|
||||
list (APPEND LibraryPath "${WindowsSDKLibBase}ucrt/${WindowsSDKPlatform}")
|
||||
list (APPEND LibraryPath "${WindowsSDKLibBase}um/${WindowsSDKPlatform}" )
|
||||
link_directories(${LibraryPath})
|
||||
|
||||
else ()
|
||||
# Settings to use when creating PowerShell.exe for Windows on full SKUs or downlevel platforms
|
||||
set(PWRSHEXE_WINDOWS_SOURCES
|
||||
@@ -34,11 +41,6 @@ else ()
|
||||
# CoreCLR libs
|
||||
${STATIC_MT_CRT_LIB}
|
||||
${STATIC_MT_VCRT_LIB}
|
||||
# ${STATIC_UCRT_LIB}
|
||||
# ole32.lib
|
||||
# oleaut32.lib
|
||||
# uuid.lib
|
||||
# user32.lib
|
||||
MUILoad.lib
|
||||
msxml6.lib
|
||||
mscoree.lib
|
||||
|
||||
@@ -13,35 +13,23 @@ add_library(pwrshplugin SHARED
|
||||
if (BUILD_ONECORE)
|
||||
# Libraries to use when creating this binary for Windows on OneCore-based SKUs
|
||||
set(PWRSHPLUGIN_WINDOWS_LIBS
|
||||
### ${STATIC_MT_CRT_LIB}
|
||||
### ${STATIC_MT_VCRT_LIB}
|
||||
### ${STATIC_UCRT_LIB}
|
||||
onecore.lib
|
||||
vcruntime.lib
|
||||
ucrtd.lib
|
||||
msvcrt.lib
|
||||
msvcprtd.lib
|
||||
user32.lib
|
||||
atls.lib
|
||||
${STATIC_MT_CRT_LIB}
|
||||
${STATIC_MT_VCRT_LIB}
|
||||
kernel32.lib
|
||||
advapi32.lib
|
||||
ole32.lib
|
||||
wsmsvc.lib
|
||||
)
|
||||
set_target_properties(pwrshplugin PROPERTIES COMPILE_DEFINITIONS "CORECLR")
|
||||
else ()
|
||||
# Libraries to use when creating this binary for Windows on full SKUs
|
||||
set(PWRSHPLUGIN_WINDOWS_LIBS
|
||||
# ntdll.lib
|
||||
# kernel32.lib
|
||||
# advapi32.lib
|
||||
# ole32.lib
|
||||
# oleaut32.lib
|
||||
# uuid.lib
|
||||
MUILoad.lib
|
||||
mscoree.lib
|
||||
wsmsvc.lib
|
||||
# CoreCLR lib
|
||||
${STATIC_MT_CRT_LIB}
|
||||
${STATIC_MT_VCRT_LIB}
|
||||
# ${STATIC_UCRT_LIB}
|
||||
legacy_stdio_definitions.lib # Resolves: LNK2019: unresolved external symbol _vsnwprintf
|
||||
)
|
||||
set(pwrshplugin_definitions ${common_pwrsh_definitions})
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Install-PowerShellRemoting.ps1
|
||||
@@ -0,0 +1 @@
|
||||
Install-PowerShellRemoting.ps1
|
||||
Reference in new issue
Block a user