Philip Lowman wrote: > Neal Meyer wrote: >> Is there any particular reasoning why for a shared library project the >> .dll file is created in the LibraryOutputPath rather then the >> ExecutableOutputPath. The Import library(.lib) should be placed in >> the LibraryOutputPath, but it doesn't make any sense for the .dll to >> be placed there as well. >> >> I end up having to copy the .dll output with a post-build step, which >> works but is complete a waste of time and just makes the cmake file >> more complex for what seems like a very simple case. > > Here Here! > > I've had to add custom post-build rules for this issue before too. Other > users I know of in the OSG project have resorted to trickery with the > PREFIX target option to try to work around this problem. > > I've filed this as bug #5805 (feature request) in the bugtracker. > > Implementing this modification for the Visual Studio generators is > trivial (I did it two weeks ago by coincidence when I came across this > issue yet again). I had a look at the Makefile and Makefile generators > that same day though and nearly had a stroke :). Provided someone could > give me some pointers as to where to start I probably could add the > support for this.
This was fixed months ago in the CVS version of CMake. I've updated the bug report to link to information on the fix. Summary: - For backwards compatibility the old behavior must be the default. - Projects can set a RUNTIME_OUTPUT_DIRECTORY property on targets to get the .dll file to go wherever they want. - Projects can set the CMAKE_RUNTIME_OUTPUT_DIRECTORY variable at the top so that all targets get a default RUNTIME_OUTPUT_DIRECTORY. - A project can "fix" the EXECUTABLE_OUTPUT_PATH behavior by writing SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}") This will be in the future 2.6 release, but the internal changes required to do this on all platforms are too extensive to put in a 2.4.x patch release. -Brad _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake