@@ -2,25 +2,35 @@ Xcode Project for Capstone
22================================================================================
33
44The * Capstone.xcodeproj* project is an Xcode project that mimics the Visual
5- Studio solution for Capstone. It embeds nicely into Xcode workspaces. It has 13
6- targets, two of which are the most likely to be of interest :
5+ Studio solution for Capstone. It embeds nicely into Xcode workspaces. It has 3
6+ targets:
77
88* CapstoneStatic, producing ` libcapstone.a ` , Capstone as a static library;
99* CapstoneDynamic, producing ` libcapstone.dylib ` , Capstone as a shared library;
10- * test, test_arm, test_aarch64, test_detail, test_mips, test_ppc, test_skipdata,
11- test_sparc, test_systemz, test_xcore, testing all the things .
10+ * CapstoneFramework, producing ` Capstone.framework ` , Capstone as a macOS
11+ framework bundle containing the library and public headers .
1212
1313The project is configured to include all targets and use the system
1414implementations of ` malloc ` , ` calloc ` , ` realloc ` , ` free ` and ` vsnprintf ` . This
15- can be modified by editing the * Preprocessor Macros* build setting of either
16- CapstoneStatic or CapstoneDynamic, whichever you plan to use. These settings are
17- all at the target level: no specific overrides were used at the project level.
15+ can be modified by editing the * Preprocessor Macros* build setting of the
16+ target you plan to use. These settings are all at the target level: no specific
17+ overrides were used at the project level.
1818
19- ### A Word of Warning: Static vs. Shared Library
19+ ### Building
20+
21+ The project can be built in Xcode or using ` xcodebuild ` :
22+
23+ ``` sh
24+ xcodebuild -target CapstoneStatic -configuration Release
25+ xcodebuild -target CapstoneDynamic -configuration Release
26+ xcodebuild -target CapstoneFramework -configuration Release
27+ ```
28+
29+ ### Including the Xcode project in a workspace
2030
2131There is a bug in how Xcode handles static libraries and dynamic libraries of
2232the same name. Currently, if you integrate the Capstone project in a workspace
2333and both the static * and* the dynamic libraries are built, if you try to link
2434against either, you will * always* link against the dynamic one. To work around
2535this issue, you can avoid building the dynamic library if you don't plan to use
26- it, or you could change the * Product Name* build setting of either.
36+ it, or you could change the * Product Name* build setting of either.
0 commit comments