On Jan 18, 2011, at 11:23 AM, David Cole wrote: > > > > That is not entirely true.... > > > > Things like EXECUTABLE_OUTPUT_PATH and target location properties have > > to work without an extra install step. What do you mean CMake expects > > to find things in install locations? CMake does need to be able to > > find executables after the build is run. It also needs to be able to > > place them via location properties. > > > Take for example a simple test case that just builds one source file into an > executable via" > ADD_EXECUTABLE(main main.c) > When I use cmake to create a Makefile, the resulting main executable is > placed in the build directory tree next to the Makefile. > When I use cmake to create a xcode project, the resulting main executable is > placed in a subdirectory named Debug of the build directory tree. > > The method cmCoreTryCompile::FindOutputFile() seems to know about this > because it looks for executables in the build directory then in <build > directory>/Debug and <build directory>/Release. > > None of these locations are the "native" location where Xcode would put a > build result. So, I need to create xcode projects that place/copy the > resulting executables somewhere that cmake universe expects. > > Now I am wondering if I should add a copy-files-phase in the executable > target to copy the resulting binary to the build directory. That would make > xcode output be like Makefile output. > > -Nick > > > > Where does the Xcode equivalent of "add_executable(main main.c)" naturally go?
It depends on some global xcode settings. Some users have a one location in which all projects put their final projects. Some users have a build/Debug and build/Release directory next to the xcode project file. That is why I'm thinking that if cmake's model is to have the final executable put into cmakes build directory, that I should just let xcode build it where the user wants, then copy it to where cmake wants. That way both models are happy. -Nick
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake