Fix linking of generated files in cmake
If generation of files is turned off, and a file is missing, when building in tree with cmake, you can end up with the generated file being turned into a symlink to itself. This will also break any future attempt at building with make. Fix this by testing if the file exists prior to attempting to link it. Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
parent
6dc7cdfdd1
commit
582f72bf3b
2 changed files with 7 additions and 1 deletions
|
@ -131,7 +131,10 @@ function(link_to_source base_name)
|
||||||
set(target "${CMAKE_CURRENT_SOURCE_DIR}/${base_name}")
|
set(target "${CMAKE_CURRENT_SOURCE_DIR}/${base_name}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT EXISTS ${link})
|
# Linking to non-existant file is not desirable. At best you will have a
|
||||||
|
# dangling link, but when building in tree, this can create a symbolic link
|
||||||
|
# to itself.
|
||||||
|
if (EXISTS ${target} AND NOT EXISTS ${link})
|
||||||
if (CMAKE_HOST_UNIX)
|
if (CMAKE_HOST_UNIX)
|
||||||
set(command ln -s ${target} ${link})
|
set(command ln -s ${target} ${link})
|
||||||
else()
|
else()
|
||||||
|
|
3
ChangeLog.d/fix_cmake_gen_files
Normal file
3
ChangeLog.d/fix_cmake_gen_files
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Bugfix
|
||||||
|
* Fix an issue in releases with GEN_FILES turned off whereby missing
|
||||||
|
generated files could be turned into symlinks to themselves.
|
Loading…
Reference in a new issue