Review Request: Install LibKexiv2Config.cmake

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Review Request: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Alexander Neundorf
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Looks good in general, but: this patch makes libkexvi2 depend on cmake 2.8.6, due to the usage of WriteBasicConfigVersionFile.
kdelibs still depends on cmake 2.6.4.

So, I think this can't be committed as it is right now.

For KDE frameworks it would be ok, since this depends on cmake 2.8.7 right now and will depend on 2.8.8 once it has been released.
I'm not sure how to deal with kdelibs 4.x in this regard.
Let's discuss this on kde-buildsystem or k-c-d.

- Alexander


On January 14th, 2012, 9:24 p.m., Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 14, 2012, 9:24 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Alexander Neundorf
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

IF(WIN32 AND NOT CYGWIN)
    SET(DEF_CMAKEFILES_INSTALL_DIR CMake)
ELSE()
    SET(DEF_CMAKEFILES_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/LibKexiv2)
ENDIF()

Why is WIN32 special cased ?

- Alexander


On January 14th, 2012, 9:24 p.m., Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 14, 2012, 9:24 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

On January 15th, 2012, 1:45 p.m., Alexander Neundorf wrote:

IF(WIN32 AND NOT CYGWIN)
    SET(DEF_CMAKEFILES_INSTALL_DIR CMake)
ELSE()
    SET(DEF_CMAKEFILES_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/LibKexiv2)
ENDIF()

Why is WIN32 special cased ?
`man cmake` says that cmake does not look into $prefix/lib/cmake/name on Windows. I took this code from http://www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file

I've just realized that probably on windows LIB_INSTALL_DIR points to $prefix, not $prefix/lib. In this case this trick is not needed. Am I right?

- Yury Georgievich


On January 14th, 2012, 9:24 p.m., Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 14, 2012, 9:24 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Alexander Neundorf
On Sunday 15 January 2012, Yury Georgievich Kudryashov wrote:

> > On Jan. 15, 2012, 1:45 p.m., Alexander Neundorf wrote:
> > > IF(WIN32 AND NOT CYGWIN)
> > >
> > >     SET(DEF_CMAKEFILES_INSTALL_DIR CMake)
> > >
> > > ELSE()
> > >
> > >     SET(DEF_CMAKEFILES_INSTALL_DIR ${LIB_INSTALL_DIR}/cmake/LibKexiv2)
> > >
> > > ENDIF()
> > >
> > > Why is WIN32 special cased ?
>
> `man cmake` says that cmake does not look into $prefix/lib/cmake/name on
> Windows.

Indeed.
Our KDE-on-Windows never complained about that the Config.cmake files would
not be found.
Also, from a quick look at cmFindPackageCommand.cxx, it looks like lib/ and
share/ should also be searched under Windows, no ifdefs there:


 // Construct list of common install locations (lib and share).
  std::vector<std::string> common;
  if(!this->LibraryArchitecture.empty())
    {
    common.push_back("lib/"+this->LibraryArchitecture);
    }
  if(this->UseLib64Paths)
    {
    common.push_back("lib64");
    }
  common.push_back("lib");
  common.push_back("share");

  //  PREFIX/(lib/ARCH|lib|share)/cmake/(Foo|foo|FOO).*/
  {
  cmFindPackageFileList lister(this);
  lister
    / cmFileListGeneratorFixed(prefix)
    / cmFileListGeneratorEnumerate(common)
    / cmFileListGeneratorFixed("cmake")
    / cmFileListGeneratorProject(this->Names);
  if(lister.Search())
    {
    return true;
    }
  }

  //  PREFIX/(lib/ARCH|lib|share)/(Foo|foo|FOO).*/
  {
  cmFindPackageFileList lister(this);
  lister
    / cmFileListGeneratorFixed(prefix)
    / cmFileListGeneratorEnumerate(common)
    / cmFileListGeneratorProject(this->Names);
  if(lister.Search())
    {
    return true;
    }
  }

  //  PREFIX/(lib/ARCH|lib|share)/(Foo|foo|FOO).*/(cmake|CMake)/
  {
  cmFindPackageFileList lister(this);
  lister
    / cmFileListGeneratorFixed(prefix)
    / cmFileListGeneratorEnumerate(common)
    / cmFileListGeneratorProject(this->Names)
    / cmFileListGeneratorCaseInsensitive("cmake");
  if(lister.Search())
    {
    return true;
    }
  }


