codegooglecom / libproxy

Automatically exported from code.google.com/p/libproxy
GNU Lesser General Public License v2.1
0 stars 0 forks source link

provide CMake check #65

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Please provide a check for the CMake build system in the source tarball, so
that the simple line "find_package(KDE4 REQUIRED)" in CMakeLists.txt is
sufficent to force CMake to check if the libproxy binary and the header
files exists.

This feature would make it much more comfortable for KDE programms who use
normally CMake.

Original issue reported on code.google.com by lukas.so...@gmx-topmail.de on 3 Sep 2009 at 5:55

GoogleCodeExporter commented 9 years ago
Due to my unfamiliarity with CMake, could you provide a patch?

Original comment by npmccallum@gmail.com on 3 Sep 2009 at 1:37

GoogleCodeExporter commented 9 years ago
Hm, I'm also not so familar with CMake (because of that, I've filled the bug 
report
;-), but I'll see what I can do...

Original comment by lukas.so...@gmx-topmail.de on 3 Sep 2009 at 4:00

GoogleCodeExporter commented 9 years ago
Okay, here is a proposal:

1.) The file "Findlibproxy.cmake" is attached and contains the test.

2.) The test is quite simple. It checks if "proxy.h" is in the include path and 
also,
if at least one of (libproxy libproxy.so libproxy.so.0 libproxy.so.0.0
libproxy.so.0.0.0) is in the lib path.
- Question: Is the list of possible library file names correct and makes sense?

3.) A version check is not available, but could be added in a later version.

4.) To use the test, the file must be installed in CMakes module directory. For
openSUSE for example that is /usr/share/cmake/Modules. Installing the cmake 
test file
is usually done by the -devel package.

5.) Documentation: To use it, just use one of the following lines in your 
CMakeLists.txt:
find_package(libproxy)
find_package(libproxy REQUIRED)
find_package(libproxy QUIET)
First line just finds libproxy. Second line additionally aborts with a fatal 
error if
found. Thierd line is like first line, but the message that libproxy is found is
sopressed.
The variables that are defined are documentated in Findlibproxy.cmake itself.
It would be fine to introduce this information in the documentation of libproxy.
(However, my english is quiete bad, so maybe you could do this?)

6.) So what's you opinion about all that?

Original comment by lukas.so...@gmx-topmail.de on 10 Sep 2009 at 3:51

Attachments:

GoogleCodeExporter commented 9 years ago
Alternative usecase: The file Findlibproxy.cmake can be renamed to
libproxy-config.cmake. This file can than be included by applications that rely 
an
libproxy in their source package (same directory as CMakeLists.txt or any 
directory
set in libproxy_DIR) and provides this way the same functionality.

Original comment by lukas.so...@gmx-topmail.de on 4 Oct 2009 at 9:53

GoogleCodeExporter commented 9 years ago
cmake is now used exclusively.  Please let me know if there are any remaining 
issues.

Original comment by npmccallum@gmail.com on 22 Jan 2010 at 8:47

GoogleCodeExporter commented 9 years ago

Original comment by npmccallum@gmail.com on 22 Jan 2010 at 9:02

GoogleCodeExporter commented 9 years ago
Hm, the bug report was about easier handling for "projects that use CMake and 
want
to use libproxy". This is different from "the build system that is used by 
libproxy
itself".

When you integrate the proposed file in the source tarball, developers that use
CMake and want to use libproxy don't have to write the check for libproxy 
themself
but can just copy it and use it.

Original comment by lukas.so...@gmx-topmail.de on 24 Jan 2010 at 11:58

GoogleCodeExporter commented 9 years ago
Can you provide this in patch form? Also make sure to include a patch to the 
CMake
build system so that this file can be installed properly.

Original comment by npmccallum@gmail.com on 24 Jan 2010 at 9:58

GoogleCodeExporter commented 9 years ago

Original comment by npmccallum@gmail.com on 17 Feb 2010 at 2:09

GoogleCodeExporter commented 9 years ago
r604 inroduces a Findlibproxy.cmake which is also installed on the system when
invoking make install.

this should solve this request.

Original comment by dominiqu...@gmail.com on 6 Mar 2010 at 9:40