~ubuntu-branches/ubuntu/saucy/texworks/saucy

« back to all changes in this revision

Viewing changes to CMake/docs/html/docs/CMake/packaging/mac/MacPackagingTasks.cmake.html

  • Committer: Bazaar Package Importer
  • Author(s): Atsuhito KOHDA
  • Date: 2011-08-18 11:22:40 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20110818112240-d2vmclt5llf8vano
Tags: 0.5~svn930-1
New upstream release (rev 930).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html>
 
2
<html>
 
3
<head>
 
4
  <meta http-equiv="content-type" content="text/html;charset=utf-8">
 
5
  <title></title>
 
6
  <link rel="stylesheet" href="http://sharpie.github.com/TeXworks/resources/docs.css">
 
7
</head>
 
8
<body>
 
9
<div id='container'>
 
10
  <div id="background"></div>
 
11
 
 
12
  <!-- Navbar -->
 
13
  <div id="fadeout"></div>
 
14
  <div id="flybar">
 
15
    <a id="title" href="#top"><h1>CMake/packaging/mac/MacPackagingTasks.cmake.in</h1></a>
 
16
 
 
17
    <div class="navigation about">
 
18
      <div class="button">
 
19
        About
 
20
      </div>
 
21
      <div class="contents">
 
22
        <p>This documentation was built using Ryan Tomayko's <strong>Rocco</strong> tool:</p>
 
23
        <a href="http://rtomayko.github.com/rocco">rtomayko.github.com/rocco</a>
 
24
 
 
25
        <p>Which is based on <strong>Docco</strong> by Jeremy Ashkenas:</p>
 
26
        <a href="http://jashkenas.github.com/docco">jashkenas.github.com/docco</a>
 
27
 
 
28
        <p>The code from this navigation bar was borrowed from the <strong>CoffeeScript</strong> project, also by Jeremy:</p>
 
29
        <a href="http://jashkenas.github.com/coffee-script">jashkenas.github.com/coffee-script</a>
 
30
 
 
31
        <p>The templates used to create this page may be found on GitHub:</p>
 
32
        <a href="http://github.com/Sharpie/TeXworks/tree/master/CMake/docs">github.com/Sharpie/TeXworks</a>
 
33
 
 
34
      </div>
 
35
    </div>
 
36
 
 
37
    <div class="navigation toc">
 
38
      <div class="button">
 
39
        Browse Source
 
40
      </div>
 
41
      <div class="contents menu">
 
42
          <a class="source" href="../CMakeLists.html">CMake/packaging/CMakeLists.txt</a>
 
43
          <a class="source" href="MacPackagingTasks.cmake.html">CMake/packaging/mac/MacPackagingTasks.cmake.in</a>
 
44
          <a class="source" href="../../../CMakeLists.html">CMakeLists.txt</a>
 
45
          <a class="source" href="../../../plugins-src/TWLuaPlugin/CMakeLists.html">plugins-src/TWLuaPlugin/CMakeLists.txt</a>
 
46
          <a class="source" href="../../../plugins-src/TWPythonPlugin/CMakeLists.html">plugins-src/TWPythonPlugin/CMakeLists.txt</a>
 
47
          <a class="source" href="../../../src/CMakeLists.html">src/CMakeLists.txt</a>
 
48
      </div>
 
49
    </div>
 
50
    <div id="error" style="display:none;"></div>
 
51
  </div>
 
52
 
 
53
  <!-- Content -->
 
54
  <span class="bookmark" id="top"></span>
 
55
 
 
56
  <table cellspacing=0 cellpadding=0>
 
57
  <thead>
 
58
    <tr>
 
59
      <th class=docs><h1>CMake/packaging/mac/MacPackagingTasks.cmake.in</h1></th>
 
60
      <th class=code></th>
 
61
    </tr>
 
62
  </thead>
 
63
  <tbody>
 
64
    <tr>
 
65
      <td class=docs>
 
