Am 24.10.2021 um 12:23 schrieb Stephan Witt <st.w...@gmx.net>:
> 
> Am 17.10.2021 um 06:09 schrieb Richard Kimberly Heck <rikih...@lyx.org>:
>> 
>> On 10/16/21 17:15, Thibaut Cuvelier wrote:
>>> Dear list,
>>> 
>>> In my last patch (21366155), I added a dependency from InsetText to Qt to 
>>> be able to generate SHA hashes. The main goal is to have an 
>>> almost-collision-free name-generation technique, which is a great 
>>> useability enhancement, that's why I already pushed the patch. Collisions 
>>> would be awful, because two different insets would have the same file name.
>>> 
>>> I don't think Bernstein's hash (in Author.cpp) would fit the bill: it 
>>> doesn't go to great lengths to avoid collisions (it has a lot for strings: 
>>> https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed).
>>> 
>>> UUID/GUID are mostly time-based or use cryptographic hash functions: they 
>>> do not really depend on the content, but mostly on time, and I need that 
>>> the file names remain constant in time (unless the LaTeX code that is 
>>> compiled gets changed).
>>> 
>>> CityHash would be enough, but that's another dependency to add to LyX 
>>> (https://github.com/google/cityhash).
>>> 
>>> The only solution I found without importing a large new dependency into LyX 
>>> was to use Qt's QCryptographicHash, just like support/FileName.cpp. I know 
>>> that LyX tries to have clear boundaries for dependencies, that's why I'm 
>>> bringing the question to the list. Is the current solution acceptable? 
>>> Maybe move some of the code to support/FileName.cpp?
>> 
>> Basically, the rule is to keep Qt dependencies that aren't in the frontend 
>> in support. Just put some wrapper function in there, and that'll be fine. 
>> Maybe in support/filetools?
> 
> Sorry for hijacking this thread…
> 
> I’m trying to build LyX-2.4 on macOS with Qt-6.2 with minimal changes to the 
> Qt-setup.  In the past I’ve „fixed“ the installed Qt instead of the build 
> system of LyX.  Now I’m trying to do the right thing and add all the 
> framework directories of Qt to the compiler command line in config/qt.m4 - 
> this works for all sources in src/frontend/qt but not e.g. for src/Compare.h 
> because there are Qt-includes and the Makefile doesn’t pass the Qt-include 
> directives to the compiler.
> 
> To add some contextual info: the header file QDate e.g. on macOS is placed in 
> the Qt framework QtCore (which is a directory with standard structure and 
> contains the shared libraries plus the header files). The QTDIR/include 
> directory doesn’t has a subdirectory QtCore or something like that. So I need 
> to add the path to the directory inside the framework bundle containing QDate 
> to the compiler flags.
> 
> My problem with the current situation is the failure to build LyX w/o 
> creating symbolic links in QTDIR/include to the different places of the 
> Qt-frameworks because of the bad Qt-dependencies of LyX sources. The 
> mentioned rule to keep Qt dependencies in src/support is not respected ATM. 
> What can I do now?

Finally I got the answer myself. There are two Qt-include variables in Makefile 
generation of configure. If I adjust both (QT_INCLUDES and QT_CORE_INCLUDES) it 
works for me.

I’ve pushed the change of qt.m4 which made it work.

BR, Stephan
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to