[Cmake] Symbolic pathname translation
Bill Hoffman
bill.hoffman at kitware.com
Mon Jan 7 15:27:17 EST 2002
It is broken for windows now. The CMAKE path is has mixed windows and unix
style paths. Getting this stuff right the first time was quite difficult.
Can you back out your changes until they work on windows.
-Bill
At 03:13 PM 1/6/2002 -0500, Amitha Perera wrote:
>Hi all
>
>I've just committed a change that allows the pathnames generated by
>CMake to maintain symbolic links. If cmake is invoked with two
>paths--the first to the source directory, the second to the output
>directory--those paths will be used "as is" to refer to the roots of the
>source and output trees. I call this pathname translation, and is only
>enabled with this special two directory invocation. It shouldn't break
>cmake for anyone. If it does, please let me know and I'll try fix it.
>
>To illustrate further: suppose your source and output directories are
>/my/src and /my/bin, and on your machine (my.machine), these are
>symbolic links to a locally mounted disk:
>
> my.machine: /my/src links to /localdisk/src
> my.machine: /my/bin links to /localdisk/bin
>
>If you run CMake as normal
>
> cd /my/bin; cmake /my/src
>
>all the paths will refer to /localdisk/src and /localdisk/bin. Suppose
>these disks are network mounted on a different machine (other.machine)
>as
>
> other.machine: /my/src links to /nfs/my.machine/src
> other.machine: /my/bin links to /nfs/my.machine/bin
>
>Then, attempting to compile the source or to run dynamically linked
>executables on other.machine will fail because all references to
>/localdisk are invalid.
>
>If, my.machine, you run CMake with pathname translation
>
> cd /localdisk/bin; cmake /my/src /my/bin
>
>Then CMake will automatically replace all references to /localdisk/src
>with /my/src and to /localdisk/bin with /my/bin. Assuming /my/src and
>/my/bin are valid aliases network-wide, then all is well on
>other.machine.
>
>For pathname translation to be enabled, the symbolic source and output
>directories must be absolute paths, and the output directory must
>refer to the current directory. (I.e. cmake must be run from the
>output directory.)
>
>Amitha.
>_______________________________________________
>Cmake mailing list
>Cmake at public.kitware.com
>http://public.kitware.com/mailman/listinfo/cmake
More information about the CMake
mailing list