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= >> >> >> or >> >> make install CMAKE_INSTALL_PREFIX= >> >> > 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= > > > 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 = Pre-load a script to populate the cache. -D := = Create a cmake cache entry. -G = 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