Review Request 111938: Allow installing both qca2 and qca3
Alex Richardson
arichardson.kde at googlemail.com
Thu Sep 12 14:34:13 UTC 2013
Sorry for the late reply, I was away last week.
Are there any more steps I should perform to ensure this works fine for
everyone?
Thanks,
Alex
Am Montag, 9. September 2013, 15:21:03 schrieb Ivan Romanov:
> > On Sept. 1, 2013, 11:16 p.m., David Faure wrote:
> > > Looks fine to me.
> >
> > Ivan Romanov wrote:
> > I don't agree with this patch. I didn't get any notification about
> > this. So I very ask you before do any changes in cmake rules talk
> > with me. It is important for me.>
> > David Faure wrote:
> > Holy... and here I was, thinking I was doing something good by
> > reviewing patches for QCA, for lack of reviewers/maintainers.
> >
> > Fine, I will definitely stay out of QCA completely, it's not like I
> > ever wanted to be involved with it. It's all yours now.
> >
> > When objecting to a patch, you might want to give a more detailed
> > technical argumentation than "I don't agree", BTW. But I don't care
> > anymore for that argumentation, that's a discussion between you and
> > Alexander.
> >
> > About notifications: you were in the CC for the request, according to
> > reviewboard. You might want to check which emails reviewboard has for
> > you, or your mail setup.>
> > Ivan Romanov wrote:
> > Bad ides was to change default values. Now Gentoo building broken also
> > ... yestarday we was building QCA for Qt5 on Windows and couldn't
> > understand why it was installing to "C:\Program Files\" and had -qt5
> > suffix.
> >
> > So Alexander please revert
> > 1. QCA_INSTALL_IN_QT_PREFIX default value
> > 2. QCA_LIB_SUFFIX defalut value
> > 3. QCA_INCLUDE_INSTALL_DIR and QCA_PRIVATE_INCLUDE_INSTALL_DIR in case
> > when QCA_INSTALL_IN_QT_PREFIX == OFF.
> >
> > Also what for LIB_INSTALL_DIR has different values for Qt4 and Qt5?
> >
> > When I was writing this rules I want to reach the purposes of:
> > 1. Easy installing when building manually.
> > 2. Good adjustability to satisfy any needs.
> >
> > David. Thanks for review and thanks for your care Qca.
> >
> > Ivan Romanov wrote:
> > Alexander, I discussed question about QCA_INSTALL_IN_QT_PREFIX with
> > David. So, I agree to use QCA_INSTALL_IN_QT_PREFIX=ON only when
> > CMAKE_INSTALL_PREFIX is not defined. Furthemore I want to use
> > QCA_INSTALL_IN_QT_PREFIX as non-cache entry. It's mean that by
> > default for installing will be used Qt prefix, if user defined
> > CMAKE_INSTALL_PREFIX this folder will be used. If user want to
> > install in /usr/local he must do 'cmake
> > -DCMAKE_INSTALL_PREFIX=/usr/local'.
> >
> > Yes, I do. I know that /usr/local is Unix tradition. And now I
> > consciously break this. Package maintainers always use
> > CMAKE_INSTALL_PREFIX, default path is important only for people how
> > build for themself. If someone want to build for himself he will
> > prefer Qt prefix. Anyway I very doubt that he want to install in
> > /usr/local, more likely he will use CMAKE_INSTALL_PREFIX with other
> > path. So /usr/local is the most rarely case.>
> > David Faure wrote:
> > +1. This seems to be the best solution.
> >
> > Christophe Giboudeaux wrote:
> > No no no, you completely ignored what I said yesterday.
> > QCA_INSTALL_IN_QT_PREFIX must be OFF by default without condition, and
> > that was fixed with this review request.>
> > > So, I agree to use QCA_INSTALL_IN_QT_PREFIX=ON only when
> > > CMAKE_INSTALL_PREFIX is not defined.>
> > That just won't work, CMAKE_INSTALL_PREFIX will always be defined.
> > This can be verified very simply:
> >
> > project(test)
> > cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
> > if(DEFINED CMAKE_INSTALL_PREFIX)
> >
> > message(STATUS "PREFIX: ${CMAKE_INSTALL_PREFIX}")
> >
> > endif()
> >
> > Running 'cmake -DCMAKE_INSTALL_PREFIX="/foo"' will return "/foo"
> > Just running 'cmake' will return "/usr/local"
> >
> > Please just add a README.PACKAGERS file giving information about the
> > qca options.>
> > Ivan Romanov wrote:
> > if(DEFINED CMAKE_INSTALL_PREFIX)
> >
> > message(STATUS "PREFIX: ${CMAKE_INSTALL_PREFIX}")
> >
> > endif()
> > project(test)
> > cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
> >
> > [taurus at localhost test]$ cmake .
> > -- The C compiler identification is GNU 4.8.1
> > -- The CXX compiler identification is GNU 4.8.1
> > -- Check for working C compiler: /usr/bin/cc
> > -- Check for working C compiler: /usr/bin/cc -- works
> > -- Detecting C compiler ABI info
> > -- Detecting C compiler ABI info - done
> > -- Check for working CXX compiler: /usr/bin/c++
> > -- Check for working CXX compiler: /usr/bin/c++ -- works
> > -- Detecting CXX compiler ABI info
> > -- Detecting CXX compiler ABI info - done
> > -- Configuring done
> > -- Generating done
> > -- Build files have been written to:
> > /home/taurus/develop/free-lance/hamster-tz/icons/test
> > [taurus at localhost test]$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local . --
> > PREFIX: /usr/local
> > -- Configuring done
> > -- Generating done
> > -- Build files have been written to:
> > /home/taurus/develop/free-lance/hamster-tz/icons/test>
> > Ivan Romanov wrote:
> > I didn't ignore you. I just didn't see solid reasons to use /usr/local
> > by default. I am looking for a way to satisfy everbody. Also I want
> > to satisfy myself.>
> > Ivan Romanov wrote:
> > [taurus at localhost test]$ rm -fr CMakeCache.txt CMakeFiles
> > cmake_install.cmake Makefile [taurus at localhost test]$ cmake
> > -DCMAKE_INSTALL_PREFIX=/usr/local . -- PREFIX: /usr/local
> > -- The C compiler identification is GNU 4.8.1
> > -- The CXX compiler identification is GNU 4.8.1
> > -- Check for working C compiler: /usr/bin/cc
> > -- Check for working C compiler: /usr/bin/cc -- works
> > -- Detecting C compiler ABI info
> > -- Detecting C compiler ABI info - done
> > -- Check for working CXX compiler: /usr/bin/c++
> > -- Check for working CXX compiler: /usr/bin/c++ -- works
> > -- Detecting CXX compiler ABI info
> > -- Detecting CXX compiler ABI info - done
> > -- Configuring done
> > -- Generating done
> > -- Build files have been written to:
> > /home/taurus/develop/free-lance/hamster-tz/icons/test>
> > Christophe Giboudeaux wrote:
> > Forget /usr/local, that's not the problem. It's the default value that
> > CMake will use if no installation prefix is given. The issue is your
> > option: I'm repeating: "QCA_INSTALL_IN_QT_PREFIX must be OFF by
> > default" or said differently, never install anything outside
> > CMAKE_INSTALL_PREFIX unless this option is enabled and you will make
> > everyone happy.>
> > Ivan Romanov wrote:
> > Why CMAKE_INSTLL_PREFIX must be used by default?
> >
> > Ivan Romanov wrote:
> > What bad to use Qt prefix by default? Why are you against it?
> >
> > Ivan Romanov wrote:
> > Also have a look at this line
> > 111: set(QCA_FEATURE_INSTALL_DIR "${QT_MKSPECS_DIR}/features" CACHE
> > PATH "Directory where qca feature file will install") It is not uses
> > CMAKE_INSTALL_PREFIX.
> >
> > Christophe Giboudeaux wrote:
> > > Why CMAKE_INSTLL_PREFIX must be used by default?
> > > What bad to use Qt prefix by default? Why are you against it?
> >
> > This is the same question.
> >
> > Three examples:
> > 1/ Joe uses his distribution Qt5 packages, they're installed to /usr
> > with root permissions If Joe tries to build QCA, if this option is on
> > by default, it will require root password to install.
> >
> > 2/ Jack builds his own Qt5 and uses it uninstalled.
> > When he builds QCA with the behaviour you suggest, files will be
> > installed in his Qt5 sources dir.
> >
> > 3/ Aver..err Ben did set up a continuous build host called Jenkins
> > (also known as build.kde.org) where every module is installed in a
> > different prefix. This helps to detect when developers make wrong
> > assumtions and believe everything will be magically found. With the
> > QCA option enabled by default, files will be installed where they
> > shouldn't.
> >
> > If none of these behaviours looks weird to you, discussing this
> > further will lead nowhere.>
> > > set(QCA_FEATURE_INSTALL_DIR "${QT_MKSPECS_DIR}/features" CACHE PATH
> > > "Directory where qca feature file will install")>
> > Alexander probably didn't notice, I'll fix it asap
>
> 1/ If this option is off by default, it will require root passworrd to
> install to $ ll -d /usr/local
> 2/ Why Jack doesn't read cmake output and INSTALL instructions? Also why
> Jack uses /usr/local? drwxr-xr-x 12 root root 4096 Aug 28 01:00 /usr/local
> 3/ If every module is installed in a different prefix it means jenkins uses
> CMAKE_INSTALL_PREFIX. As I allredy said I agree to install in
> CMAKE_INSTALL_PREFIX if user explicity define this.
>
> This examples haven't explation of why they all don't use explicity defined
> CMAKE_INSTALL_PREFIX. If I can use QCA_INSTALL_IN_QT_PREFIX why they can't
> use CMAKE_INSTALL_PREFIX? I never use /usr/local so when I build any
> program I use own home dir. I always use ./configure
> --prefix=/home/taurus/appname or cmake
> -DCMAKE_INSTALL_PREFIX=/home/taurus/anotherappname.
>
>
> - Ivan
>
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/111938/#review39088
> -----------------------------------------------------------
>
> On Sept. 3, 2013, 6:42 p.m., Alexander Richardson wrote:
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > http://git.reviewboard.kde.org/r/111938/
> > -----------------------------------------------------------
> >
> > (Updated Sept. 3, 2013, 6:42 p.m.)
> >
> >
> > Review request for KDE Frameworks and Ivan Romanov.
> >
> >
> > Description
> > -------
> >
> > Use qt5 suffix for files by default when installing a Qt5 version of QCA
> >
> > This way coinstallation of Qt4 and Qt5 based QCA is possible by default
> >
> >
> > Diffs
> > -----
> >
> > CMakeLists.txt 8cff977
> > src/CMakeLists.txt 037c9ff
> > src/config-qca.h.cmake PRE-CREATION
> > src/qca_plugin.cpp ad810b9
> >
> > Diff: http://git.reviewboard.kde.org/r/111938/diff/
> >
> >
> > Testing
> > -------
> >
> > Compiled and installed.
> > creating a Qt5 package for openSuSE works fine
> >
> >
> > Thanks,
> >
> > Alexander Richardson
More information about the Kde-frameworks-devel
mailing list