Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ jobs:
- CC: vs2022
CXX: vs2022
os: windows-2022
- CC: vs2026
CXX: vs2026
os: windows-2025-vs2026
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} ${{ matrix.CXX }}
env:
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,22 @@ jobs:
vcpkgarch: x86-windows
vcpkglibdir: lib
vcpkgpackages: '"openssl", "xerces-c", "zlib"'
- name: VS2026Debug64
vmimage: windows-2025-vs2026
mpctype: vs2026
BuildPlatform: x64
BuildConfiguration: Debug
vcpkgarch: x64-windows
vcpkglibdir: debug/lib
vcpkgpackages: '"openssl", "xerces-c", "zlib"'
- name: VS2026Release32
vmimage: windows-2025-vs2026
mpctype: vs2026
BuildPlatform: Win32
BuildConfiguration: Release
vcpkgarch: x86-windows
vcpkglibdir: lib
vcpkgpackages: '"openssl", "xerces-c", "zlib"'
runs-on: ${{ matrix.vmimage }}
name: ${{ matrix.name }}
env:
Expand Down
3 changes: 3 additions & 0 deletions config/wireshark.mpb
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ project : glib {
specific(vs2022) {
macros += MSC_VER_REQUIRED=1930
}
specific(vs2026) {
macros += MSC_VER_REQUIRED=1950
}
verbatim(nmake, top, 1) {
include $(WIRESHARK_SRC)/config.nmake
}
Expand Down
2 changes: 1 addition & 1 deletion docs/USAGE
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse]
[-type <automake | bcb2007 | bcb2009 | bds4 | bmake | cc | cdt6 |
cdt7 | cmake | em3 | ghs | html | iar | make | nmake |
rpmspec | sle | uvis | vc6 | vc7 | vc8 | vc9 | vc10 |
vc11 | vc12 | vc14 | vc71 | vs2017 | vs2019 | vs2022 |
vc11 | vc12 | vc14 | vc71 | vs2017 | vs2019 | vs2022 | vs2026 |
wb26 | wb30 | wix>]
[files]

Expand Down
40 changes: 38 additions & 2 deletions docs/html/MakeProjectCreator.html
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,18 @@ <h6 class="NumberedTableTitle">MPC Types</h6>
</td>
</tr>

<tr>
<td rowspan="1" colspan="1">
<p class="TblCode">
<em class="TableCode">vs2026</em>
</p>
</td>

<td rowspan="1" colspan="1">
<p class="Tbl-Body">Visual Studio 2026.</p>
</td>
</tr>

<tr>
<td rowspan="1" colspan="1">
<p class="TblCode">
Expand Down Expand Up @@ -2018,7 +2030,7 @@ <h5 class="Head4">mwc and mwb files</h5>