66
        <div class="pilwrap">
 
67
          <a class="pilcrow" href="#section-1">&#182;</a>
 
68
          <span class="bookmark" id="section-1"></span>
 
69
        </div>
 
70
        <p>OS X packaging tasks</p>
 
71
      </td>
 
72
      <td class=code>
 
73
        <div class='highlight'><pre></pre></div>
 
74
      </td>
 
75
    </tr>
 
76
    <tr>
 
77
      <td class=docs>
 
78
        <div class="pilwrap">
 
79
          <a class="pilcrow" href="#section-2">&#182;</a>
 
80
          <span class="bookmark" id="section-2"></span>
 
81
        </div>
 
82
        <p>This file is processed by <code>CONFIGURE_FILE</code> in <code>../CMakeLists.txt</code> which inserts
 
83
values for <code>@VARIABLE@</code> declarations. This is done to import values for some
 
84
variables that would otherwise be undefined when CPack is running.</p>
 
85
      </td>
 
86
      <td class=code>
 
87
        <div class='highlight'><pre><span class="nb">SET</span><span class="p">(</span><span class="s">PROJECT_NAME</span> <span class="s">@PROJECT_NAME@</span><span class="p">)</span>
 
88
<span class="nb">SET</span><span class="p">(</span><span class="s">PROJECT_SOURCE_DIR</span> <span class="s">@PROJECT_SOURCE_DIR@</span><span class="p">)</span>
 
89
<span class="nb">SET</span><span class="p">(</span><span class="s">PROJECT_BINARY_DIR</span> <span class="s">@PROJECT_BINARY_DIR@</span><span class="p">)</span>
 
90
<span class="nb">SET</span><span class="p">(</span><span class="s">TeXworks_LIB_DIRS</span> <span class="s">@TeXworks_LIB_DIRS@</span><span class="p">)</span>
 
91
<span class="nb">SET</span><span class="p">(</span><span class="s">CMAKE_SHARED_LIBRARY_SUFFIX</span> <span class="s">@CMAKE_SHARED_LIBRARY_SUFFIX@</span><span class="p">)</span>
 
92
<span class="nb">SET</span><span class="p">(</span><span class="s">QT_PLUGINS</span> <span class="s">@QT_PLUGINS@</span><span class="p">)</span></pre></div>
 
93
      </td>
 
94
    </tr>
 
95
    <tr>
 
96
      <td class=docs>
 
97
        <div class="pilwrap">
 
98
          <a class="pilcrow" href="#section-3">&#182;</a>
 
99
          <span class="bookmark" id="section-3"></span>
 
100
        </div>
 
101
        <p>This <code>IF</code> statement ensures that the following commands are executed only when
 
102
CPack is running&mdash;-i.e. when a user executes <code>make package</code> but not <code>make install</code></p>
 
103
      </td>
 
104
      <td class=code>
 
105
        <div class='highlight'><pre><span class="nb">IF</span> <span class="p">(</span> <span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span> <span class="s">MATCHES</span> <span class="s">.*/_CPack_Packages/.*</span> <span class="p">)</span></pre></div>
 
106
      </td>
 
107
    </tr>
 
108
    <tr>
 
109
      <td class=docs>
 
110
        <div class="pilwrap">
 
111
          <a class="pilcrow" href="#section-Download_and_install_Poppler_data">&#182;</a>
 
112
          <span class="bookmark" id="section-Download_and_install_Poppler_data"></span>
 
113
        </div>
 
114
        <h2>Download and install Poppler data</h2>
 
115
      </td>
 
116
      <td class=code>
 
117
        <div class='highlight'><pre>  <span class="nb">IF</span> <span class="p">(</span> <span class="s">NOT</span> <span class="s">EXISTS</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/poppler-data-0.4.4.tar.gz</span> <span class="p">)</span>
 
118
    <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Downloading Poppler data files&quot;</span><span class="p">)</span>
 
119
    <span class="nb">FILE</span><span class="p">(</span><span class="s">DOWNLOAD</span> <span class="s2">&quot;http://poppler.freedesktop.org/poppler-data-0.4.4.tar.gz&quot;</span>
 
120
      <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/poppler-data-0.4.4.tar.gz</span>
 
121
      <span class="s">EXPECTED_MD5</span> <span class="s">f3a1afa9218386b50ffd262c00b35b31</span>
 
122
      <span class="s">SHOW_PROGRESS</span>
 
123
    <span class="p">)</span>
 
124
  <span class="nb">ENDIF</span> <span class="p">()</span>
 
125
 
 
126
  <span class="nb">IF</span> <span class="p">(</span> <span class="s">NOT</span> <span class="s">EXISTS</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/poppler-data-0.4.4</span> <span class="p">)</span>
 
127
    <span class="nb">EXECUTE_PROCESS</span><span class="p">(</span><span class="s">COMMAND</span> <span class="s">tar</span> <span class="s">xzf</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/poppler-data-0.4.4.tar.gz</span>
 
128
      <span class="s">WORKING_DIRECTORY</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span>
 
129
    <span class="p">)</span>
 
130
  <span class="nb">ENDIF</span> <span class="p">()</span>
 
131
 
 
132
  <span class="nb">FILE</span><span class="p">(</span><span class="s">INSTALL</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/poppler-data-0.4.4/</span>
 
133
    <span class="s">DESTINATION</span> <span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span><span class="s">/</span><span class="o">${</span><span class="nv">PROJECT_NAME</span><span class="o">}</span><span class="s">.app/Contents/poppler-data</span>
 
134
    <span class="s">PATTERN</span> <span class="s">CMakeLists.txt</span> <span class="s">EXCLUDE</span>
 
135
    <span class="s">PATTERN</span> <span class="s">Makefile</span> <span class="s">EXCLUDE</span>
 
136
  <span class="p">)</span></pre></div>
 
137
      </td>
 
138
    </tr>
 
139
    <tr>
 
140
      <td class=docs>
 
141
        <div class="pilwrap">
 
142
          <a class="pilcrow" href="#section-Download_and_install_TeXworks_manual">&#182;</a>
 
143
          <span class="bookmark" id="section-Download_and_install_TeXworks_manual"></span>
 
144
        </div>
 
145
        <h2>Download and install TeXworks manual</h2>
 
146
      </td>
 
147
      <td class=code>
 
148
        <div class='highlight'><pre>  <span class="nb">IF</span> <span class="p">(</span> <span class="s">NOT</span> <span class="s">EXISTS</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/TeXworks-manual-html-r814.zip</span> <span class="p">)</span>
 
149
    <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Downloading TeXworks HTML manual&quot;</span><span class="p">)</span>
 
150
    <span class="nb">FILE</span><span class="p">(</span><span class="s">DOWNLOAD</span> <span class="s2">&quot;http://texworks.googlecode.com/files/TeXworks-manual-html-r814.zip&quot;</span>
 
151
      <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/TeXworks-manual-html-r814.zip</span>
 
152
      <span class="s">EXPECTED_MD5</span> <span class="s">2894969a6ac4bba31953264e04553717</span>
 
153
      <span class="s">SHOW_PROGRESS</span>
 
154
    <span class="p">)</span>
 
155
  <span class="nb">ENDIF</span> <span class="p">()</span>
 
156
 
 
157
  <span class="nb">IF</span> <span class="p">(</span> <span class="s">NOT</span> <span class="s">EXISTS</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/TeXworks-manual</span> <span class="p">)</span>
 
158
    <span class="nb">EXECUTE_PROCESS</span><span class="p">(</span><span class="s">COMMAND</span> <span class="s">unzip</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/TeXworks-manual-html-r814.zip</span>
 
159
      <span class="s">WORKING_DIRECTORY</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span>
 
160
    <span class="p">)</span>
 
