Date: Wed, 18 May 2022 12:26:28 +0100
On 16/05/2022 18:32, Daniela Engert via SG15 wrote:
> Hi Stephen!
>
> Am 16.05.2022 um 13:53 schrieb Stephen Kelly:
>> You wrote below that "And both msvc and cmake were happy with it (and
>> still are)."
>>
>> How do I build modules with fmt? Looking at the CMakeLists.txt it
>> seems that modules support in fmt is disabled in msvc version
>> 19.29.30025.
>>
>> I have access to msvc 19.29.30140. I tried to hack the CMakeLists.txt
>> a bit but I couldn't make it build. Can fmt be updated to work with
>> up to date msvc?
>>
> It's disabled because it makes CI instantly fail on GHA. The reason is
> that the CMake VS generator was broken for quite some time and created
> invalid commandline options. The Ninja generator was fine (and
> probably still is).
I was able to build fmt with
cmake .. -G Ninja -DFMT_MODULE=ON -DCMAKE_CXX_STANDARD=20 -DFMT_TEST=OFF
-DCMAKE_INSTALL_PREFIX=prefix
The reason I got interested in your work there was to see what artifacts
you install and where. It seems that in that mode, headers are
installed, but I don't see anything in the install prefix that would
make it possible for downstreams to use it (would that be the PMUI in
theory?). I am guessing that was out of scope of your efforts.
> I need to check once more if CMake is in better shape these days, and
> also if the visibility issue is still present in msvc 17.2. TBH I'm
> following {fmt} development (and my modules implementation for it)
> much less recently because afaik neither clang nor gcc can compile
> fmt.cc (the PMIU) and modules support in CMake is still a mystery to
> me (as a Windows-only person).
>
Do you or anyone else know of any library with a similar effort of
modules support, with also some installed artifacts relating to modules?
(possibly also installing headers for compatibility).
Thanks,
Stephen.
> Hi Stephen!
>
> Am 16.05.2022 um 13:53 schrieb Stephen Kelly:
>> You wrote below that "And both msvc and cmake were happy with it (and
>> still are)."
>>
>> How do I build modules with fmt? Looking at the CMakeLists.txt it
>> seems that modules support in fmt is disabled in msvc version
>> 19.29.30025.
>>
>> I have access to msvc 19.29.30140. I tried to hack the CMakeLists.txt
>> a bit but I couldn't make it build. Can fmt be updated to work with
>> up to date msvc?
>>
> It's disabled because it makes CI instantly fail on GHA. The reason is
> that the CMake VS generator was broken for quite some time and created
> invalid commandline options. The Ninja generator was fine (and
> probably still is).
I was able to build fmt with
cmake .. -G Ninja -DFMT_MODULE=ON -DCMAKE_CXX_STANDARD=20 -DFMT_TEST=OFF
-DCMAKE_INSTALL_PREFIX=prefix
The reason I got interested in your work there was to see what artifacts
you install and where. It seems that in that mode, headers are
installed, but I don't see anything in the install prefix that would
make it possible for downstreams to use it (would that be the PMUI in
theory?). I am guessing that was out of scope of your efforts.
> I need to check once more if CMake is in better shape these days, and
> also if the visibility issue is still present in msvc 17.2. TBH I'm
> following {fmt} development (and my modules implementation for it)
> much less recently because afaik neither clang nor gcc can compile
> fmt.cc (the PMIU) and modules support in CMake is still a mystery to
> me (as a Windows-only person).
>
Do you or anyone else know of any library with a similar effort of
modules support, with also some installed artifacts relating to modules?
(possibly also installing headers for compatibility).
Thanks,
Stephen.
Received on 2022-05-18 11:26:11