cmake: static: check for link file when editing

When trying to do the necessary edits to linklibs.rsp or link.txt for
static linking, first check if the files were created by cmake,
otherwise a fatal error is generated.
This commit is contained in:
Rafael Kitover 2018-12-23 19:43:32 -08:00
parent ebd2e74a8a
commit 5f38c0da8a
2 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,9 @@
file(READ CMakeFiles/visualboyadvance-m.dir/link.txt link_cmd)
set(link_cmd_file CMakeFiles/visualboyadvance-m.dir/link.txt)
string(REGEX REPLACE "-l(z|expat|X[^ ]+|xcb[^ ]*) " "-Wl,--whole-archive -l\\1 -Wl,--no-whole-archive " link_cmd ${link_cmd})
if(EXISTS ${link_cmd_file})
file(READ ${link_cmd_file} link_cmd)
file(WRITE CMakeFiles/visualboyadvance-m.dir/link.txt ${link_cmd})
string(REGEX REPLACE "-l(z|expat|X[^ ]+|xcb[^ ]*) " "-Wl,--whole-archive -l\\1 -Wl,--no-whole-archive " link_cmd ${link_cmd})
file(WRITE ${link_cmd_file} ${link_cmd})
endif()

View File

@ -1,5 +1,9 @@
file(READ CMakeFiles/visualboyadvance-m.dir/linklibs.rsp link_libs)
set(link_cmd_file CMakeFiles/visualboyadvance-m.dir/linklibs.rsp)
string(REPLACE "-Wl,-Bdynamic" "" link_libs ${link_libs})
if(EXISTS ${link_cmd_file})
file(READ ${link_cmd_file} link_libs)
file(WRITE CMakeFiles/visualboyadvance-m.dir/linklibs.rsp ${link_libs})
string(REPLACE "-Wl,-Bdynamic" "" link_libs ${link_libs})
file(WRITE ${link_cmd_file} ${link_libs})
endif()