> I took this code from
> http://www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cm
> ake_file
>
> I've just realized that probably on windows LIB_INSTALL_DIR points to
> $prefix, not $prefix/lib. In this case this trick is not needed. Am I
> right?

No. From FindKDE4Internal.cmake:

if (WIN32)
...
   set(LIB_INSTALL_DIR      "lib${LIB_SUFFIX}" )
...

set(INSTALL_TARGETS_DEFAULT_ARGS  RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
                                  LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
                                  ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
                                                          COMPONENT Devel )

>
>
> - Yury Georgievich
>
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/103701/#review9830
> -----------------------------------------------------------
>
> On Jan. 14, 2012, 9:24 p.m., Yury Georgievich Kudryashov wrote:
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > http://git.reviewboard.kde.org/r/103701/
> > -----------------------------------------------------------
> >
> > (Updated Jan. 14, 2012, 9:24 p.m.)
> >
> >
> > Review request for Build System and Digikam.
> >
> >
> > Description
> > -------
> >
> > Now
> > find_package(LibKexiv2 NO_MODULE)
> > finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.
> >
> > I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to
> > avoid conflicts with FindKexiv2.cmake from kdelibs.
> >
> > P.S.: I think about moving large parts to a macro.
> >
> >
> > Diffs
> > -----
> >
> >   CMakeLists.txt 0ecd233
> >   LibKexiv2Config-external.cmake.in PRE-CREATION
> >   LibKexiv2Config.cmake.in PRE-CREATION
> >   libkexiv2/CMakeLists.txt 8a6b822
> >
> > Diff: http://git.reviewboard.kde.org/r/103701/diff/diff
> >
> >
> > Testing
> > -------
> >
> > $ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
> > $ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2
> > -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST $ cmake --find-package
> > -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU
> > -DLANGUAGE=CXX -DMODE=COMPILE $ cmake --find-package
> > -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU
> > -DLANGUAGE=CXX -DMODE=LINK
> >
> >
> > Thanks,
> >
> > Yury Georgievich Kudryashov

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 17, 2012, 11:58 p.m.

Changes

Avoid using WBCVF.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs (updated)

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • LibKexiv2ConfigVersion.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request: Install LibKexiv2Config.cmake

Alexander Neundorf
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Looks good.
Did you verify that both building and using works with cmake 2.6.4 ?

- Alexander


On January 17th, 2012, 11:58 p.m., Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 17, 2012, 11:58 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • LibKexiv2ConfigVersion.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Albert Astals Cid
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

What's the state of this? Last activity is from 1 year. Do we still need this? Was it commited? There are improvements needed to be made?

- Albert


On January 17th, 2012, 11:58 p.m. UTC, Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 17, 2012, 11:58 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • LibKexiv2ConfigVersion.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Gilles Caulier-4
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Nothing from me. In fact i don't see previously any trace of this file in my mail box...

Gilles Caulier

- Gilles


On January 17th, 2012, 11:58 p.m. UTC, Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 17, 2012, 11:58 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • LibKexiv2ConfigVersion.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
In reply to this post by Albert Astals Cid
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

On February 8th, 2013, 11:26 p.m. UTC, Albert Astals Cid wrote:

What's the state of this? Last activity is from 1 year. Do we still need this? Was it commited? There are improvements needed to be made?
This patch wasn't applied, e.g., because it didn't work with cmake 2.6.4. I'll test if it works with the current "minimum supported" cmake version, and update the patch next week.

