55 # - the first is relative to the executable |
55 # - the first is relative to the executable |
56 # - the second is the same directory of the executable (so it runs in bin/) |
56 # - the second is the same directory of the executable (so it runs in bin/) |
57 # - the third one is the full path of the system dir |
57 # - the third one is the full path of the system dir |
58 #source http://www.cmake.org/pipermail/cmake/2008-January/019290.html |
58 #source http://www.cmake.org/pipermail/cmake/2008-January/019290.html |
59 set(CMAKE_INSTALL_RPATH "$ORIGIN/../${target_library_install_dir}/:$ORIGIN/:${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}/") |
59 set(CMAKE_INSTALL_RPATH "$ORIGIN/../${target_library_install_dir}/:$ORIGIN/:${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}/") |
|
60 #\\\\ is just \\ which escapes '\' in the final script; same for $$ which escapes '$' in cmake |
|
61 set(CMAKE_INSTALL_RPATH_ESCAPED "\\\\$$ORIGIN/../${target_library_install_dir}/:\\\\$$ORIGIN/:${CMAKE_INSTALL_PREFIX}/${target_library_install_dir}/") |
60 |
62 |
61 if(UNIX AND NOT APPLE) |
63 if(UNIX AND NOT APPLE) |
62 #make sure $ORIGIN is respected |
64 #make sure $ORIGIN is respected |
63 add_linker_flag("-zorigin") |
65 add_linker_flag("-zorigin") |
64 #apply RPATH settings to pascal executables |
66 #apply RPATH settings to pascal executables |
65 add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH}'") |
67 add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
66 #until we link with external things there is no need to set rpath on haskell |
68 #until we link with external things there is no need to set rpath on haskell |
67 #should you need it remember to escape $ with $$ |
|
68 #list(APPEND haskell_flags "-optl" "-Wl,-rpath,'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
69 #list(APPEND haskell_flags "-optl" "-Wl,-rpath,'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
69 endif() |
70 endif() |
70 |
71 |
71 #add the automatically determined parts of the RPATH |
72 #add the automatically determined parts of the RPATH |
72 #which point to directories outside the build tree to the install RPATH |
73 #which point to directories outside the build tree to the install RPATH |