[CMake] LIBRARY_OUTPUT_PATH, EXECUTABLE_OUTPUT_PATH broken if
CMake variables used.
Bill Hoffman
bill.hoffman at kitware.com
Wed May 9 08:10:47 EDT 2007
Rob Mathews wrote:
> Ie, something like:
>
> SET(LIBRARY_OUTPUT_PATH "$(SolutionDir)lib" CACHE PATH "Single output
> directory for building all libraries." FORCE)
>
>
> doesn't work any more because cmSystemTools::FileIsFullPath() thinks
> that "$SolutionDir)lib" is a relative path && prepends the project
> location to it.
>
>
> The fix would either be to visit every place where
> cmSystemTools::FileIsFullPath() is called and consider if a variable
> should be allowed, or change cmSystemTools::FileIsFullPath to return
> "true" when it starts with a "$" (ie, a variable), and then let the user
> deal with it.
>
>
That is not a CMake variable. That is a visual studio variable, and if
that ever worked it was by luck. Is there a reason not to use the CMake
variable ${PROJECT_BINARY_DIR}lib, it should have about the same
effect. Unless, you are trying to create relocatable vcproj files that
can be moved from machine to machine without having to run cmake, which
really is not that supported.
-Bill
More information about the CMake
mailing list