Skip to content

Commit a2fd276

Browse files
committed
First work to support XCode with CMAke
1 parent e54976b commit a2fd276

5 files changed

Lines changed: 50 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,4 @@ Builds/**/build/
163163
#11. Cmake autogenerated files
164164
JuceLibraryCode/JuceHeader.h
165165
Resources/Build-files/resources.rc
166+
Resources/Build-files/Info-App.plist

CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,22 @@ elseif(LINUX)
120120

121121
elseif(APPLE)
122122
set_property(TARGET open-ephys PROPERTY RUNTIME_OUTPUT_DIRECTORY ${BASE_BUILD_DIRECTORY}/XCode)
123+
set_target_properties(open-ephys PROPERTIES
124+
MACOSX_BUNDLE_NAME open-ephys
125+
MACOSX_BUNDLE_VERSION ${GUI_VERSION}
126+
MACOSX_BUNDLE_GUI_IDENTIFIER "org.open-ephys.gui"
127+
MACOSX_BUNDLE_ICON_FILE "${RESOURCES_DIRECTORY}/Build-files/Icon.icns"
128+
MACOSX_BUNDLE_INFO_PLIST "${RESOURCES_DIRECTORY}/Build-files/Info.plist.in"
129+
MACOSX_BUNDLE TRUE
130+
)
131+
target_compile_options(open-ephys PRIVATE -fPIC -Wpartial-availability -Wno-inconsistent-missing-override -rdynamic)
132+
set_property(TARGET open-ephys APPEND_STRING PROPERTY LINK_FLAGS "-fPIC -rdynamic")
133+
target_link_libraries(open-ephys dl)
134+
135+
set_target_properties(open-ephys PROPERTIES
136+
XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf
137+
)
138+
123139
else()
124140
message( FATAL_ERROR "Unsupported OS")
125141
endif()

Plugins/PluginRules.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@ elseif(LINUX)
2525
target_compile_options(${PLUGIN_NAME} PRIVATE -fPIC -rdynamic)
2626
target_compile_options(${PLUGIN_NAME} PRIVATE -O3) #enable optimization for linux debug
2727
elseif(APPLE)
28+
set_target_properties(${PLUGIN_NAME} PROPERTIES BUNDLE TRUE)
29+
set_property(TARGET ${PLUGIN_NAME} APPEND_STRING PROPERTY LINK_FLAGS "-fPIC -rdynamic -undefined dynamic_lookup")
30+
target_link_libraries(${PLUGIN_NAME} dl)
2831
endif()
2932

3033
#copy files after build.
3134
if (MSVC OR LINUX)
3235
set_property(TARGET ${PLUGIN_NAME} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${BIN_PLUGIN_DIR})
3336
set_property(TARGET ${PLUGIN_NAME} PROPERTY LIBRARY_OUTPUT_DIRECTORY ${BIN_PLUGIN_DIR})
3437
elseif(APPLE)
38+
3539
endif()
3640

3741
#This function is to be called to organize filters in VisualStudio and XCode in plugins with subfilders

Resources/Build-files/Icon.icns

31.7 KB
Binary file not shown.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
4+
<plist>
5+
<dict>
6+
<key>CFBundleExecutable</key>
7+
<string>open-ephys</string>
8+
<key>CFBundleIconFile</key>
9+
<string>@MACOSX_BUNDLE_ICON_FILE@</string>
10+
<key>CFBundleIdentifier</key>
11+
<string>org.open-ephys.gui</string>
12+
<key>CFBundleName</key>
13+
<string>open-ephys</string>
14+
<key>CFBundleDisplayName</key>
15+
<string>open-ephys</string>
16+
<key>CFBundlePackageType</key>
17+
<string>APPL</string>
18+
<key>CFBundleSignature</key>
19+
<string>????</string>
20+
<key>CFBundleShortVersionString</key>
21+
<string>@GUI_VERSION@</string>
22+
<key>CFBundleVersion</key>
23+
<string>@GUI_VERSION@</string>
24+
<key>NSHumanReadableCopyright</key>
25+
<string>Open Ephys</string>
26+
<key>NSHighResolutionCapable</key>
27+
<true/>
28+
</dict>
29+
</plist>

0 commit comments

Comments
 (0)