diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/dlllist.cmake | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cmake/Modules/dlllist.cmake b/cmake/Modules/dlllist.cmake index 0bf621a8a..bfe50b137 100644 --- a/cmake/Modules/dlllist.cmake +++ b/cmake/Modules/dlllist.cmake @@ -9,10 +9,11 @@ execute_process( # figure out where we should search for libraries execute_process( COMMAND ${CMAKE_C_COMPILER} -print-search-dirs - COMMAND sed -nE "/^libraries: =/{s///;s,/lib/?\\\(:|\\\$\\\$\\\),/bin\\\\1,g;p;q;}" + COMMAND sed -nE "/^libraries: =/{s///;s,/lib/?\(:|\$\$\),/bin\\1,g;p;q;}" OUTPUT_VARIABLE ADDPATH OUTPUT_STRIP_TRAILING_WHITESPACE ) +message(STATUS "addpath is ${ADDPATH}") # since cmake doesn't appear to give us a variable with # all libraries we link against, grab the link.txt script # instead and drop the command name from it (before the @@ -20,20 +21,20 @@ execute_process( # linker used contains a space... execute_process( COMMAND tail -1 CMakeFiles/subsurface.dir/link.txt - COMMAND cut -d\\ -f 2- + COMMAND cut -d\ -f 2- OUTPUT_VARIABLE LINKER_LINE OUTPUT_STRIP_TRAILING_WHITESPACE ) # finally run our win-ldd.pl script against that to # collect all the required dlls execute_process( - COMMAND sh -c "OBJDUMP=${OBJDUMP}-objdump PATH=$ENV{PATH}:${ADDPATH} perl ${CMAKE_SOURCE_DIR}/scripts/win-ldd.pl ${SUBSURFACE_TARGET}.exe ${LINKER_LINE}" + COMMAND sh -c "OBJDUMP=${OBJDUMP}-objdump PATH=$ENV{PATH}:${ADDPATH} perl ${SUBSURFACE_SOURCE}/scripts/win-ldd.pl ${SUBSURFACE_TARGET}.exe ${LINKER_LINE}" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE DLLS OUTPUT_STRIP_TRAILING_WHITESPACE ) # replace newlines with semicolons so this is a cmake list -string(REPLACE "\\n" ";" DLLLIST ${DLLS}) +string(REPLACE "\n" ";" DLLLIST ${DLLS}) # executing 'install' as a command seems hacky, but you # can't use the install() cmake function in a script foreach(DLL ${DLLLIST}) |