Skip to content

Commit 0b4299c

Browse files
Build a Universal Binary (#72)
build intel and arm libs, combine them with lipo, fixes #71
1 parent a9d1d96 commit 0b4299c

File tree

1 file changed

+51
-3
lines changed

1 file changed

+51
-3
lines changed

pom.xml

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@
150150
<version>3.5.0</version>
151151
<executions>
152152
<execution>
153+
<id>xcode-build-intel</id>
153154
<goals>
154155
<goal>exec</goal>
155156
</goals>
@@ -164,15 +165,62 @@
164165
<argument>Integrations</argument>
165166
<argument>-configuration</argument>
166167
<argument>Release</argument>
168+
<argument>-arch</argument>
169+
<argument>x86_64</argument>
167170
<argument>-archivePath</argument>
168-
<argument>${project.build.directory}/integrations.xcarchive</argument>
171+
<argument>${project.build.directory}/integrations-x86_64.xcarchive</argument>
169172
<argument>-quiet</argument>
170173
<argument>clean</argument>
171174
<argument>archive</argument>
172175
<argument>JAVA_HOME="${java.home}"</argument>
173176
</arguments>
174177
</configuration>
175178
</execution>
179+
<execution>
180+
<id>xcode-build-arm</id>
181+
<goals>
182+
<goal>exec</goal>
183+
</goals>
184+
<phase>compile</phase>
185+
<configuration>
186+
<executable>xcodebuild</executable>
187+
<workingDirectory>${project.basedir}/src/main/native</workingDirectory>
188+
<arguments>
189+
<argument>-project</argument>
190+
<argument>Integrations.xcodeproj</argument>
191+
<argument>-scheme</argument>
192+
<argument>Integrations</argument>
193+
<argument>-configuration</argument>
194+
<argument>Release</argument>
195+
<argument>-arch</argument>
196+
<argument>arm64</argument>
197+
<argument>-archivePath</argument>
198+
<argument>${project.build.directory}/integrations-arm64.xcarchive</argument>
199+
<argument>-quiet</argument>
200+
<argument>clean</argument>
201+
<argument>archive</argument>
202+
<argument>JAVA_HOME="${java.home}"</argument>
203+
</arguments>
204+
</configuration>
205+
</execution>
206+
<execution>
207+
<id>build-universal-binary</id>
208+
<goals>
209+
<goal>exec</goal>
210+
</goals>
211+
<phase>compile</phase>
212+
<configuration>
213+
<executable>lipo</executable>
214+
<workingDirectory>${project.build.directory}</workingDirectory>
215+
<arguments>
216+
<argument>-create</argument>
217+
<argument>integrations-x86_64.xcarchive/Products/usr/local/lib/libIntegrations.dylib</argument>
218+
<argument>integrations-arm64.xcarchive/Products/usr/local/lib/libIntegrations.dylib</argument>
219+
<argument>-output</argument>
220+
<argument>libIntegrations.dylib</argument>
221+
</arguments>
222+
</configuration>
223+
</execution>
176224
</executions>
177225
</plugin>
178226
<plugin>
@@ -188,9 +236,9 @@
188236
<outputDirectory>${project.build.directory}/classes</outputDirectory>
189237
<resources>
190238
<resource>
191-
<directory>${project.build.directory}/integrations.xcarchive/Products/usr/local/lib</directory>
239+
<directory>${project.build.directory}</directory>
192240
<includes>
193-
<include>*.dylib</include>
241+
<include>libIntegrations.dylib</include>
194242
</includes>
195243
</resource>
196244
</resources>

0 commit comments

Comments
 (0)