161
  <span class="nb">ENDIF</span> <span class="p">()</span>
 
162
 
 
163
  <span class="nb">FILE</span><span class="p">(</span><span class="s">INSTALL</span> <span class="o">${</span><span class="nv">PROJECT_SOURCE_DIR</span><span class="o">}</span><span class="s">/TeXworks-manual</span>
 
164
    <span class="s">DESTINATION</span> <span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span><span class="s">/</span><span class="o">${</span><span class="nv">PROJECT_NAME</span><span class="o">}</span><span class="s">.app/Contents/texworks-help/</span>
 
165
  <span class="p">)</span></pre></div>
 
166
      </td>
 
167
    </tr>
 
168
    <tr>
 
169
      <td class=docs>
 
170
        <div class="pilwrap">
 
171
          <a class="pilcrow" href="#section-Copy_all_runtime_dependencies_and_rewrite_loader_paths">&#182;</a>
 
172
          <span class="bookmark" id="section-Copy_all_runtime_dependencies_and_rewrite_loader_paths"></span>
 
173
        </div>
 
174
        <h2>Copy all runtime dependencies and rewrite loader paths</h2>
 
175
      </td>
 
176
      <td class=code>
 
177
        <div class='highlight'><pre></pre></div>
 
178
      </td>
 
179
    </tr>
 
180
    <tr>
 
181
      <td class=docs>
 
182
        <div class="pilwrap">
 
183
          <a class="pilcrow" href="#section-7">&#182;</a>
 
184
          <span class="bookmark" id="section-7"></span>
 
185
        </div>
 
186
        <p>Bring in <code>DeployQt4</code> a CMake module taken from the Charm application:</p>
 
187
 
 
188
<p><a href="https://github.com/KDAB/Charm">https://github.com/KDAB/Charm</a></p>
 
189
 
 
190
<p>This module offers the <code>FIXUP_QT4_BUNDLE</code> function which wraps
 
191
<code>FIXUP_BUNDLE</code> from CMake&rsquo;s <code>BundleUtilities</code> module and extends it with
 
192
additional Qt4-specific goodies&mdash;-such as installing Qt4 plugins.</p>
 
193
 
 
194
<p><code>FIXUP_BUNDLE</code> is a wonderful function that examines an executable, finds
 
195
all non-system libraries it depends on, copies them into the <code>.app</code> bundle
 
196
and then re-writes the necessary loader paths.</p>
 
197
      </td>
 
198
      <td class=code>
 
199
        <div class='highlight'><pre>  <span class="nb">SET</span><span class="p">(</span><span class="s">CMAKE_MODULE_PATH</span> <span class="s">@CMAKE_MODULE_PATH@</span><span class="p">)</span>
 
200
  <span class="nb">INCLUDE</span><span class="p">(</span><span class="s">DeployQt4</span><span class="p">)</span></pre></div>
 
201
      </td>
 
202
    </tr>
 
203
    <tr>
 
204
      <td class=docs>
 
205
        <div class="pilwrap">
 
206
          <a class="pilcrow" href="#section-8">&#182;</a>
 
207
          <span class="bookmark" id="section-8"></span>
 
208
        </div>
 
209
        <p>Gather all TeXworks Plugin libraries.</p>
 
210
      </td>
 
211
      <td class=code>
 
