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 if(CMAKE_COMPILER_IS_GNUCC) |
64 if(CMAKE_COMPILER_IS_GNUCC) |
63 #make sure $ORIGIN is respected |
65 #make sure $ORIGIN is respected |
64 add_linker_flag("-zorigin") |
66 add_linker_flag("-zorigin") |
65 endif() |
67 endif() |
66 #apply RPATH settings to pascal executables |
68 #apply RPATH settings to pascal executables |
67 add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH}'") |
69 add_flag_append(CMAKE_Pascal_FLAGS "-k-rpath -k'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
68 #until we link with external things there is no need to set rpath on haskell |
70 #until we link with external things there is no need to set rpath on haskell |
69 #should you need it remember to escape $ with $$ |
|
70 #list(APPEND haskell_flags "-optl" "-Wl,-rpath,'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
71 #list(APPEND haskell_flags "-optl" "-Wl,-rpath,'${CMAKE_INSTALL_RPATH_ESCAPED}'") |
71 endif() |
72 endif() |
72 |
73 |
73 #add the automatically determined parts of the RPATH |
74 #add the automatically determined parts of the RPATH |
74 #which point to directories outside the build tree to the install RPATH |
75 #which point to directories outside the build tree to the install RPATH |