Build: Fix RPATH handling

CMAKE_INSTALL_RPATH has to be set before the targets are defined (oops.)

This also explicitly turns on MACOSX_RPATH for the shared libraries
(which is the default with newer versions of CMake but not with 2.8.x.)
The old autotools/libtool build system hard-coded the install name
directory of the OS X shared libraries to libdir, which meant that any
executable that linked against those libraries would also be hard-coded
to look for the libjpeg-turbo libraries in that directory.  @rpath makes
the OS X version of libjpeg-turbo behave like the Linux version, in the
sense that the executables under /opt/libjpeg-turbo/bin will
automatically pick up the libraries under /opt/libjpeg-turbo/lib* by
default, but other executables won't unless they are linked with -rpath.
2 files changed
tree: d72a670fc40528387256ed7c59f4c25dd5c3086c
  1. ci/
  2. cmakescripts/
  3. doc/
  4. java/
  5. md5/
  6. release/
  7. sharedlib/
  8. simd/
  9. testimages/
  10. win/
  11. .gitattributes
  12. .travis.yml
  13. appveyor.yml
  14. bmp.c
  15. bmp.h
  16. BUILDING.md
  17. cderror.h
  18. cdjpeg.c
  19. cdjpeg.h
  20. change.log
  21. ChangeLog.md
  22. cjpeg.1
  23. cjpeg.c
  24. CMakeLists.txt
  25. coderules.txt
  26. djpeg.1
  27. djpeg.c
  28. doxygen-extra.css
  29. doxygen.config
  30. example.c
  31. jaricom.c
  32. jcapimin.c
  33. jcapistd.c
  34. jcarith.c
  35. jccoefct.c
  36. jccolext.c
  37. jccolor.c
  38. jcdctmgr.c
  39. jchuff.c
  40. jchuff.h
  41. jcinit.c
  42. jcmainct.c
  43. jcmarker.c
  44. jcmaster.c
  45. jcomapi.c
  46. jconfig.h.in
  47. jconfig.txt
  48. jconfigint.h.in
  49. jcparam.c
  50. jcphuff.c
  51. jcprepct.c
  52. jcsample.c
  53. jcstest.c
  54. jctrans.c
  55. jdapimin.c
  56. jdapistd.c
  57. jdarith.c
  58. jdatadst-tj.c
  59. jdatadst.c
  60. jdatasrc-tj.c
  61. jdatasrc.c
  62. jdcoefct.c
  63. jdcoefct.h
  64. jdcol565.c
  65. jdcolext.c
  66. jdcolor.c
  67. jdct.h
  68. jddctmgr.c
  69. jdhuff.c
  70. jdhuff.h
  71. jdinput.c
  72. jdmainct.c
  73. jdmainct.h
  74. jdmarker.c
  75. jdmaster.c
  76. jdmaster.h
  77. jdmerge.c
  78. jdmrg565.c
  79. jdmrgext.c
  80. jdphuff.c
  81. jdpostct.c
  82. jdsample.c
  83. jdsample.h
  84. jdtrans.c
  85. jerror.c
  86. jerror.h
  87. jfdctflt.c
  88. jfdctfst.c
  89. jfdctint.c
  90. jidctflt.c
  91. jidctfst.c
  92. jidctint.c
  93. jidctred.c
  94. jinclude.h
  95. jmemmgr.c
  96. jmemnobs.c
  97. jmemsys.h
  98. jmorecfg.h
  99. jpeg_nbits_table.h
  100. jpegcomp.h
  101. jpegint.h
  102. jpeglib.h
  103. jpegtran.1
  104. jpegtran.c
  105. jquant1.c
  106. jquant2.c
  107. jsimd.h
  108. jsimd_none.c
  109. jsimddct.h
  110. jstdhuff.c
  111. jutils.c
  112. jversion.h
  113. libjpeg.map.in
  114. libjpeg.txt
  115. LICENSE.md
  116. rdbmp.c
  117. rdcolmap.c
  118. rdgif.c
  119. rdjpgcom.1
  120. rdjpgcom.c
  121. rdppm.c
  122. rdrle.c
  123. rdswitch.c
  124. rdtarga.c
  125. README.ijg
  126. README.md
  127. structure.txt
  128. tjbench.c
  129. tjbenchtest.in
  130. tjbenchtest.java.in
  131. tjexampletest.in
  132. tjunittest.c
  133. tjutil.c
  134. tjutil.h
  135. transupp.c
  136. transupp.h
  137. turbojpeg-jni.c
  138. turbojpeg-mapfile
  139. turbojpeg-mapfile.jni
  140. turbojpeg.c
  141. turbojpeg.h
  142. usage.txt
  143. wizard.txt
  144. wrbmp.c
  145. wrgif.c
  146. wrjpgcom.1
  147. wrjpgcom.c
  148. wrppm.c
  149. wrppm.h
  150. wrrle.c
  151. wrtarga.c