Notes |
|
(0021396)
|
Patrick Spendrin
|
2010-07-15 08:33
|
|
ok, skip the first description, here comes the real issue:
when including the file with include() there will not be any problems, when the file is included via find_package() (also see cmake-bug.zip) then the result will be a single slash instead of the correct Z:/.
To reproduce, please unpack cmake-bug.zip and call runtest.bat in that directory (I hope you don't have Z: as a drive already given, in that case simply change the drive letter.) |
|
|
(0021403)
|
Patrick Spendrin
|
2010-07-15 15:43
|
|
ok, the two patches do the following:
The cmake-stat-drives.diff enables stat on simple drive letters (e.g. C:, Z:, etc.) - this will fail otherwise and thus adding Z: to CMAKE_SYSTEM_PREFIX_PATH in share/cmake-2.8/Modules/Platform/WindowsPaths.cmake will not result in the expected result.
The cmake-root-relative.diff will handle the case where / is given as the only path - in that case, the relative path base will be chosen. This part is restricted to non-cygwin windows, which should not result in any conflicts. |
|
|
(0032936)
|
Chris
|
2013-04-24 20:26
(edited on: 2013-04-24 21:32) |
|
This problem is still occurring.
Is there anything I can do to help find a fix. It is making it impossible for me to compile kde on windows
EDIT:
The test case supplied does not fail for me. I guess my problem is similar but not identical.
I will update if any other information is found.
|
|
|
(0032939)
|
Chris
|
2013-04-24 23:36
|
|
Update
While the simple test case does not fail for me. it does show the error occurring
the following is generated when running the script
Z:\build>cmake ..\
-- Building for: Visual Studio 10
-- final import prefix is :- <<Z:/>>
-- final import prefix is :- <</>>
-- Configuring done
-- Generating done
-- Build files have been written to: Z:/build
you can see the drive mysteriously changes from <<Z:/>> to <</>>
the first import prefix is inside include(${CMAKE_CURRENT_SOURCE_DIR}/lib/strigitest/StrigitestConfig.cmake)
the second import prefix is inside find_package(Strigitest REQUIRED)
find_package appears to drop the drive when converting from \ to /
This is also being discussed at
http://permalink.gmane.org/gmane.comp.programming.tools.cmake.devel/6711 [^] |
|
|
(0032940)
|
Brad King
|
2013-04-25 09:22
|
|
|
|
(0032941)
|
Brad King
|
2013-04-25 09:27
|
|
|
|
(0032942)
|
Brad King
|
2013-04-25 09:32
|
|
With the fix in 0010994:0032940 the cmake-bug.zip example is no longer expected to find the package because nothing tells find_package to look in prefix CMAKE_CURRENT_SOURCE_DIR. Adding
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
to the example should tell find_package to look there. However, it still fails due to SystemTools::FileIsDirectory failing drive root paths like "z:/". The patch cmake-stat-drives.diff proposed here fixes that so I'm sending it to KWSys upstream:
http://review.source.kitware.com/#/c/11031/ [^]
and will merge it back into CMake when ready. |
|
|
(0032957)
|
Brad King
|
2013-04-29 10:20
|
|
|
|
(0034039)
|
Robert Maynard
|
2013-10-07 10:09
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|