CMake on Windows

Thibaut Cuvelier tcuvelier at lyx.org
Sun Jan 24 22:52:02 UTC 2021


On Sat, 23 Jan 2021 at 09:07, Yu Jin <yu_jin at lyx.org> wrote:

> Am Fr., 22. Jan. 2021 um 22:33 Uhr schrieb Thibaut Cuvelier <
> tcuvelier at lyx.org>:
>
>> On Thu, 21 Jan 2021 at 19:23, Kornel Benko <kornel at lyx.org> wrote:
>>
>>> Am Thu, 21 Jan 2021 18:26:38 +0100
>>> schrieb Thibaut Cuvelier <tcuvelier at lyx.org>:
>>>
>>> > Dear list, and Pavel mostly :)
>>> >
>>> > I'm starting again to configure LyX on Windows, and the CMake files do
>>> not behave as
>>> > expected.
>>> >
>>> > I am setting -DLYX_DEPENDENCIES_DOWNLOAD=1 on the command line, but
>>> this is what it
>>> > outputs:
>>> >
>>> > "C:\Program Files\JetBrains\CLion\bin\cmake\win\bin\cmake.exe"
>>> -DCMAKE_BUILD_TYPE=Debug
>>> > -DLYX_DEPENDENCIES_DOWNLOAD=1 -G "CodeBlocks - NMake Makefiles"
>>> D:\Thibaut\LyX --
>>> > TOP_SRC_DIR = D:/Thibaut/LyX --
>>> > -- Building out-of-source
>>> > -- Selecting build type defaults from configure.ac
>>> > -- ERROR: Could NOT find GNUWIN32, please set GNUWIN32_DIR
>>> > -- ERROR: or let cmake download all required files by using
>>> > -DLYX_DEPENDENCIES_DOWNLOAD=1 CMake Error at
>>> > development/cmake/modules/FindGNUWIN32.cmake:43 (message): Call Stack
>>> (most recent call
>>> > first): development/cmake/modules/LyXPaths.cmake:57 (find_package)
>>> >   CMakeLists.txt:251 (include)
>>> >
>>> > It really looks like the parameter I set is disregarded (as if the
>>> check is done before
>>> > any downloading can happen). My CMake skills do not allow me to debug
>>> this thoroughly…
>>> >
>>> > Moreover, the variables MSVC14 and MSVC10 are discouraged since CMake
>>> 3.8:
>>> > https://cmake.org/cmake/help/v3.8/variable/MSVC14.html. Plus, the
>>> same set of
>>> > dependencies can be used for Visual C++ 2017 and 2019, which the
>>> current code cannot do
>>> > (and there are no more MSVC variables for these). I am joining a patch
>>> to switch to the
>>> > now recommended MSVC_VERSION. It is untested due to the above issue.
>>>
>>> Since the FindGNUWIN32 is called form
>>> development/cmake/modules/LyXPaths.cmake
>>> and this is called from CMakeLists.txt:251, it is no wonder, that
>>> LYX_DEPENDENCIES_DOWNLOAD
>>> had no effect. (It is used at CMakeLists.txt:312, (means later)).
>>>
>>
>> Here is my attempt at solving the issue. It works on my side, at least
>> (and it is able to download the right file). The previous patch is merged
>> in this one.
>>
>> Can I push this commit?
>>
>
> Please check this link:
> http://ftp.lyx.org/pub/lyx/devel/win_deps/
> there are dependencies "2019" and both 32 and 64 bit variants, I don't see
> anything regarding that in your patch.
>

Thanks for noticing this, I was limiting myself to the current FTP (lyx.de).


Here is a new version of the patch using this new FTP. It's more complex,
because CMake almost does whatever it can to avoid checking if you are
compiling for 32 or 64 bits… (The most common solution, based on checking
the size of a void*, is completely wrong, because it is based on the
running version of CMake, and not the compiler being used — on Windows,
there is not really an incentive to have everything 64 bits, so it's quite
normal to use a 32-bit CMake with a 64-bit compiler.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20210124/1617fe96/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unnamed6.patch
Type: application/octet-stream
Size: 4631 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20210124/1617fe96/attachment.obj>


More information about the lyx-devel mailing list