cmake_modules/paths.cmake
changeset 9255 fd16cfa267aa
parent 9232 571e55b32da5
child 9313 62032a4cd00b
equal deleted inserted replaced
9253:90ea56f4f2f5 9255:fd16cfa267aa
    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