View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003812CMakeCMakepublic2006-09-25 17:202016-06-10 14:30
ReporterArtur Kedzierski 
Assigned ToBrad King 
PrioritylowSeverityfeatureReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003812: Allow passing a default for build directory
DescriptionPassing something like CMAKE_BUILD_DIR(./build)
would allow a in-source but out-of-source compilation. It would allow a user to enjoy an out-of-source compilation without changing anything.

For example, for package Foo extracted in
"/tmp/Foo-1.0/" the CMAKE_BUILD_DIR(./build)
would create "/tmp/Foo-1.0/build" and create all the CMake related files in there.
TagsNo tags attached.
Attached Filespatch file icon command-line-tool.patch [^] (6,828 bytes) 1969-12-31 19:00 [Show Content]

 Relationships

  Notes
(0005098)
Bill Hoffman (manager)
2006-10-03 12:53

But, you can do that like this:

mkdir build
cd build
cmake ..

I am not sure I understand the feature request?


(0005234)
Artur Kedzierski (reporter)
2006-10-05 09:36

Sorry about the delay in getting back on this. I forgot my password and the phpBugTracker kept email me wrong password.

This bug relates to email thread on CMake mailing list:
http://www.mail-archive.com/cmake@cmake.org/msg03258.html [^]
At the end of the thread Brad King thought it was an interesting idea and asked me to file a feature request.

Please let me know if you need any additional information.
(0005238)
Bill Hoffman (manager)
2006-10-05 09:57

http://www.mail-archive.com/cmake@cmake.org/msg03281.html [^]
(0005502)
Brad King (manager)
2006-10-23 15:53

I've briefly investigated what it takes to implement this. Here is the interface I propose. When an in-source build is attempted CMake will look for a file called InSource.cmake in the top level directory. If present CMake will load this file in an isolated script environment. The file can contain code like

  SET(CMAKE_IN_SOURCE_BINARY_DIR build)

or

  MESSAGE(FATAL_ERROR "In-source build is not allowed by this project.")

In the first case the value specified in the variable will be used. In the second case the error will be displayed for the user to see. In both cases no files will be written to the source tree. This interface allows quite a bit of flexibility for what projects want to do with in-source builds.

(0005503)
Brad King (manager)
2006-10-23 15:55

Unfortunately it is non-trivial to implement this right now. The init code for projects in the cmake command line tool, the ccmake curses dialog, and the CMakeSetup windows dialog is a big mess right now. A sweeping cleanup will need to be done first. This bug will have to wait until such a cleanup is done.

(0005504)
Brad King (manager)
2006-10-23 15:57

For future reference I've attached a patch that (mostly) implements the feature for the command line tool.
(0030502)
Brad King (manager)
2012-08-13 10:36

Sending issues I'm not actively working on to the backlog to await someone with time for them.

If an issue you care about is sent to the backlog when you feel it should have been addressed in a different manner, please bring it up on the CMake mailing list for discussion. Sign up for the mailing list here, if you're not already on it:

 http://www.cmake.org/mailman/listinfo/cmake [^]

It's easy to re-activate a bug here if you can find a CMake developer or contributor who has the bandwidth to take it on.
(0041321)
Kitware Robot (administrator)
2016-06-10 14:27

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2007-10-12 11:15 Bill Hoffman Status new => assigned
2012-08-13 10:36 Brad King Status assigned => backlog
2012-08-13 10:36 Brad King Note Added: 0030502
2016-06-10 14:27 Kitware Robot Note Added: 0041321
2016-06-10 14:27 Kitware Robot Status backlog => resolved
2016-06-10 14:27 Kitware Robot Resolution reopened => moved
2016-06-10 14:30 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team