The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=13226 
====================================================================== 
Reported By:                Stewart Smith
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13226
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   high
Status:                     new
====================================================================== 
Date Submitted:             2012-05-16 00:38 EDT
Last Modified:              2012-05-16 00:38 EDT
====================================================================== 
Summary:                    CMake doesn't call realpath(), causing it to get
confused if built through symlink
Description: 
If you have something like this:

product (the directory)
and product-1.0 being a symlink to product
and at a later date, product-1.1 being a symlink to product

and you once built through "cd product-1.0; make" and in future "cd product-1.1;
make", then it's possible for an *in source tree* build to have the following
condition met when it shouldn't be:

IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})

As Cmake caches things, repeated builds get the old 'product-1.0' in path in one
of the variables and the new 'product-1.1' in the other.

If the code in the CMakeLists.txt does something like overwrite a file to launch
things correctly for out-of-tree builds (as it does in the MySQL source code),
then you get a fork-bomb instead of a test-suite.

If CMake called realpath(3) on source and binary dirs when it was setting up the
variables initially, this problem would be avoided as the comparison would
always be done with the physical paths, not with what symlinks were used at any
particular time.

Steps to Reproduce: 
see above.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-05-16 00:38 Stewart Smith  New Issue                                    
======================================================================

--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to