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