summaryrefslogtreecommitdiffstats
path: root/cmake/scripts/darwin_embedded/ExtraTargets.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/scripts/darwin_embedded/ExtraTargets.cmake')
-rw-r--r--cmake/scripts/darwin_embedded/ExtraTargets.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/scripts/darwin_embedded/ExtraTargets.cmake b/cmake/scripts/darwin_embedded/ExtraTargets.cmake
new file mode 100644
index 0000000..2b9980a
--- /dev/null
+++ b/cmake/scripts/darwin_embedded/ExtraTargets.cmake
@@ -0,0 +1,25 @@
1if(CORE_PLATFORM_NAME_LC STREQUAL tvos)
2 # top shelf extension
3 set(TOPSHELF_EXTENSION_NAME "${APP_NAME_LC}-topshelf")
4 set(TOPSHELF_BUNDLE_EXTENSION appex)
5 set(TOPSHELF_DIR "${CMAKE_SOURCE_DIR}/xbmc/platform/darwin/tvos/TopShelf")
6 # same path as the output Info.plist, taken from cmGlobalXCodeGenerator::ComputeInfoPListLocation()
7 set(ENTITLEMENTS_OUT_PATH "${CMAKE_BINARY_DIR}/CMakeFiles/${TOPSHELF_EXTENSION_NAME}.dir/TopShelf.entitlements")
8
9 set(SOURCES
10 ${TOPSHELF_DIR}/ServiceProvider.m
11 ${TOPSHELF_DIR}/../tvosShared.m)
12 set(HEADERS
13 ${TOPSHELF_DIR}/ServiceProvider.h
14 ${TOPSHELF_DIR}/../tvosShared.h)
15 add_executable(${TOPSHELF_EXTENSION_NAME} MACOSX_BUNDLE ${SOURCES} ${HEADERS})
16
17 configure_file(${TOPSHELF_DIR}/TopShelf.entitlements.in ${ENTITLEMENTS_OUT_PATH} @ONLY)
18 set_target_properties(${TOPSHELF_EXTENSION_NAME} PROPERTIES BUNDLE_EXTENSION ${TOPSHELF_BUNDLE_EXTENSION}
19 MACOSX_BUNDLE_INFO_PLIST ${TOPSHELF_DIR}/Info.plist.in
20 XCODE_PRODUCT_TYPE com.apple.product-type.tv-app-extension
21 XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS ${ENTITLEMENTS_OUT_PATH})
22 target_link_libraries(${TOPSHELF_EXTENSION_NAME} "-framework TVServices" "-framework Foundation")
23
24 add_dependencies(${APP_NAME_LC} ${TOPSHELF_EXTENSION_NAME})
25endif()