- Yury Georgievich


On January 17th, 2012, 11:58 p.m. UTC, Yury Georgievich Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Georgievich Kudryashov.

Updated Jan. 17, 2012, 11:58 p.m.

Description

Now
find_package(LibKexiv2 NO_MODULE)
finds LibKexiv2, removing need for large FindLibKexiv2.cmake script.

I've decided to install LibKexiv2Config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

P.S.: I think about moving large parts to a macro.

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/i -DNAME=LibKexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (0ecd233)
  • LibKexiv2Config-external.cmake.in (PRE-CREATION)
  • LibKexiv2Config.cmake.in (PRE-CREATION)
  • LibKexiv2ConfigVersion.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (8a6b822)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 5, 2013, 8:02 p.m.

Changes

New patch depends on CMakePackageConfigHelpers.cmake.

Description (updated)

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing (updated)

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs (updated)

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Alexander Neundorf
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

You should include the target file only if the target does not already exist, something like
if(NOT TARGET Libkexiv2::kexiv2)
  include(...cmake)
endif()



I would recommend not to disable the set_and_check() macro, and use it for the include dir instead of simply set().
set_and_check() will set the variable and check that the directory it points to actually exists.
This is good, because it ensures that the config.cmake file provides information which is actually consistent with the state in disk.

- Alexander


On May 5th, 2013, 8:02 p.m. UTC, Yury Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 5, 2013, 8:02 p.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 7, 2013, 7:18 a.m.

Changes

Fix issues listed by Alex Neundorf.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs (updated)

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Alexander Neundorf
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Ship it!

Seems to be ok now.

- Alexander


On May 7th, 2013, 7:18 a.m. UTC, Yury Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 7, 2013, 7:18 a.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

On May 7th, 2013, 5:17 p.m. UTC, Alexander Neundorf wrote:

Seems to be ok now.
I'd prefer to wait for feedback from Gilles Caulier.

- Yury


On May 7th, 2013, 7:18 a.m. UTC, Yury Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 7, 2013, 7:18 a.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Marcel Wiesweg
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

Ship it!

Ship It!

- Marcel


On May 7th, 2013, 7:18 a.m. UTC, Yury Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 7, 2013, 7:18 a.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Gilles Caulier-5
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

This review has been submitted with commit 61a2899c39b0d5bb23b849b4153702d21ad91e05 by Yury G. Kudryashov to branch master.

- Commit


On May 7th, 2013, 7:18 a.m. UTC, Yury Kudryashov wrote:

Review request for Build System and Digikam.
By Yury Kudryashov.

Updated May 7, 2013, 7:18 a.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: Review Request 103701: Install LibKexiv2Config.cmake

Gilles Caulier-5
In reply to this post by Yury Georgievich Kudryashov
This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103701/

This change has been marked as submitted.


Review request for Build System and Digikam.
By Yury Kudryashov.

Updated Aug. 13, 2013, 10:24 a.m.

Description

Now
find_package(libkexiv2 CONFIG)
finds LibKexiv2, removing need for large FindKexiv2.cmake script.

I've decided to install libkexiv2-config.cmake, not Kexiv2Config.cmake to avoid conflicts with FindKexiv2.cmake from kdelibs.

Also, I'm not sure about libkexiv2-config-version.cmake. I'm ready to adjust the default policy if someone will tell me about correct algorithm (SONAME? Same major version? Same major/minor? something else?).

Testing

$ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install; cd ..;
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE
$ cmake --find-package -DCMAKE_PREFIX_PATH=$PWD/../install -DNAME=libkexiv2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK

Diffs

  • CMakeLists.txt (8c89503ffb2de66be682af3b262756519db3af49)
  • libkexiv2-config.cmake.in (PRE-CREATION)
  • libkexiv2/CMakeLists.txt (c706d820f54b412f45131a14276b13bfc07255a1)

View Diff


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel