cmake_modules/paths.cmake
changeset 9255 fd16cfa267aa
parent 9232 571e55b32da5
child 9313 62032a4cd00b
--- a/cmake_modules/paths.cmake	Mon Jun 24 09:31:14 2013 +0200
+++ b/cmake_modules/paths.cmake	Mon Jun 24 10:51:43 2013 +0200
@@ -57,14 +57,15 @@
 # - the third one is the full path of the system dir
 #source http://www.cmake.org/pipermail/cmake/2008-January/019290.html
 set(CMAKE_INSTALL_RPATH "$ORIGIN/../${target_library_install_dir}/:$ORIGIN/:${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}/")
+#\\\\ is just \\ which escapes '\' in the final script; same for $$ which escapes '$' in cmake
+set(CMAKE_INSTALL_RPATH_ESCAPED "\\\\$$ORIGIN/../${target_library_install_dir}/:\\\\$$ORIGIN/:${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}/")
 
 if(UNIX AND NOT APPLE)
     #make sure $ORIGIN is respected
     add_linker_flag("-zorigin")
     #apply RPATH settings to pascal executables
-    add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH}'")
+    add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH_ESCAPED}'")
     #until we link with external things there is no need to set rpath on haskell
-    #should you need it remember to escape $ with $$
     #list(APPEND haskell_flags "-optl" "-Wl,-rpath,'${CMAKE_INSTALL_RPATH_ESCAPED}'")
 endif()