On Dec 5, 2008, at 12:52 PM, Robert Dailey wrote:

On Fri, Dec 5, 2008 at 10:48 AM, David Cole <[EMAIL PROTECTED]> wrote: The target name is the name given as the first argument to ADD_LIBRARY, ADD_EXECUTABLE or ADD_CUSTOM_TARGET.

CMake uses the target name to create the name of the vcproj files.

By default, the name of the library or executable created is based on the target name and any appropriate prefixes or suffixes. But, if you specify OUTPUT_NAME, then the name of the library or executable created is based on OUTPUT_NAME instead. (Nothing to do with the vcproj file name.)

There is no way to rename or move the vcproj files. They are always named the same as the corresponding target and they are always in the CMAKE_CURRENT_BINARY_DIR corresponding to the CMAKE_CURRENT_SOURCE_DIR containing the CMakeLists.txt file that contains the ADD_LIBRARY (or other) command.

I know for a fact this can be done. If you look at the Boost.CMake build system, you will see that for their test projects they are placed in a directory named "${project-name}-test", whereas the CMakeLists.txt file for the tests is in a differently named directory. I'm not sure how this is done, and CMake isn't very intuitive to read, especially since Boost CMake files are so complex so I'm having difficulty finding the code that does this.


Yes, the boost cmake files are very complex. Basically there is a chain of "add_custom_target" and then a naming of the target, then add_executable, then add_dependency. I am not sure where all the vcproj files end up as I have never tried it on windows, just OS X.

You will want to start with a regression test cmake file: like boost/ libs/program_options/test/CMakeLists.txt and then start walking up the cmake hierarchy by hand to figure out what is going on. The main set of cmake files are in boost/tools/build/cmake/*

Good luck. Since I was the one who last updated those cmake files you can ask me questions if you need help understanding them OR if you want to sign up for yet another mailing list you may want to ask on the Boost-Cmake mailing list. http://lists.boost.org/mailman/listinfo.cgi/boost-cmake


_________________________________________________________
Mike Jackson                  [EMAIL PROTECTED]
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to