View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010072CMakeCMakepublic2009-12-22 03:282013-10-07 10:03
ReporterDmitry 
Assigned ToBrad King 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake 2.8.10.2 
Target VersionCMake 2.8.11Fixed in VersionCMake 2.8.11 
Summary0010072: invalid binary path if makefile in root directory
DescriptionOS: windows server 2008
cmake 2.6, 2.8

I try to build my project with following command:
k:\output> cmake k:\
(structure of my build scripts requires sources to be in root directory of disk)
In this case subprojects binary directories are generated in error form
k:/outputsubproj1
k:/outputsubproj2
instead of
k:/output/subproj1
k:/output/subproj2
It turned out that there is a bug in cmake-2.6.4\Source\cmAddSubDirectoryCommand.cxx : 130
Debugging code
...
    cmSystemTools::ReplaceString(binPath,
                                 this->Makefile->GetCurrentDirectory(),
                                 this->Makefile->GetCurrentOutputDirectory());
...
i found out that in terms of ReplaceString method
preconditions are:
 src="k:/subproj1"
 repl="k:/"
 with="k:/output"
postconditions are:
 src="k:/outputsubproj1"

Thats a point!
Additional InformationVirtual k:\ drive is mapped from original source directory with SUBST command.
TagsNo tags attached.
Attached Filestgz file icon sample.tgz [^] (493 bytes) 2009-12-22 09:49
patch file icon cmake.patch [^] (1,486 bytes) 2013-03-11 17:10 [Show Content]

 Relationships
related to 0010994closedBrad King Windows: find_* commands can find paths with no drive letter 
has duplicate 0011153closed cmake out of source build writes build files at source dirs 

  Notes
(0018969)
Bill Hoffman (manager)
2009-12-22 09:01

What if you do

k:\output> cmake ..


Or

k:\output> cmake \
(0018970)
Dmitry (reporter)
2009-12-22 09:05

1.
k:\output> cmake ..
original fail described above
2.
k:\output> cmake \
CMake Error: The source directory "K:/output" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
(0018971)
Bill Hoffman (manager)
2009-12-22 09:20

Make sure there is no CMakeCache.txt in k:\

I just tried this and it worked:


C:\>cd b

C:\b>dir
 Volume in drive C has no label.
 Volume Serial Number is 0C67-474C

 Directory of C:\b

12/22/2009 09:26 AM <DIR> .
12/22/2009 09:26 AM <DIR> ..
               0 File(s) 0 bytes
               2 Dir(s) 24,834,404,352 bytes free

C:\b>"c:\Program Files\CMake 2.8\bin\cmake.exe" ..
-- Building for: Visual Studio 10
-- Check for working C compiler: C:/Program Files/BullseyeCoverage/bin/cl.exe
-- Check for working C compiler: C:/Program Files/BullseyeCoverage/bin/cl.exe --
 works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/BullseyeCoverage/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files/BullseyeCoverage/bin/cl.exe
-- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
hello
-- Configuring done
-- Generating done
-- Build files have been written to: C:/b

C:\b>
(0018972)
Dmitry (reporter)
2009-12-22 09:50

ok. I attached sample project and here is results of it's build in two different cases.

1.
I:\out>cmake ..
-- Check for working C compiler: cl
-- Check for working C compiler: cl -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: cl
-- Check for working CXX compiler: cl -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
TEST_DIR: I:/outw01-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: I:/out

2.
F:\Users\ke-user\cmake_bug\out>cmake ..
-- Check for working C compiler: cl
-- Check for working C compiler: cl -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: cl
-- Check for working CXX compiler: cl -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
TEST_DIR: F:/Users/ke-user/cmake_bug/out/w01-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: F:/Users/ke-user/cmake_bug/out

compare TEST_DIR messages
(0018973)
Dmitry (reporter)
2009-12-22 09:52

oh, i forgot notes.
1. it was made by cmake 2.6.4, downloaded from site in binary package
2. "F:\Users\ke-user\cmake_bug" is mapped on virtual drive "I:"
(0028359)
Patrick Spendrin (reporter)
2012-01-18 16:11

a duplicate of this bug can be found here: http://www.cmake.org/Bug/view.php?id=11153 [^]
(0032201)
Graham Menhennitt (reporter)
2013-02-05 15:53

This bug still exists in 2.8.10.2 and it's very annoying. The fix is trivial - can we please get it fixed before the next release.

Thanks,
  Graham
(0032536)
Brad King (manager)
2013-03-08 08:03

If the fix is trivial please post a patch. I see no proposed fix in the discussion here or 0011153.
(0032538)
Brad King (manager)
2013-03-08 08:06

Moving to backlog until a fix is proposed.
(0032585)
Graham Menhennitt (reporter)
2013-03-11 17:11

Patch appended. Please apply before 2.8.11.

Thanks,
  Graham
(0032592)
Brad King (manager)
2013-03-12 13:51

Re 0010072:0032585: Thanks for the patch. Based on that I constructed one that covers this case and more:

 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1df49282 [^]
(0033990)
Robert Maynard (manager)
2013-10-07 10:03

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2009-12-22 03:28 Dmitry New Issue
2009-12-22 09:01 Bill Hoffman Note Added: 0018969
2009-12-22 09:01 Bill Hoffman Status new => assigned
2009-12-22 09:01 Bill Hoffman Assigned To => Bill Hoffman
2009-12-22 09:05 Dmitry Note Added: 0018970
2009-12-22 09:20 Bill Hoffman Note Added: 0018971
2009-12-22 09:49 Dmitry File Added: sample.tgz
2009-12-22 09:50 Dmitry Note Added: 0018972
2009-12-22 09:52 Dmitry Note Added: 0018973
2012-01-18 08:41 Ananta Palani Note Added: 0028349
2012-01-18 08:46 Ananta Palani Note Deleted: 0028349
2012-01-18 16:11 Patrick Spendrin Note Added: 0028359
2013-02-05 15:53 Graham Menhennitt Note Added: 0032201
2013-03-08 08:03 Brad King Note Added: 0032536
2013-03-08 08:03 Brad King Relationship added has duplicate 0011153
2013-03-08 08:04 Brad King Relationship added related to 0010994
2013-03-08 08:06 Brad King Note Added: 0032538
2013-03-08 08:06 Brad King Assigned To Bill Hoffman =>
2013-03-08 08:06 Brad King Status assigned => backlog
2013-03-08 08:06 Brad King Product Version CMake-2-6 => CMake 2.8.10.2
2013-03-11 17:10 Graham Menhennitt File Added: cmake.patch
2013-03-11 17:11 Graham Menhennitt Note Added: 0032585
2013-03-12 11:44 Brad King Assigned To => Brad King
2013-03-12 11:44 Brad King Status backlog => assigned
2013-03-12 11:44 Brad King Target Version => CMake 2.8.11
2013-03-12 13:51 Brad King Note Added: 0032592
2013-03-12 13:51 Brad King Status assigned => resolved
2013-03-12 13:51 Brad King Resolution open => fixed
2013-03-12 13:51 Brad King Fixed in Version => CMake 2.8.11
2013-10-07 10:03 Robert Maynard Note Added: 0033990
2013-10-07 10:03 Robert Maynard Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team