CMake and library requirements

Looking at: http://www.boost.org/development/requirements.html#Directory_structure I see that sub-directory 'build' should contain 'Library build files such as a Jamfile'. In SVN HEAD I also see: libs/program_options/CMakeLists.txt Now, cmake is clearly build system, so that file is in violation of the above guideline. May I ask to either: 1. Have cmake folks to fix this? 2. Have the guideline adjusted, with associated moving of Jamfiles out of 'build' directory and removal of 'build' directories that become empty as result? The background is that I plan some work that might require adding Jamfiles for header-only libraries and clearly having Jamfiles in build subdir while having CMakeLists.txt one directory higher is gonna be mightly confusing. Thanks, Volodya

Vladimir Prus wrote:
Looking at:
http://www.boost.org/development/requirements.html#Directory_structure
Hrm, somehow we missed that.
I see that sub-directory 'build' should contain 'Library build files such as a Jamfile'. In SVN HEAD I also see:
libs/program_options/CMakeLists.txt
Now, cmake is clearly build system, so that file is in violation of the above guideline. May I ask to either:
1. Have cmake folks to fix this? 2. Have the guideline adjusted, with associated moving of Jamfiles out of 'build' directory and removal of 'build' directories that become empty as result?
The background is that I plan some work that might require adding Jamfiles for header-only libraries and clearly having Jamfiles in build subdir while having CMakeLists.txt one directory higher is gonna be mightly confusing.
I'd vote for moving Jamfiles up to libs/*/Jamfile.v2, not because I'm unwilling to do some typing, but because cmake of the way cmake works... it'd be painful. But I could look harder at this if necessary. -t

troy d. straszheim wrote:
Vladimir Prus wrote:
Looking at:
http://www.boost.org/development/requirements.html#Directory_structure
Hrm, somehow we missed that.
I see that sub-directory 'build' should contain 'Library build files such as a Jamfile'. In SVN HEAD I also see:
libs/program_options/CMakeLists.txt
Now, cmake is clearly build system, so that file is in violation of the above guideline. May I ask to either:
1. Have cmake folks to fix this? 2. Have the guideline adjusted, with associated moving of Jamfiles out of 'build' directory and removal of 'build' directories that become empty as result?
The background is that I plan some work that might require adding Jamfiles for header-only libraries and clearly having Jamfiles in build subdir while having CMakeLists.txt one directory higher is gonna be mightly confusing.
I'd vote for moving Jamfiles up to libs/*/Jamfile.v2, not because I'm unwilling to do some typing, but because cmake of the way cmake works... it'd be painful. But I could look harder at this if necessary.
The only problem with moving up is that some 'build' directories contains build files for VC and what not -- a lot of them. Therefore, entirely removing 'build' directories does not seem possible, which still leaves some space for confusion. - Volodya

Vladimir Prus wrote:
Looking at:
http://www.boost.org/development/requirements.html#Directory_structure
I see that sub-directory 'build' should contain 'Library build files such as a Jamfile'. In SVN HEAD I also see:
libs/program_options/CMakeLists.txt
Now, cmake is clearly build system, so that file is in violation of the above guideline. May I ask to either:
1. Have cmake folks to fix this? 2. Have the guideline adjusted, with associated moving of Jamfiles out of 'build' directory and removal of 'build' directories that become empty as result?
The background is that I plan some work that might require adding Jamfiles for header-only libraries and clearly having Jamfiles in build subdir while having CMakeLists.txt one directory higher is gonna be mightly confusing.
Does anybody "authorized" to deal with library requirements have a comment here? It does not seem reasonable for Troy and myself to discuss how we might change, or not change, library requirements if we could. - Volodya

On Wed, May 27, 2009 at 4:25 AM, Vladimir Prus <vladimir@codesourcery.com> wrote:
Vladimir Prus wrote:
Looking at:
http://www.boost.org/development/requirements.html#Directory_structure
I see that sub-directory 'build' should contain 'Library build files such as a Jamfile'. In SVN HEAD I also see:
libs/program_options/CMakeLists.txt
Now, cmake is clearly build system, so that file is in violation of the above guideline. May I ask to either:
1. Have cmake folks to fix this? 2. Have the guideline adjusted, with associated moving of Jamfiles out of 'build' directory and removal of 'build' directories that become empty as result?
The background is that I plan some work that might require adding Jamfiles for header-only libraries and clearly having Jamfiles in build subdir while having CMakeLists.txt one directory higher is gonna be mightly confusing.
Does anybody "authorized" to deal with library requirements have a comment here? It does not seem reasonable for Troy and myself to discuss how we might change, or not change, library requirements if we could.
It is hard to make comments about library requirements relating to directory structure until we finalize discussion of what the directory structure is going to look like as we move forward. I'm a little surprised there haven't been any comments about my "A new approach to header modularization" posting. If we accept that approach, where do Jamfiles and CMakeLists.txt best live? --Beman
participants (4)
-
Beman Dawes
-
troy d. straszheim
-
Vladimir Prus
-
Vladimir Prus