* [FFmpeg-devel] Consider using CMake.
@ 2026-01-23 22:47 crueter via ffmpeg-devel
2026-01-24 2:49 ` [FFmpeg-devel] " Timo Rothenpieler via ffmpeg-devel
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: crueter via ffmpeg-devel @ 2026-01-23 22:47 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: crueter
Recently, I've been attempting to get FFmpeg building on MSVC. Normally
FFmpeg is built with MinGW for Windows, but it is 100% possible to build
it on MSVC. For those curious, I need this as a *static* library, and
attempting to link statically built MinGW libraries on MSVC generally
doesn't make for a fun time.
However, previously I had to rely on several horrible hacks, such as
running everything through the MSYS shell (not ideal in the slightest),
and then manually implanting `cl.exe` and others into PATH. This is not
only a huge pain, but actually caused significant problems as it made it
much harder to make pretty much any changes whatsoever without
inevitably breaking everything.
Thus, when I had to make some significant changes to my script, I ended
up facing a large number of issues. In no particular order:
* pkg-config is basically nonexistent on Windows, and is barely
functional when it does exist. This was a problem for Vulkan,
ffnvcodec, openssl, and others.
* Some of the libraries spit out absolutely gargantuan commands that
go well over Windows' command line character limit of 8191, causing
indecipherable build failures.
* Windows' pathing is fundamentally incompatible with UNIX pathing,
which caused also indecipherable build failures that ended up being
caused by `gsub` in one of the scripts. Notably, I had to use this
awful hack:
sed-i's|gsub(/\\\\|gsub(/\\\\\\\\|g'ffbuild/*.mak
* After all of this, I still haven't managed to get it to build,
because I STILL get completely random build failures that make no
sense whatsoever. For example, the libavutil target sometimes simply
refuses to build any of its associated object files: LINK : fatal
error LNK1181: cannot open input file 'libavutil\adler32.o' I still
haven't figured this one out. It requires manual intervention to
fix, which is terrible for UX and also virtually impossible to script.
My proposition to solve this is to use CMake. The great thing about
CMake is that *we don't have to worry about any of this!* CMake is
incredibly smart and is more than capable of doing all of that and more,
and *dramatically* faster too. It has so many advantages that I can't
list them all. But here's an abridged list:
* CMake is completely platform agnostic and doesn't require a "special
GNU build" like make does. Instead it's capable of using Ninja, also
platform agnostic, which is both faster than make AND runs
everywhere. This would've fixed several of the Windows-specific
issues I faced--not to mention that users of non-GNU operating
systems (Solaris, *BSD, etc.) don't HAVE to install GNU make just
for it to work. This also means those users don't have to explicitly
invoke `gmake` and can instead just `cmake --build`.
* CMake does a lot for you. The giant-wall-of-text configure script is
cool and all, but CMake requires significantly less manual
intervention, as it handles:
o Compilers
o Build type
o Options and settings
o Platform/architecture specific stuff
* CMake doesn't rely on coreutils or anything besides itself. This
means you don't *have* to install GNU coreutils on systems that lack
them by default, and also prevents spurious failures caused by minor
differences between distributions of awk, sed, etc.
* CMake handles package finding for you. Many of FFmpeg's dependencies
*also* install CMake config files, which are significantly nicer to
play with than pkg-config. CMake is also perfectly capable of using
pkg-config as well!
* CMake scripts are FAR more readable. Trying to parse through the
giant configure script is a pain, especially when I'm trying to see
what an option does and leaving confused because it's handled in
some random other file nobody has touched in 10 years. With CMake
however, options are laid out nicely in explicit commands and can
even be parsed by IDEs, making them extremely easy to read and find.
This isn't even close to a comprehensive list of CMake's benefits nor
the MANY problems I had with the configure script. That being said, I
imagine this will be met with a lot of criticism, so to pre-emptively
answer some questions I may or may not receive:
* *Why not do it yourself?*
o The biggest reason is I don't fully understand what every option
does and thus would not be able to do much of anything helpful.
Not to mention I don't really have the free time at the moment
to dive into something that may very well be immediately
rejected from the patch mailing list.
* *Why not just fix the configure script and Makefiles?*
o This is an even bigger ask than making a whole new build system,
because it is fundamentally not designed for MSVC to even be
possible whatsoever. Makefiles are inherently UNIX-y and don't
play well with Windows in general; not to mention that
maintaining a giant wall of text script is generally frowned upon.
* *Why change what's not broken?*
o The build system as is, is quite broken on MSVC. I barely
scratched the surface of the sheer myriad of issues I had and am
still having.
That's all.
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-23 22:47 [FFmpeg-devel] Consider using CMake crueter via ffmpeg-devel
@ 2026-01-24 2:49 ` Timo Rothenpieler via ffmpeg-devel
2026-01-24 2:57 ` swurl via ffmpeg-devel
2026-01-24 10:14 ` Rémi Denis-Courmont via ffmpeg-devel
` (2 subsequent siblings)
3 siblings, 1 reply; 13+ messages in thread
From: Timo Rothenpieler via ffmpeg-devel @ 2026-01-24 2:49 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Timo Rothenpieler
[-- Attachment #1.1.1.1: Type: text/plain, Size: 449 bytes --]
That's very unlikely to happen.
The current scripts support building using msvc just fine.
Porting everything to any other build system without causing an endless
slew of regressions and dropping support for a ton of targets is
virtually impossible.
Just open a MSVC command prompt, launch C:/MSYS64/msys2.exe (or wherever
you installed it) or if you got it set up wsl.exe, run ./configure
--toolchain=msvc and build away.
Timo
[-- Attachment #1.1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3203 bytes --]
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
[-- Attachment #2: Type: text/plain, Size: 163 bytes --]
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 2:49 ` [FFmpeg-devel] " Timo Rothenpieler via ffmpeg-devel
@ 2026-01-24 2:57 ` swurl via ffmpeg-devel
2026-01-24 16:06 ` Timo Rothenpieler via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: swurl via ffmpeg-devel @ 2026-01-24 2:57 UTC (permalink / raw)
To: Timo Rothenpieler via ffmpeg-devel; +Cc: swurl
"MSVC works fine! Just go to MSYS2 first"
That isn't "working", that's a horrible workaround. Not to mention this
is a nightmare to script or run in a CI environment.
Again, *I have tried this and it isn't good.* It's very prone to
breaking and pretty much impossible to make any meaningful changes. Not
to mention it almost never works
> Porting everything to any other build system without causing an
endless slew of regressions and dropping support for a ton of targets is
virtually impossible.
Call me crazy but I don't think FFmpeg needs to support somebody's 2003
toaster running a 200 MHz POWER4. Everything else is trivial to keep
support for, because *CMake literally runs everywhere.* See
https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html.
On 1/23/26 9:49 PM, Timo Rothenpieler via ffmpeg-devel wrote:
> That's very unlikely to happen.
> The current scripts support building using msvc just fine.
> Porting everything to any other build system without causing an
> endless slew of regressions and dropping support for a ton of targets
> is virtually impossible.
>
> Just open a MSVC command prompt, launch C:/MSYS64/msys2.exe (or
> wherever you installed it) or if you got it set up wsl.exe, run
> ./configure --toolchain=msvc and build away.
>
>
>
> Timo
>
> _______________________________________________
> ffmpeg-devel mailing list --ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email toffmpeg-devel-leave@ffmpeg.org
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-23 22:47 [FFmpeg-devel] Consider using CMake crueter via ffmpeg-devel
2026-01-24 2:49 ` [FFmpeg-devel] " Timo Rothenpieler via ffmpeg-devel
@ 2026-01-24 10:14 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-24 12:32 ` crueter via ffmpeg-devel
2026-01-24 15:10 ` James Almer via ffmpeg-devel
2026-01-24 16:23 ` Zhao Zhili via ffmpeg-devel
3 siblings, 1 reply; 13+ messages in thread
From: Rémi Denis-Courmont via ffmpeg-devel @ 2026-01-24 10:14 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Rémi Denis-Courmont
Le lauantaina 24. tammikuuta 2026, 0.47.34 Itä-Euroopan normaaliaika crueter
via ffmpeg-devel a écrit :
> Recently, I've been attempting to get FFmpeg building on MSVC. Normally
> FFmpeg is built with MinGW for Windows, but it is 100% possible to build
> it on MSVC. For those curious, I need this as a *static* library, and
> attempting to link statically built MinGW libraries on MSVC generally
> doesn't make for a fun time.
There are zero chances of that happening.
If a transition happens, it would presumably be towards Meson, which is way
more suited. But even that's a long shot.
--
ヅニ-クーモン・レミ
https://www.remlab.net/
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 10:14 ` Rémi Denis-Courmont via ffmpeg-devel
@ 2026-01-24 12:32 ` crueter via ffmpeg-devel
2026-01-24 16:13 ` Rémi Denis-Courmont via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: crueter via ffmpeg-devel @ 2026-01-24 12:32 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: crueter
Meson is even slower than the horribly written configure script AND has a hard dependency on Python. Absolutely not.
-------- Original Message --------
From: "Rémi Denis-Courmont via ffmpeg-devel" <ffmpeg-devel@ffmpeg.org>
Sent: January 24, 2026 5:14:48 AM EST
To: ffmpeg-devel@ffmpeg.org
Cc: "Rémi Denis-Courmont" <remi@remlab.net>
Subject: [FFmpeg-devel] Re: Consider using CMake.
Le lauantaina 24. tammikuuta 2026, 0.47.34 Itä-Euroopan normaaliaika crueter
via ffmpeg-devel a écrit :
> Recently, I've been attempting to get FFmpeg building on MSVC. Normally
> FFmpeg is built with MinGW for Windows, but it is 100% possible to build
> it on MSVC. For those curious, I need this as a *static* library, and
> attempting to link statically built MinGW libraries on MSVC generally
> doesn't make for a fun time.
There are zero chances of that happening.
If a transition happens, it would presumably be towards Meson, which is way
more suited. But even that's a long shot.
--
ヅニ-クーモン・レミ
https://www.remlab.net/
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-23 22:47 [FFmpeg-devel] Consider using CMake crueter via ffmpeg-devel
2026-01-24 2:49 ` [FFmpeg-devel] " Timo Rothenpieler via ffmpeg-devel
2026-01-24 10:14 ` Rémi Denis-Courmont via ffmpeg-devel
@ 2026-01-24 15:10 ` James Almer via ffmpeg-devel
2026-01-24 16:23 ` Zhao Zhili via ffmpeg-devel
3 siblings, 0 replies; 13+ messages in thread
From: James Almer via ffmpeg-devel @ 2026-01-24 15:10 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: James Almer
[-- Attachment #1.1.1: Type: text/plain, Size: 1917 bytes --]
On 1/23/2026 7:47 PM, crueter via ffmpeg-devel wrote:
> Recently, I've been attempting to get FFmpeg building on MSVC. Normally
> FFmpeg is built with MinGW for Windows, but it is 100% possible to build
> it on MSVC. For those curious, I need this as a *static* library, and
> attempting to link statically built MinGW libraries on MSVC generally
> doesn't make for a fun time.
>
> However, previously I had to rely on several horrible hacks, such as
> running everything through the MSYS shell (not ideal in the slightest),
> and then manually implanting `cl.exe` and others into PATH. This is not
> only a huge pain, but actually caused significant problems as it made it
> much harder to make pretty much any changes whatsoever without
> inevitably breaking everything.
I'm fairly sure you're required to use an environment like Msys2 to
compile FFmpeg. Looking at
https://fate.ffmpeg.org/report.cgi?slot=amd64-msvc&time=20260123104905 i
see compiling statically with msvc is not a problem.
The configure script has plenty of msvc specific considerations. You may
have forgotten to to pass --toolchain=msvc to it.
>
> Thus, when I had to make some significant changes to my script, I ended
> up facing a large number of issues. In no particular order:
>
> * pkg-config is basically nonexistent on Windows, and is barely
> functional when it does exist. This was a problem for Vulkan,
> ffnvcodec, openssl, and others.
Every package we check for with pkg-config will have a .pc file on a
Windows install as it will on a Linux one. But i suspect quite a few
will require you to build them with mingw-w64, though.
Keep in mind that pkg-config requires you to pass --static to get the
proper command line arguments to link to dependencies statically. In the
context of ffmpeg configure, that'd be done with
--pkg-config-flags="--static".
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
[-- Attachment #2: Type: text/plain, Size: 163 bytes --]
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 2:57 ` swurl via ffmpeg-devel
@ 2026-01-24 16:06 ` Timo Rothenpieler via ffmpeg-devel
2026-01-24 18:38 ` crueter via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: Timo Rothenpieler via ffmpeg-devel @ 2026-01-24 16:06 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Timo Rothenpieler
[-- Attachment #1.1.1.1: Type: text/plain, Size: 1001 bytes --]
On 24.01.2026 03:57, swurl via ffmpeg-devel wrote:
> "MSVC works fine! Just go to MSYS2 first"
>
> That isn't "working", that's a horrible workaround. Not to mention this
> is a nightmare to script or run in a CI environment.
>
> Again, *I have tried this and it isn't good.* It's very prone to
> breaking and pretty much impossible to make any meaningful changes. Not
> to mention it almost never works
It works perfectly fine for me.
> > Porting everything to any other build system without causing an
> endless slew of regressions and dropping support for a ton of targets is
> virtually impossible.
>
> Call me crazy but I don't think FFmpeg needs to support somebody's 2003
> toaster running a 200 MHz POWER4. Everything else is trivial to keep
> support for, because *CMake literally runs everywhere.* See https://
> cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html.
Just because you don't care about it doesn't mean other people also don't.
[-- Attachment #1.1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3203 bytes --]
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
[-- Attachment #2: Type: text/plain, Size: 163 bytes --]
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 12:32 ` crueter via ffmpeg-devel
@ 2026-01-24 16:13 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-25 17:33 ` swurl via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: Rémi Denis-Courmont via ffmpeg-devel @ 2026-01-24 16:13 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: Rémi Denis-Courmont
Le lauantaina 24. tammikuuta 2026, 14.32.39 Itä-Euroopan normaaliaika crueter
via ffmpeg-devel a écrit :
> Meson is even slower than the horribly written configure script AND has a
> hard dependency on Python. Absolutely not.
Ultimately you're free to port the FFmpeg build system to CMake yourself (or
pay someone to do so), and submit a PR showing how so much better it actually
is. Just don't be surprised if people reject it on the basis that it does not
work or is no better, or even actually worse, for most purposes other than
building FFmpeg on MSVC.
By the way, that includes building FFmpeg for Windows with an actual C/C++
toolchain (MingW or LLVM/Clang) from Linux or WSL, rather than using a sorry
approximation of one such as MSVC.
However your phrasing seems to indicate that you have no intention of actually
conducting that work. So then, there is no point in continuing this
discussion, because nobody else is going to try to do such it either.
--
Rémi Denis-Courmont
https://www.remlab.net/
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-23 22:47 [FFmpeg-devel] Consider using CMake crueter via ffmpeg-devel
` (2 preceding siblings ...)
2026-01-24 15:10 ` James Almer via ffmpeg-devel
@ 2026-01-24 16:23 ` Zhao Zhili via ffmpeg-devel
3 siblings, 0 replies; 13+ messages in thread
From: Zhao Zhili via ffmpeg-devel @ 2026-01-24 16:23 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: crueter, Zhao Zhili
> On Jan 24, 2026, at 06:47, crueter via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> wrote:
>
> Recently, I've been attempting to get FFmpeg building on MSVC. Normally FFmpeg is built with MinGW for Windows, but it is 100% possible to build it on MSVC. For those curious, I need this as a *static* library, and attempting to link statically built MinGW libraries on MSVC generally doesn't make for a fun time.
>
> However, previously I had to rely on several horrible hacks, such as running everything through the MSYS shell (not ideal in the slightest), and then manually implanting `cl.exe` and others into PATH. This is not only a huge pain, but actually caused significant problems as it made it much harder to make pretty much any changes whatsoever without inevitably breaking everything.
>
> Thus, when I had to make some significant changes to my script, I ended up facing a large number of issues. In no particular order:
>
> * pkg-config is basically nonexistent on Windows, and is barely
> functional when it does exist. This was a problem for Vulkan,
> ffnvcodec, openssl, and others.
> * Some of the libraries spit out absolutely gargantuan commands that
> go well over Windows' command line character limit of 8191, causing
> indecipherable build failures.
> * Windows' pathing is fundamentally incompatible with UNIX pathing,
> which caused also indecipherable build failures that ended up being
> caused by `gsub` in one of the scripts. Notably, I had to use this
> awful hack:
> sed-i's|gsub(/\\\\|gsub(/\\\\\\\\|g'ffbuild/*.mak
>
> * After all of this, I still haven't managed to get it to build,
> because I STILL get completely random build failures that make no
> sense whatsoever. For example, the libavutil target sometimes simply
> refuses to build any of its associated object files: LINK : fatal
> error LNK1181: cannot open input file 'libavutil\adler32.o' I still
> haven't figured this one out. It requires manual intervention to
> fix, which is terrible for UX and also virtually impossible to script.
Parts of these issues are true.
1. FFmpeg can be build with MSVC, but configure takes a few minutes
on a decent machine in msys2.
wm4 filed a issue to microsoft
https://github.com/microsoft/Windows-Dev-Performance/issues/15
2. Shell script in WSL is fast, but IO between WSL and Windows host is terrible.
3. Manage third party dependencies with MSVC toolchain is worse. Something
mismatch like this: pkg-config gives -lfoo, but MSVC search for foo.lib than
libfoo.a
gstreamer has a meson ports of ffmpeg:
https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg.git
From my tests, it takes 63 seconds for meson setup, while shell script configure
takes 333 seconds.
```
$ time meson setup \
-Dprograms=enabled \
-Dnonfree=enabled \
meson-build
...
Found ninja-1.11.1 at D:\bin\msys\ucrt64\bin/ninja.EXE
real 1m2.820s
user 0m0.015s
sys 0m0.000s
```
```
$ time ../configure --toolchain=msvc --target-os=win64
real 5m33.280s
user 0m1.272s
sys 0m1.510s
```
The same machine takes 10 seconds to run configure on Linux.
That's how painful to work on Windows with shell script.

>
> My proposition to solve this is to use CMake. The great thing about CMake is that *we don't have to worry about any of this!* CMake is incredibly smart and is more than capable of doing all of that and more, and *dramatically* faster too. It has so many advantages that I can't list them all. But here's an abridged list:
>
> * CMake is completely platform agnostic and doesn't require a "special
> GNU build" like make does. Instead it's capable of using Ninja, also
> platform agnostic, which is both faster than make AND runs
> everywhere. This would've fixed several of the Windows-specific
> issues I faced--not to mention that users of non-GNU operating
> systems (Solaris, *BSD, etc.) don't HAVE to install GNU make just
> for it to work. This also means those users don't have to explicitly
> invoke `gmake` and can instead just `cmake --build`.
> * CMake does a lot for you. The giant-wall-of-text configure script is
> cool and all, but CMake requires significantly less manual
> intervention, as it handles:
> o Compilers
> o Build type
> o Options and settings
> o Platform/architecture specific stuff
> * CMake doesn't rely on coreutils or anything besides itself. This
> means you don't *have* to install GNU coreutils on systems that lack
> them by default, and also prevents spurious failures caused by minor
> differences between distributions of awk, sed, etc.
> * CMake handles package finding for you. Many of FFmpeg's dependencies
> *also* install CMake config files, which are significantly nicer to
> play with than pkg-config. CMake is also perfectly capable of using
> pkg-config as well!
> * CMake scripts are FAR more readable. Trying to parse through the
> giant configure script is a pain, especially when I'm trying to see
> what an option does and leaving confused because it's handled in
> some random other file nobody has touched in 10 years. With CMake
> however, options are laid out nicely in explicit commands and can
> even be parsed by IDEs, making them extremely easy to read and find.
>
> This isn't even close to a comprehensive list of CMake's benefits nor the MANY problems I had with the configure script. That being said, I imagine this will be met with a lot of criticism, so to pre-emptively answer some questions I may or may not receive:
>
> * *Why not do it yourself?*
> o The biggest reason is I don't fully understand what every option
> does and thus would not be able to do much of anything helpful.
> Not to mention I don't really have the free time at the moment
> to dive into something that may very well be immediately
> rejected from the patch mailing list.
> * *Why not just fix the configure script and Makefiles?*
> o This is an even bigger ask than making a whole new build system,
> because it is fundamentally not designed for MSVC to even be
> possible whatsoever. Makefiles are inherently UNIX-y and don't
> play well with Windows in general; not to mention that
> maintaining a giant wall of text script is generally frowned upon.
> * *Why change what's not broken?*
> o The build system as is, is quite broken on MSVC. I barely
> scratched the surface of the sheer myriad of issues I had and am
> still having.
>
> That's all.
> _______________________________________________
> ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
> To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 16:06 ` Timo Rothenpieler via ffmpeg-devel
@ 2026-01-24 18:38 ` crueter via ffmpeg-devel
0 siblings, 0 replies; 13+ messages in thread
From: crueter via ffmpeg-devel @ 2026-01-24 18:38 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: crueter
Yeah and those people don't matter. Anyways, this mailing list is a disaster.
-------- Original Message --------
From: Timo Rothenpieler via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
Sent: January 24, 2026 11:06:28 AM EST
To: ffmpeg-devel@ffmpeg.org
Cc: Timo Rothenpieler <timo@rothenpieler.org>
Subject: [FFmpeg-devel] Re: Consider using CMake.
On 24.01.2026 03:57, swurl via ffmpeg-devel wrote:
> "MSVC works fine! Just go to MSYS2 first"
>
> That isn't "working", that's a horrible workaround. Not to mention this is a nightmare to script or run in a CI environment.
>
> Again, *I have tried this and it isn't good.* It's very prone to breaking and pretty much impossible to make any meaningful changes. Not to mention it almost never works
It works perfectly fine for me.
> > Porting everything to any other build system without causing an endless slew of regressions and dropping support for a ton of targets is virtually impossible.
>
> Call me crazy but I don't think FFmpeg needs to support somebody's 2003 toaster running a 200 MHz POWER4. Everything else is trivial to keep support for, because *CMake literally runs everywhere.* See https:// cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html.
Just because you don't care about it doesn't mean other people also don't.
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-24 16:13 ` Rémi Denis-Courmont via ffmpeg-devel
@ 2026-01-25 17:33 ` swurl via ffmpeg-devel
2026-01-25 20:30 ` Rémi Denis-Courmont via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: swurl via ffmpeg-devel @ 2026-01-25 17:33 UTC (permalink / raw)
To: Rémi Denis-Courmont via ffmpeg-devel; +Cc: swurl
I probably should have expected stuck-up retards like you to immediately
complain about "just do it yourself harr harr harr". I specifically
created this to serve as a discussion piece, not for some 50 year old
corporate slave to immediately start hurling cope at me.
I actually did plan to port it eventually, but now I don't really feel
like doing it anymore because of your incredibly dismissive attitude
towards the mere thought of someone making an objectively good change.
Maybe I'll do it someday but add a clause to the license stating that
you must not be named Rémi Denis-Courmont to use this. :)
> rather than using a sorry approximation of one such as MSVC.
Again, unnecessarily dismissive. There are a huge number of use cases
for MSVC, because it is by far the most used compiler for desktop
targets. Do note that MinGW-built static libraries are not compatible
with MSVC executables.
On 1/24/26 11:13 AM, Rémi Denis-Courmont via ffmpeg-devel wrote:
> Le lauantaina 24. tammikuuta 2026, 14.32.39 Itä-Euroopan normaaliaika crueter
> via ffmpeg-devel a écrit :
>> Meson is even slower than the horribly written configure script AND has a
>> hard dependency on Python. Absolutely not.
> Ultimately you're free to port the FFmpeg build system to CMake yourself (or
> pay someone to do so), and submit a PR showing how so much better it actually
> is. Just don't be surprised if people reject it on the basis that it does not
> work or is no better, or even actually worse, for most purposes other than
> building FFmpeg on MSVC.
>
> By the way, that includes building FFmpeg for Windows with an actual C/C++
> toolchain (MingW or LLVM/Clang) from Linux or WSL, rather than using a sorry
> approximation of one such as MSVC.
>
> However your phrasing seems to indicate that you have no intention of actually
> conducting that work. So then, there is no point in continuing this
> discussion, because nobody else is going to try to do such it either.
>
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-25 17:33 ` swurl via ffmpeg-devel
@ 2026-01-25 20:30 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-26 3:30 ` ff--- via ffmpeg-devel
0 siblings, 1 reply; 13+ messages in thread
From: Rémi Denis-Courmont via ffmpeg-devel @ 2026-01-25 20:30 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Cc: swurl, Rémi Denis-Courmont
Your original mail sounded more like a demand than an offer. Are we supposed to infer that you don't really master the English language?
Thing is, even if you don't, public insult and defamation are felonies, not technical arguments. Also they make you look very immature, dumb and ignorant of open-source.
So congrats on ruining your own arguments, I guess.
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] Re: Consider using CMake.
2026-01-25 20:30 ` Rémi Denis-Courmont via ffmpeg-devel
@ 2026-01-26 3:30 ` ff--- via ffmpeg-devel
0 siblings, 0 replies; 13+ messages in thread
From: ff--- via ffmpeg-devel @ 2026-01-26 3:30 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: ff
On 2026-01-25 12:30, Rémi Denis-Courmont via ffmpeg-devel wrote:
> defamation
hey, as long as we are on the subject...
are you out there saying i was banned from something? i dont recall any
notification stating i was banned from anything.
thanks
-compn
compn@ffmpeg.org
_______________________________________________
ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org
To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-01-26 3:31 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-23 22:47 [FFmpeg-devel] Consider using CMake crueter via ffmpeg-devel
2026-01-24 2:49 ` [FFmpeg-devel] " Timo Rothenpieler via ffmpeg-devel
2026-01-24 2:57 ` swurl via ffmpeg-devel
2026-01-24 16:06 ` Timo Rothenpieler via ffmpeg-devel
2026-01-24 18:38 ` crueter via ffmpeg-devel
2026-01-24 10:14 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-24 12:32 ` crueter via ffmpeg-devel
2026-01-24 16:13 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-25 17:33 ` swurl via ffmpeg-devel
2026-01-25 20:30 ` Rémi Denis-Courmont via ffmpeg-devel
2026-01-26 3:30 ` ff--- via ffmpeg-devel
2026-01-24 15:10 ` James Almer via ffmpeg-devel
2026-01-24 16:23 ` Zhao Zhili via ffmpeg-devel
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git