Skip to content

Commit ddc3cc7

Browse files
committed
- Fix CI's packaging stage for MacOS
1 parent 369e2f3 commit ddc3cc7

File tree

3 files changed

+37
-21
lines changed

3 files changed

+37
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@
3838
!build-windows-installer.ps1
3939
!src-link_usage_image.jpg
4040
!/srtrelay
41+
!Frameworks.cmake.in

CMakeLists.txt

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -127,27 +127,14 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
127127
DIRECTORY "${CMAKE_SOURCE_DIR}/.deps/obs-deps-qt6-${qtversion}-universal/lib/QtWebSockets.framework"
128128
CONFIGURATIONS RelWithDebInfo Debug Release
129129
DESTINATION "."
130-
OPTIONAL)
130+
REGEX "Headers" EXCLUDE)
131131
install(
132132
DIRECTORY "${CMAKE_SOURCE_DIR}/.deps/obs-deps-qt6-${qtversion}-universal/plugins/tls"
133133
CONFIGURATIONS RelWithDebInfo Debug Release
134-
DESTINATION "."
135-
OPTIONAL)
134+
DESTINATION ".")
136135

137-
install(
138-
CODE [===[
139-
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework" AND NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework")
140-
file(INSTALL DESTINATION "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins"
141-
TYPE DIRECTORY FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework" USE_SOURCE_PERMISSIONS)
142-
endif()
143-
]===])
144-
install(
145-
CODE [===[
146-
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls" AND NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls")
147-
file(INSTALL DESTINATION "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins"
148-
TYPE DIRECTORY FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls" USE_SOURCE_PERMISSIONS)
149-
endif()
150-
]===])
136+
configure_file(Frameworks.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/Frameworks.cmake" @ONLY)
137+
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/Frameworks.cmake")
151138
endif()
152139

153140
set_target_properties_plugin(${CMAKE_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${_name})
@@ -156,11 +143,9 @@ if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
156143
install(
157144
FILES "${CMAKE_SOURCE_DIR}/.deps/obs-deps-qt6-${qtversion}-x64/bin/Qt6WebSockets.dll"
158145
CONFIGURATIONS RelWithDebInfo Debug Release
159-
DESTINATION bin/64bit
160-
OPTIONAL)
146+
DESTINATION bin/64bit)
161147
install(
162148
DIRECTORY "${CMAKE_SOURCE_DIR}/.deps/obs-deps-qt6-${qtversion}-x64/plugins/tls"
163149
CONFIGURATIONS RelWithDebInfo Debug Release
164-
DESTINATION bin/64bit
165-
OPTIONAL)
150+
DESTINATION bin/64bit)
166151
endif()

Frameworks.cmake.in

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework" AND NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework")
2+
file(INSTALL DESTINATION "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins"
3+
TYPE DIRECTORY FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/QtWebSockets.framework" USE_SOURCE_PERMISSIONS)
4+
execute_process(
5+
COMMAND /usr/bin/codesign
6+
--force
7+
--sign "@CODESIGN_IDENTITY@"
8+
--timestamp
9+
-o runtime
10+
--generate-entitlement-der
11+
"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins/QtWebSockets.framework"
12+
)
13+
endif()
14+
15+
if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls" AND NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls")
16+
file(INSTALL DESTINATION "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins"
17+
TYPE DIRECTORY FILES "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/tls" USE_SOURCE_PERMISSIONS)
18+
file(GLOB_RECURSE dylib_files "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/package/Library/Application Support/obs-studio/plugins/tls/*.dylib")
19+
foreach(dylib_file IN LISTS dylib_files)
20+
execute_process(
21+
COMMAND /usr/bin/codesign
22+
--force
23+
--sign "@CODESIGN_IDENTITY@"
24+
--timestamp
25+
-o runtime
26+
--generate-entitlement-der
27+
"${dylib_file}"
28+
)
29+
endforeach()
30+
endif()

0 commit comments

Comments
 (0)