Do we need KDEWIN_DIR as an environment variable? - was: Re: KDE/kdelibs/cmake/modules
Ralf Habacker
ralf.habacker at freenet.de
Sat Dec 29 17:14:09 CET 2007
Saro Engels schrieb:
> Alexander Neundorf schrieb:
>
>> On Sunday 23 December 2007, Saro Engels wrote:
>>
>>> Ralf Habacker schrieb:
>>>
>>>> Andreas Pakulat schrieb:
>>>>
>>>>> SVN commit 751844 by apaku:
>>>>>
>>>>> Don't require FindKDEWIN to succeed, its just a convenience thing to
>>>>> not have to set CMAKE_INCLUDE_PATH and CMAKE_LIB_PATH when installing
>>>>> gnuwin32 libs into a "known" place (like C:\Program Files\win32libs).
>>>>> But that breaks things like emerge which already set the two variables
>>>>> and thus don't set KDEWIN_DIR and don't need to set it.
>>>>>
>>>>> If the convenience thing isn't needed FindKDEWIN.cmake can be removed
>>>>> completely
>>>>>
>>>> This would mean to exclude application developers using kdewin-installer
>>>>
>>> No - the point is the following:
>>> I cannot see any difference between the kdesupport libraries (strigi,
>>> eigen, soprano etc.) and the gnuwin32 libraries except for the source of
>>> the package. Libraries are libraries whereever they come from.
>>>
>>> So basically the idea behind the gnuwin32/kdewin directory is to be able
>>> to use libraries and header files from different directories than the
>>> kderoot directory. That should not be limited to one directory and then
>>> hardcoded within the kde sources - If we have to decide later that we
>>> really need to change the layout we get serious problems.
>>>
>>> As far as I understand cmake the best cmake commandline looks like this:
>>>
>>> cmake %builddir% -G "Compiler-Makefile" -DCMAKE_INSTALL_PREFIX=%INSTALL%
>>>
>>> currently my cmake cmdline looks like this:
>>>
>>> cmake %builddir% -G "Compiler-Makefile" -DCMAKE_INSTALL_PREFIX=%INSTALL%
>>> -DCMAKE_LIBRARY_PATH=%INSTALL%/lib
>>> -DCMAKE_INCLUDE_PATH=%INSTALL%/include -DKDEWIN_DIR=%INSTALL%
>>>
>>> This is definitely not the best way: you can see that I have to repeat
>>> %INSTALL% 4 times whereas it is what both the kdewin-installer and
>>> emerge produce as the standard installation layout!
>>> My idea is to search CMAKE_INSTALL_PREFIX/include and
>>> CMAKE_INSTALL_PREFIX/lib without putting it extra to the commandline.
>>> If you have packages in different locations like %PROGRAMFILES%\gnuwin32
>>> etc. these can be searched for but should not lead to a problem. They
>>> can be included via the -DCMAKE_INCLUDE_PATH and -DCMAKE_LIBRARY_PATH
>>> then. In the end we don't need an extra KDEWIN_DIR anymore since we can
>>> use the other two variables for it.
>>>
>>> If we define a new layout later of any kind, we can thus integrate it
>>> well into that structure.
>>>
>>> disclaimer: this problem is not pressing, it just annoys me a bit and
>>> should be solved somewhen.
>>>
>> CMake cvs supports the environment variable CMAKE_FIND_PREFIX, which is a list
>> of directories, and each of the directories will be used in the
>> FIND_LIBRARY/PROGRAM/PATH/FILE() commands with the appropriate subdir
>> appended (i.e. lib/, bin/ and include/).
>>
>> Does this help against that problem ?
>>
> That sounds at least much cleaner. We would get over those search issues
> in the end.
>
>> The release date for CMake 2.6.0 is not too far away (no fixed date, but it
>> should be a few weeks). Since KDE 4.0 will not be production-ready for
>> Windows (if I understood that correctly), would it be ok to require cmake 2.5
>> or 2.6 under Windows ?
>>
> I cannot decide that, that is more or less a question for all.
>
The idea of KDEWIN_DIR is to have an automatic way to detect installed
package by the kdewin-installer. I'm not bound to this specific variable
as long as there would be a generic way to detect installations using
the kdewin installer.
I think the ini file of the installer could be parsed to detect
installation roots. Does cmake have build in support for parsing ini
style files ?
> There were some bugs fixed in cmake cvs which might be needed as well.
>
Are there any fixes relating to the absolute dependency path problems in
KDELibsDependencies/KDEPimLibsDependencies or installing manifest files
for executables for msvc ?
Ralf
More information about the Kde-windows
mailing list