<p class="Code">
&nbsp;&nbsp;exclude(vc6, vc7, vc71, vc8, vc9,
vc10, vc11, vc12, vc14, vs2017, vs2019, vs2022, nmake) {
vc10, vc11, vc12, vc14, vs2017, vs2019, vs2022, vs2026, nmake) {
</p>

<p class="Code">&nbsp;&nbsp;&nbsp;&nbsp;this_directory</p>
Expand Down Expand Up @@ -4019,6 +4031,30 @@ <h6 class="NumberedTableTitle">
</td>
</tr>

<tr>
<td rowspan="1" colspan="1">
<p class="Tbl-Body">
<em class="TableCode">vs2026</em>
</p>
</td>

<td rowspan="1" colspan="1">
<p class="Tbl-Body">&nbsp;</p>
</td>

<td rowspan="1" colspan="1">
<p class="Tbl-Body">&nbsp;</p>
</td>

<td rowspan="1" colspan="1">
<p class="Tbl-Body">Yes</p>
</td>

<td rowspan="1" colspan="1">
<p class="Tbl-Body">Yes</p>
</td>
</tr>

<tr>
<td rowspan="1" colspan="1">
<p class="Tbl-Body">
Expand Down Expand Up @@ -8271,7 +8307,7 @@ <h6 class="NumberedTableTitle">
7.10 is return for vc71 and 8.00 is returned for vc8,
9.00 is returned for vc9, 10.00 is returned for vc10,
11.00 is returned for vc11, 12.0 is returned for vc12,
14.0 is returned for vc14, 14.1 is returned for vs2017, 14.2 is returned for vs2019, 14.3 is returned for vs2022.
14.0 is returned for vc14, 14.1 is returned for vs2017, 14.2 is returned for vs2019, 14.3 is returned for vs2022, 14.5 is returned for vs2026.
</p>
</td>
</tr>
Expand Down
56 changes: 56 additions & 0 deletions modules/VS2026ProjectCreator.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package VS2026ProjectCreator;

# ************************************************************
# Description : vs2026 (Visual Studio 2026) Project Creator
# ************************************************************

# ************************************************************
# Pragmas
# ************************************************************

use strict;

use VC12ProjectCreator;

use vars qw(@ISA);
@ISA = qw(VC12ProjectCreator);

## NOTE: We call the constant as a function to support Perl 5.6.
my %info = (Creator::cplusplus() => {'ext' => '.vcxproj',
'dllexe' => 'vs2026exe',
'libexe' => 'vs2026libexe',
'dll' => 'vs2026dll',
'lib' => 'vs2026lib',
'template' => [ 'vc10', 'vc10filters' ],
},
);

my %config = ('vcversion' => '18.00',
'toolsversion' => '18.0',
);

# ************************************************************
# Subroutine Section
# ************************************************************

sub get_info_hash {
my($self, $key) = @_;

## If we have the setting in our information map, then use it.
return $info{$key} if (defined $info{$key});

## Otherwise, see if our parent type can take care of it.
return $self->SUPER::get_info_hash($key);
}

sub get_configurable {
my($self, $name) = @_;

## If we have the setting in our config map, then use it.
return $config{$name} if (defined $config{$name});

## Otherwise, see if our parent type can take care of it.
return $self->SUPER::get_configurable($name);
}

1;
39 changes: 39 additions & 0 deletions modules/VS2026WorkspaceCreator.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package VS2026WorkspaceCreator;

# ************************************************************
# Description : vs2026 (Visual Studio 2026) Workspace Creator
# ************************************************************

# ************************************************************
# Pragmas
# ************************************************************

use strict;

use VS2026ProjectCreator;
use VC12WorkspaceCreator;

use vars qw(@ISA);
@ISA = qw(VC12WorkspaceCreator);

# ************************************************************
# Subroutine Section
# ************************************************************

sub pre_workspace {
my($self, $fh) = @_;
my $crlf = $self->crlf();

print $fh '', $crlf,
'Microsoft Visual Studio Solution File, Format Version 12.00', $crlf;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

format version 12?

$self->print_workspace_comment($fh,
'# Visual Studio Version 18', $crlf,
'#', $crlf,
'# This file was generated by MPC. Any changes made directly to', $crlf,
'# this file will be lost the next time it is generated.', $crlf,
'#', $crlf,
'# MPC Command:', $crlf,
'# ', $self->create_command_line_string($0, @ARGV), $crlf);
}

1;
1 change: 1 addition & 0 deletions registry.pl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
'vs2017' => ['SLN 2017', 'PROJ 2017'],
'vs2019' => ['SLN 2019', 'PROJ 2019'],
'vs2022' => ['SLN 2022', 'PROJ 2022'],
'vs2026' => ['SLN 2026', 'PROJ 2026'],
'wix' => ['WiX', 'WiX Project'],
);

Expand Down
4 changes: 4 additions & 0 deletions templates/vs2026dll.mpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// -*- MPC -*-
conditional_include "vs2026platforms"
conditional_include "vc1xdll"
conditional_include "user_vs2026dll"
4 changes: 4 additions & 0 deletions templates/vs2026exe.mpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// -*- MPC -*-
conditional_include "vs2026platforms"
conditional_include "vc1xexe"
conditional_include "user_vs2026exe"
4 changes: 4 additions & 0 deletions templates/vs2026lib.mpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// -*- MPC -*-
conditional_include "vs2026platforms"
conditional_include "vc1xlib"
conditional_include "user_vs2026lib"
4 changes: 4 additions & 0 deletions templates/vs2026libexe.mpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// -*- MPC -*-
conditional_include "vs2026platforms"
conditional_include "vc1xlibexe"
conditional_include "user_vs2026libexe"
38 changes: 38 additions & 0 deletions templates/vs2026platforms.mpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// -*- MPC -*-
//
// Any of these platforms can set using value_template platforms=
// when generating solutions/projects.
//

platforms = Win32 x64 ARM ARM64
default_platform = x64
PlatformToolset = v145
WindowsTargetPlatformVersion = 10.0

Win32 {
output_subdir = I386
}

x64 {
output_subdir = AMD64
cpu_defines = _AMD64_
platform_defines = _WIN64
TargetMachine = "0" // We let VC++ figure it out for us.
link_options = /machine:AMD64
}

ARM {
output_subdir = ARM
cpu_defines = _ARM_
platform_defines = _ARM
TargetMachine = "0" // We let VC++ figure it out for us.
link_options = /machine:ARM
}

ARM64 {
output_subdir = ARM64
cpu_defines = _ARM64_
platform_defines = _ARM64
TargetMachine = "0" // We let VC++ figure it out for us.
link_options = /machine:ARM64
}
Loading