Bugs item #3494970, was opened at 2012-02-27 03:19
Message generated for change (Comment added) made by bagder
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=3494970&group_id=976
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: compile or build problem
Group: wrong behaviour
>Status: Pending
>Resolution: Later
Priority: 5
Private: No
Submitted By: theret (theret)
Assigned to: Daniel Stenberg (bagder)
Summary: CMake warnings
Initial Comment:
Curl version: 7.24.0
OS: any
CMake version: 2.8.5, 2.8.6, 2.8.7
Running CMake results in this warning:
CMake Warning (dev) at tests/CMakeLists.txt:1 (add_subdirectory):
The source directory
Z:/software/src/curl-7.24.0/tests/libtest
does not contain a CMakeLists.txt file.
CMake does not support this case but it used to work accidentally and is
being allowed for compatibility.
Policy CMP0014 is not set: Input directories must have CMakeLists.txt. Run
"cmake --help-policy CMP0014" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
cmake --help-policy CMP0014
cmake version 2.8.6
CMP0014
Input directories must have CMakeLists.txt.
CMake versions before 2.8 silently ignored missing CMakeLists.txt
files in directories referenced by add_subdirectory() or subdirs(),
treating them as if present but empty. In CMake 2.8.0 and above this
policy determines whether or not the case is an error. The OLD
behavior for this policy is to silently ignore the problem. The NEW
behavior for this policy is to report an error.
This policy was introduced in CMake version 2.8.0. CMake version
2.8.6 warns when the policy is not set and uses OLD behavior. Use the
cmake_policy command to set it to OLD or NEW explicitly.
Solution:
1. Developer, please update your CMake version.
2. Remove the lines
add_subdirectory(libtest)
add_subdirectory(server)
in curl-7.24.0/tests/CMakeLists.txt
3. or create dummy files:
touch curl-7.24.0/tests/server/CMakeLists.txt curl-7.24.0/tests/libtest/CMakeLists.txt
----------------------------------------------------------------------
>Comment By: Daniel Stenberg (bagder)
Date: 2012-03-16 14:50
Message:
I will accept patches that fix problems with the cmake build but I'm not
yet up to working on this area of the code myself and as this hasn't
attracted anyone I set it to later and set it to pending closure now.
----------------------------------------------------------------------
Comment By: theret (theret)
Date: 2012-03-04 15:20
Message:
Oh, I was not aware of the fact that there is no maintainer for the cmake
scripts.
This is related to #3494982: I'm unable to test the cmake build with the
sources from git. I still could not find out how to create the missing
files. I couldn't find the right "massaging" script. Maybe it is not even
included in git at all?
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Date: 2012-03-04 15:13
Message:
Ok, thanks for the clarifications. There really isn't anyone maintaining
the cmake scripts and no core developer is using cmake (to my knowledge) so
that's basically the primary reason the cmake support is always lagging
behind...
Regarding the files missing in the tarballs that sounds like a mistake, at
least if the tests are possible to run from cmake with built from git - are
they?
----------------------------------------------------------------------
Comment By: theret (theret)
Date: 2012-03-04 15:09
Message:
I'm sorry the previous message should not have sounded offensive.
1. By developers I refer to the person(s) maintaining the cmake scripts,
not the end user building curl. The CMP0014 policy warning is only
displayed by recent CMake 2.8.x. I was suggesting that the developer might
not be aware of the problem because he might be using an older version of
cmake. But I now realize that the problem might be a different:
The reported warning happens with the src from the daily snapshot or
release tarball. When I compere the contents with the git repository I
notice, that the directories tests/libtest and tests/server are not
identical with those from git. especially the CMakeLists.txt are missing in
the tarballs. Hence, if the developer is working with git only he does not
see the warning.
2. Well you cannot run tests, thats all. But since the CMakeLists.txt are
missing in the tarballs... I don't know if this is intention but to me the
tarballs look incomplete.
3. I agree :)
----------------------------------------------------------------------
Comment By: Daniel Stenberg (bagder)
Date: 2012-03-04 14:40
Message:
Thanks for the report, but I'm not sure I'm following
First, who's the "developer" in step (1) you mean? Surely we can demand
that all users who want to build curl (with cmake) would need a very recent
cmake version?
Then, in (2) you say we should remove two lines. They are the only two
lines in that file. Shouldn't we then just remove the file completely?
Won't any of those actions have any side-effects or put another way: why
was that file with those lines put there in the first place?
option (3) sounds mostly annoying to me...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=3494970&group_id=976
Received on 2012-03-16