212
        <div class='highlight'><pre>  <span class="nb">FILE</span><span class="p">(</span><span class="s">GLOB</span> <span class="s">TeXworks_PLUGINS</span>
 
213
    <span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span><span class="s">/</span><span class="o">${</span><span class="nv">PROJECT_NAME</span><span class="o">}</span><span class="s">.app/Contents/PlugIns/*</span><span class="o">${</span><span class="nv">CMAKE_SHARED_LIBRARY_SUFFIX</span><span class="o">}</span><span class="p">)</span></pre></div>
 
214
      </td>
 
215
    </tr>
 
216
    <tr>
 
217
      <td class=docs>
 
218
        <div class="pilwrap">
 
219
          <a class="pilcrow" href="#section-9">&#182;</a>
 
220
          <span class="bookmark" id="section-9"></span>
 
221
        </div>
 
222
        <p>If <code>BU_CHMOD_BUNDLE_ITEMS</code> is not set, <code>install_name_tool</code> will fail to
 
223
re-write some loader paths due to insufficiant permissions.</p>
 
224
      </td>
 
225
      <td class=code>
 
226
        <div class='highlight'><pre>  <span class="nb">SET</span><span class="p">(</span><span class="s">BU_CHMOD_BUNDLE_ITEMS</span> <span class="s">ON</span><span class="p">)</span>
 
227
 
 
228
  <span class="err">FIXUP_QT4_BUNDLE(${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.app</span> <span class="err">&quot;${QT_PLUGINS}&quot;</span> <span class="err">&quot;${TeXworks_PLUGINS}&quot;</span> <span class="err">&quot;${TeXworks_LIB_DIRS}&quot;)</span></pre></div>
 
229
      </td>
 
230
    </tr>
 
231
    <tr>
 
232
      <td class=docs>
 
233
        <div class="pilwrap">
 
234
          <a class="pilcrow" href="#section-Remove_unecessary_architectures_from_universal_binaries">&#182;</a>
 
235
          <span class="bookmark" id="section-Remove_unecessary_architectures_from_universal_binaries"></span>
 
236
        </div>
 
237
        <h2>Remove unecessary architectures from universal binaries</h2>
 
238
      </td>
 
239
      <td class=code>
 
240
        <div class='highlight'><pre></pre></div>
 
241
      </td>
 
242
    </tr>
 
243
    <tr>
 
244
      <td class=docs>
 
245
        <div class="pilwrap">
 
246
          <a class="pilcrow" href="#section-11">&#182;</a>
 
247
          <span class="bookmark" id="section-11"></span>
 
248
        </div>
 
249
        <p>Some libraries copied from the OS X system, such as X11 libraries, may
 
250
contain up to 4 different architectures. Here we will iterate over these
 
251
libraries and use <code>lipo</code> to strip out un-needed architectures.</p>
 
252
      </td>
 
253
      <td class=code>
 
254
        <div class='highlight'><pre></pre></div>
 
255
      </td>
 
256
    </tr>
 
257
    <tr>
 
258
      <td class=docs>
 
259
        <div class="pilwrap">
 
260
          <a class="pilcrow" href="#section-12">&#182;</a>
 
261
          <span class="bookmark" id="section-12"></span>
 
262
        </div>
 
263
        <p>Another useful function from <code>BundleUtilities</code>.</p>
 
264
      </td>
 
265
      <td class=code>
 
266
        <div class='highlight'><pre>  <span class="nb">GET_BUNDLE_MAIN_EXECUTABLE</span><span class="p">(</span><span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span><span class="s">/</span><span class="o">${</span><span class="nv">PROJECT_NAME</span><span class="o">}</span><span class="s">.app</span> <span class="s">APP_MAIN</span><span class="p">)</span></pre></div>
 
267
      </td>
 
268
    </tr>
 
269
    <tr>
 
270
      <td class=docs>
 
271
        <div class="pilwrap">
 
272
          <a class="pilcrow" href="#section-13">&#182;</a>
 
273
          <span class="bookmark" id="section-13"></span>
 
274
        </div>
 
275
        <p>We look at the TeXworks binary that was built rather than consulting the
 
276
value of the <code>CMAKE_OSX_ARCHITECTURES</code> because if the user did not set
 
277
<code>CMAKE_OSX_ARCHITECTURES</code>, then the variable will be an empty string and the
 
278
format of the resulting binary will depend on the versions of OS X and
 
279
XCode.</p>
 
280
      </td>
 
281
      <td class=code>
 
282
        <div class='highlight'><pre>  <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Reducing the size of bundled libraries.&quot;</span><span class="p">)</span>
 
283
  <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Scanning architectures of: ${APP_MAIN}&quot;</span><span class="p">)</span>
 
284
  <span class="nb">EXECUTE_PROCESS</span><span class="p">(</span></pre></div>
 
285
      </td>
 
286
    </tr>
 
287
    <tr>
 
288
      <td class=docs>
 
289
        <div class="pilwrap">
 
290
          <a class="pilcrow" href="#section-14">&#182;</a>
 
291
          <span class="bookmark" id="section-14"></span>
 
292
        </div>
 
293
        <p><code>lipo -info</code> returns a list of the form:</p>
 
294
 
 
295
<pre><code>&lt;is universal binary?&gt;: &lt;program name&gt;: &lt;list of architectures&gt;
 
296
</code></pre>
 
297
 
 
298
<p>Piping this output to <code>cut -d : -f 3-</code> allows us to extract just the list
 
299
of architectures.</p>
 
300
      </td>
 
301
      <td class=code>
 
302
        <div class='highlight'><pre>    <span class="s">COMMAND</span> <span class="s">lipo</span> <span class="s">-info</span> <span class="o">${</span><span class="nv">APP_MAIN</span><span class="o">}</span>
 
303
    <span class="s">COMMAND</span> <span class="s">cut</span> <span class="s">-d</span> <span class="s">:</span> <span class="s">-f</span> <span class="s">3-</span>
 
304
    <span class="s">OUTPUT_VARIABLE</span> <span class="s">APP_ARCHS</span>
 
305
  <span class="p">)</span></pre></div>
 
306
      </td>
 
307
    </tr>
 
308
    <tr>
 
309
      <td class=docs>
 
310
        <div class="pilwrap">
 
311
          <a class="pilcrow" href="#section-15">&#182;</a>
 
312
          <span class="bookmark" id="section-15"></span>
 
313
        </div>
 
314
        <p>Strip leading and trailing whitespace.</p>
 
315
      </td>
 
316
      <td class=code>
 
317
        <div class='highlight'><pre>  <span class="nb">STRING</span><span class="p">(</span><span class="s">STRIP</span> <span class="o">${</span><span class="nv">APP_ARCHS</span><span class="o">}</span> <span class="s">APP_ARCHS</span><span class="p">)</span></pre></div>
 
318
      </td>
 
319
    </tr>
 
320
    <tr>
 
321
      <td class=docs>
 
322
        <div class="pilwrap">
 
323
          <a class="pilcrow" href="#section-16">&#182;</a>
 
324
          <span class="bookmark" id="section-16"></span>
 
325
        </div>
 
326
        <p>Convert spaces to semicolons so CMake will interpret the string as a list.</p>
 
327
      </td>
 
328
      <td class=code>
 
329
        <div class='highlight'><pre>  <span class="nb">STRING</span><span class="p">(</span><span class="s">REPLACE</span> <span class="s2">&quot; &quot;</span> <span class="s2">&quot;;&quot;</span> <span class="s">APP_ARCHS</span> <span class="o">${</span><span class="nv">APP_ARCHS</span><span class="o">}</span><span class="p">)</span>
 
330
 
 
331
  <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Will reduce bundled libraries to: ${APP_ARCHS}&quot;</span><span class="p">)</span>
 
332
 
 
333
  <span class="nb">FOREACH</span><span class="p">(</span><span class="s">ARCH</span> <span class="s">IN</span> <span class="s">LISTS</span> <span class="s">APP_ARCHS</span><span class="p">)</span>
 
334
    <span class="nb">SET</span><span class="p">(</span><span class="s">ARCHS_TO_EXTRACT</span> <span class="s2">&quot;${ARCHS_TO_EXTRACT} -extract ${ARCH}&quot;</span><span class="p">)</span>
 
335
  <span class="nb">ENDFOREACH</span> <span class="p">()</span></pre></div>
 
336
      </td>
 
337
    </tr>
 
338
    <tr>
 
339
      <td class=docs>
 
340
        <div class="pilwrap">
 
341
          <a class="pilcrow" href="#section-17">&#182;</a>
 
342
          <span class="bookmark" id="section-17"></span>
 
343
        </div>
 
344
        <p><strong>NOTE:</strong> This will not process any dylibs from Frameworks copied by
 
345
<code>FIXUP_BUNDLE</code>, hence it may not touch any of the Qt libraries. Something to
 
346
fix in the future.</p>
 
347
      </td>
 
348
      <td class=code>
 
349
        <div class='highlight'><pre>  <span class="nb">FILE</span><span class="p">(</span><span class="s">GLOB</span> <span class="s">BUNDLED_DYLIBS</span>
 
350
    <span class="o">${</span><span class="nv">CMAKE_INSTALL_PREFIX</span><span class="o">}</span><span class="s">/</span><span class="o">${</span><span class="nv">PROJECT_NAME</span><span class="o">}</span><span class="s">.app/Contents/MacOS/*</span><span class="o">${</span><span class="nv">CMAKE_SHARED_LIBRARY_SUFFIX</span><span class="o">}</span><span class="p">)</span>
 
351
 
 
352
  <span class="nb">FOREACH</span><span class="p">(</span><span class="s">DYLIB</span> <span class="s">IN</span> <span class="s">LISTS</span> <span class="s">BUNDLED_DYLIBS</span><span class="p">)</span>
 
353
    <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Processing included library: ${DYLIB}&quot;</span><span class="p">)</span></pre></div>
 
354
      </td>
 
355
    </tr>
 
356
    <tr>
 
357
      <td class=docs>
 
358
        <div class="pilwrap">
 
359
          <a class="pilcrow" href="#section-18">&#182;</a>
 
360
          <span class="bookmark" id="section-18"></span>
 
361
        </div>
 
362
        <p><code>lipo</code> is very very anal about how arguments get passed to it. So we
 
363
execute through bash to side-step the issue.</p>
 
364
 
 
365
      </td>
 
366
      <td class=code>
 
367
        <div class='highlight'><pre>    <span class="nb">EXECUTE_PROCESS</span><span class="p">(</span><span class="s">COMMAND</span> <span class="s">bash</span> <span class="s">-c</span> <span class="s2">&quot;lipo ${ARCHS_TO_EXTRACT} ${DYLIB} -output ${DYLIB}&quot;</span><span class="p">)</span>
 
368
  <span class="nb">ENDFOREACH</span> <span class="p">()</span>
 
369
 
 
370
  <span class="nb">MESSAGE</span><span class="p">(</span><span class="s">STATUS</span> <span class="s2">&quot;Finished stripping architectures from bundled libraries.&quot;</span><span class="p">)</span>
 
371
 
 
372
<span class="nb">ENDIF</span> <span class="p">()</span></pre></div>
 
373
      </td>
 
374
    </tr>
 
375
  </table>
 
376
</div>
 
377
 
 
378
  <!-- Navbar Scripting -->
 
379
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
 
380
  <script type="text/javascript">
 
381
    var closeMenus;
 
382
    closeMenus = function() {
 
383
      return $('.navigation.active').removeClass('active');
 
384
    };
 
385
    $('.navigation').click(function(e) {
 
386
      if (e.target.tagName.toLowerCase() === 'a') {
 
387
        return;
 
388
      }
 
389
      if ($(e.target).closest('.repl_wrapper').length) {
 
390
        return false;
 
391
      }
 
392
      if ($(this).hasClass('active')) {
 
393
        closeMenus();
 
394
      } else {
 
395
        closeMenus();
 
396
        $(this).addClass('active');
 
397
      }
 
398
      return false;
 
399
    });
 
400
  </script>
 
401
 
 
402
</body>
 
403
</html>