Standalone qt-dbus in kdesupport
Ralf Habacker
ralf.habacker at freenet.de
Fri Jun 9 13:15:36 CEST 2006
Ralf Habacker schrieb:
> Ralf Habacker schrieb:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Paulo Moura Guedes schrieb:
>>
>>
>>> On Thursday 08 June 2006 22:21, Ralf Habacker wrote:
>>>
>>>
>>>> It is possible to set a different installation dir for make install ?
>>>>
>>>>
>>> You mean by default?
>>> You can set it explicitly with the variable CMAKE_INSTALL_PREFIX.
>>>
>>>
>> No. I meant by running make install. The package must be configured by
>> using the default
>>
>> make install prefix=<another-install-dir>
>>
>>
>> or
>>
>> make install CMAKE_INSTALL_PREFIX=<another-install-dir>
>>
>>
> Some additional notes:
>
> On automake based systems the generic way is to configure a package with
> a specific installation path (prefix=...) , which is used in several
> parts, for example rpath settings, config files and tools like
> kde-config and other.
>
> F:\daten\kdelibs-build>bin\kde-config --prefix
> C:\Programme\kdelibs
>
> on unix this will report probably /opt/kde4 or similar
>
> To make a binary package on unix for example rpm a source tar ball is
> unpacked by rpmbuild in a temporay location, compiled and installed in
> an temporary installation dir of wich the related files are packaged
> into the final rpm.
> Using a temporary installation dir is necessary because installing in
> the original cmake given install path would overwrite important files in
> the running os.
>
> rpmbuild uses
>
> make install prefix=<temporary-install-dir>
>
>
> On windows packaging goes similar. One will unpack a source tar ball or
> get the source from cvs, configure it with a specific installation path,
> compile it and install the result into a temporary directory, from which
> a zip archive or a graphical installer using Inno Setup or NSIS will be
> created.
>
> Hope that explains a little bit more the need for a temporary install
> path option for make install.
>
>
> BTW: I have send this answer to kde-buildsystem too because this is a
> build system issue.
>
I there any way to define a constant to cmake in install mode ?
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan
"Install the project..."
f:\cmake24\bin\cmake.exe -P cmake_install.cmake
I've added a message to the beginning of cmake_install.cmake
# Install script for directory: F:/daten/kdesupport/qt-dbus
MESSAGE(STATUS "install prefix" ${CMAKE_INSTALL_PREFIX})
# Set the install prefix
IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
SET(CMAKE_INSTALL_PREFIX "C:/Programme/qt-dbus")
and run
f:\cmake24\bin\cmake.exe -P cmake_install.cmake
-DCMAKE_INSTALL_PREFIX:string="c:\test"
f:\cmake24\bin\cmake.exe -P cmake_install.cmake -D
CMAKE_INSTALL_PREFIX:string="c:\test"
but the constant is not set
-- install prefix
-- Install configuration: "Release"
-- Installing C:/Programme/qt-dbus/lib/pkgconfig/dbus-qt4-1.pc
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbus.h
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbusbus.h
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbusmacros.h
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbuserror.h
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbusmessage.h
-- Installing C:/Programme/qt-dbus/include/dbus-1.0/dbus/qdbusserver.h
If I change the path in cmake_install.cmake the
SET(CMAKE_INSTALL_PREFIX "C:/Programme/a")
files are installed into C:/Programme/a
F:\daten\kdesupport\qt-dbus-build>make install
Install the project...
-- install prefix
-- Install configuration: "Release"
-- Installing C:/Programme/a/lib/pkgconfig/dbus-qt4-1.pc
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbus.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusbus.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusmacros.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbuserror.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusmessage.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusserver.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusconnection.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusabstractinterface.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusinterface.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusutil.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusabstractadaptor.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbusreply.h
-- Installing C:/Programme/a/include/dbus-1.0/dbus/qdbustypehelper_p.h
-- Installing C:/Programme/a/lib/libdbus-qt4-1.dll.a
-- Installing C:/Programme/a/bin/libdbus-qt4-1.dll
-- Installing C:/Programme/a/bin/dbus.exe
-- Installing C:/Programme/a/bin/dbuscpp2xml.exe
-- Installing C:/Programme/a/bin/dbusidl2cpp.exe
cmake show that the form of the definition must be okay
Command-Line Options
-C <initial-cache> = Pre-load a script to populate the cache.
-D <var>:<type>=<value> = Create a cmake cache entry.
-G <generator-name> = Specify a makefile generator.
and my question is if I have done something wring or does cmake not set
the related constant, wich would be the solution as far as I can see.
Ralf
More information about the Kde-buildsystem
mailing list