this repo has no description
1include(CMakeParseArguments)
2include(darling_lib)
3include(darling_open_source_sdk)
4include(InstallSymlink)
5
6define_property(TARGET PROPERTY DYLIB_INSTALL_NAME BRIEF_DOCS "Stores the DYLIB_INSTALL_NAME of the framework's main binary"
7 FULL_DOCS "Used to make reexporting child frameworks less painful.")
8
9function(add_framework name)
10 cmake_parse_arguments(FRAMEWORK "CURRENT_VERSION;FAT;PRIVATE;IOSSUPPORT;CIRCULAR;NO_INSTALL" "VERSION;LINK_FLAGS;PARENT;PARENT_VERSION;TARGET_NAME;PARENT_COMPONENT;PARENT_DIR"
11 "SOURCES;DEPENDENCIES;CIRCULAR_DEPENDENCIES;RESOURCES;UPWARD_DEPENDENCIES;OBJECTS;STRONG_DEPENDENCIES" ${ARGN})
12
13 if (FRAMEWORK_NO_INSTALL)
14 set(EXCLUDE_FROM_ALL_ARG "EXCLUDE_FROM_ALL")
15 else()
16 set(EXCLUDE_FROM_ALL_ARG "")
17 endif()
18
19 if (DEFINED FRAMEWORK_TARGET_NAME)
20 set(my_name "${FRAMEWORK_TARGET_NAME}")
21 elseif (FRAMEWORK_CURRENT_VERSION)
22 set(my_name "${name}")
23 else()
24 set(my_name "${name}_${FRAMEWORK_VERSION}")
25 endif()
26
27 if (FRAMEWORK_PRIVATE)
28 set(dir_name "PrivateFrameworks")
29 else (FRAMEWORK_PRIVATE)
30 set(dir_name "Frameworks")
31 endif (FRAMEWORK_PRIVATE)
32
33 if (FRAMEWORK_IOSSUPPORT)
34 set(sys_library_dir "System/iOSSupport/System/Library")
35 else (FRAMEWORK_IOSSUPPORT)
36 set(sys_library_dir "System/Library")
37 endif (FRAMEWORK_IOSSUPPORT)
38
39 set(root_dir "/${sys_library_dir}/${dir_name}")
40
41 if (FRAMEWORK_PARENT_DIR)
42 set(root_dir "${FRAMEWORK_PARENT_DIR}")
43 endif()
44
45 if (NOT (root_dir MATCHES "^/"))
46 set(root_dir "/${root_dir}")
47 endif()
48
49 if(DEFINED FRAMEWORK_PARENT)
50 if(NOT DEFINED FRAMEWORK_PARENT_VERSION)
51 # 99% of the time it's version A
52 set(FRAMEWORK_PARENT_VERSION "A")
53 endif(NOT DEFINED FRAMEWORK_PARENT_VERSION)
54 if (DEFINED FRAMEWORK_PARENT_COMPONENT)
55 set(COMPONENT_ARG COMPONENT "${FRAMEWORK_PARENT_COMPONENT}")
56 else()
57 set(COMPONENT_ARG "")
58 endif()
59 InstallSymlink(Versions/Current/Frameworks
60 "${CMAKE_INSTALL_PREFIX}/libexec/darling${root_dir}/${FRAMEWORK_PARENT}.framework/Frameworks"
61 ${EXCLUDE_FROM_ALL_ARG} ${COMPONENT_ARG})
62 set(root_dir "${root_dir}/${FRAMEWORK_PARENT}.framework/Versions/${FRAMEWORK_PARENT_VERSION}/Frameworks")
63 endif(DEFINED FRAMEWORK_PARENT)
64
65 set(DYLIB_INSTALL_NAME "${root_dir}/${name}.framework/Versions/${FRAMEWORK_VERSION}/${name}")
66
67 if (FRAMEWORK_CIRCULAR OR FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
68 if (FRAMEWORK_FAT)
69 set (FRAMEWORK_FAT_ARG FAT)
70 else (FRAMEWORK_FAT)
71 set (FRAMEWORK_FAT_ARG)
72 endif (FRAMEWORK_FAT)
73 add_circular(${my_name}
74 ${FRAMEWORK_FAT_ARG}
75 SOURCES ${FRAMEWORK_SOURCES}
76 SIBLINGS ${FRAMEWORK_CIRCULAR_DEPENDENCIES}
77 UPWARD ${FRAMEWORK_UPWARD_DEPENDENCIES}
78 OBJECTS ${FRAMEWORK_OBJECTS}
79 STRONG_DEPENDENCIES ${FRAMEWORK_STRONG_DEPENDENCIES}
80 )
81
82 else (FRAMEWORK_CIRCULAR OR FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
83 add_darling_library(${my_name} SHARED ${FRAMEWORK_SOURCES} ${FRAMEWORK_OBJECTS})
84 target_link_libraries(${my_name} PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES})
85
86 if (FRAMEWORK_FAT)
87 make_fat(${my_name})
88 endif (FRAMEWORK_FAT)
89
90 endif (FRAMEWORK_CIRCULAR OR FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
91
92 set_property(TARGET ${my_name} PROPERTY DYLIB_INSTALL_NAME ${DYLIB_INSTALL_NAME})
93
94 if (FRAMEWORK_CURRENT_VERSION AND NOT DEFINED FRAMEWORK_TARGET_NAME)
95 add_library("${name}_${FRAMEWORK_VERSION}" ALIAS "${name}")
96 endif()
97
98 set_target_properties(${my_name} PROPERTIES
99 OUTPUT_NAME "${name}"
100 SUFFIX ""
101 PREFIX "")
102
103 if (FRAMEWORK_DEPENDENCIES)
104 target_link_libraries(${my_name} PRIVATE ${FRAMEWORK_DEPENDENCIES})
105 endif (FRAMEWORK_DEPENDENCIES)
106
107 if (FRAMEWORK_LINK_FLAGS)
108 set_property(TARGET ${my_name} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}")
109 endif (FRAMEWORK_LINK_FLAGS)
110
111 install(TARGETS ${my_name} DESTINATION "libexec/darling${root_dir}/${name}.framework/Versions/${FRAMEWORK_VERSION}/" ${EXCLUDE_FROM_ALL_ARG})
112
113 if (FRAMEWORK_RESOURCES)
114 if (FRAMEWORK_CURRENT_VERSION)
115 InstallSymlink("Versions/Current/Resources" "${CMAKE_INSTALL_PREFIX}/libexec/darling${root_dir}/${name}.framework/Resources" ${EXCLUDE_FROM_ALL_ARG})
116 endif (FRAMEWORK_CURRENT_VERSION)
117 while (FRAMEWORK_RESOURCES)
118 list(GET FRAMEWORK_RESOURCES 0 res_install_path)
119 list(GET FRAMEWORK_RESOURCES 1 res_source_path)
120 get_filename_component(res_install_dir ${res_install_path} DIRECTORY)
121 get_filename_component(res_install_name ${res_install_path} NAME)
122 install(FILES ${res_source_path}
123 DESTINATION libexec/darling${root_dir}/${name}.framework/Versions/${FRAMEWORK_VERSION}/Resources/${res_install_dir}
124 RENAME ${res_install_name} ${EXCLUDE_FROM_ALL_ARG})
125 list(REMOVE_AT FRAMEWORK_RESOURCES 0 1)
126 endwhile (FRAMEWORK_RESOURCES)
127 endif()
128
129 if (FRAMEWORK_CURRENT_VERSION)
130 InstallSymlink(${FRAMEWORK_VERSION} "${CMAKE_INSTALL_PREFIX}/libexec/darling${root_dir}/${name}.framework/Versions/Current" ${EXCLUDE_FROM_ALL_ARG})
131 InstallSymlink("Versions/Current/${name}" "${CMAKE_INSTALL_PREFIX}/libexec/darling${root_dir}/${name}.framework/${name}" ${EXCLUDE_FROM_ALL_ARG})
132 endif()
133endfunction(add_framework)
134
135function(add_separated_framework name)
136 cmake_parse_arguments(FRAMEWORK "CURRENT_VERSION;PRIVATE;IOSSUPPORT" "VERSION;LINK_FLAGS" "SOURCES;ARCHS;DEPENDENCIES;CIRCULAR_DEPENDENCIES;UPWARD_DEPENDENCIES;OBJECTS;STRONG_DEPENDENCIES;RESOURCES" ${ARGN})
137 if (FRAMEWORK_CURRENT_VERSION)
138 set(my_name "${name}")
139 else (FRAMEWORK_CURRENT_VERSION)
140 set(my_name "${name}_${FRAMEWORK_VERSION}")
141 endif (FRAMEWORK_CURRENT_VERSION)
142
143 if (FRAMEWORK_PRIVATE)
144 set(dir_name "PrivateFrameworks")
145 else (FRAMEWORK_PRIVATE)
146 set(dir_name "Frameworks")
147 endif (FRAMEWORK_PRIVATE)
148
149 if (FRAMEWORK_IOSSUPPORT)
150 set(sys_library_dir "System/iOSSupport/System/Library")
151 else (FRAMEWORK_IOSSUPPORT)
152 set(sys_library_dir "System/Library")
153 endif (FRAMEWORK_IOSSUPPORT)
154
155 set(DYLIB_INSTALL_NAME "/${sys_library_dir}/${dir_name}/${name}.framework/Versions/${FRAMEWORK_VERSION}/${name}")
156
157 # reduce unnecessary recompilation by creating a single object library
158 # `add_darling_object_library` automatically adds arch flags based on the same variables we use, so this works fine
159 add_darling_object_library(${my_name}_obj ${FRAMEWORK_SOURCES})
160
161 if (BUILD_TARGET_32BIT)
162 set(DARLING_LIB_32BIT_ONLY TRUE)
163 if (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
164 add_circular(${my_name}_${APPLE_ARCH_32BIT}
165 SIBLINGS ${FRAMEWORK_CIRCULAR_DEPENDENCIES}
166 UPWARD ${FRAMEWORK_UPWARD_DEPENDENCIES}
167 OBJECTS $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}
168 STRONG_DEPENDENCIES ${FRAMEWORK_STRONG_DEPENDENCIES}
169 )
170 else (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
171 add_darling_library(${my_name}_${APPLE_ARCH_32BIT} $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS})
172 target_link_libraries(${my_name}_${APPLE_ARCH_32BIT} PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES})
173 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
174 set(DARLING_LIB_32BIT_ONLY FALSE)
175 set_target_properties(${my_name}_${APPLE_ARCH_32BIT} PROPERTIES
176 OUTPUT_NAME "${name}_${APPLE_ARCH_32BIT}"
177 SUFFIX ""
178 PREFIX "")
179 set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY
180 COMPILE_FLAGS " -arch ${APPLE_ARCH_32BIT}")
181 set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY
182 LINK_FLAGS " -arch ${APPLE_ARCH_32BIT}")
183 if (NOT FRAMEWORK_CURRENT_VERSION)
184 add_library("${my_name}_${APPLE_ARCH_32BIT}" ALIAS "${name}_${APPLE_ARCH_32BIT}")
185 endif (NOT FRAMEWORK_CURRENT_VERSION)
186
187 if (FRAMEWORK_DEPENDENCIES)
188 target_link_libraries(${my_name}_${APPLE_ARCH_32BIT} PRIVATE ${FRAMEWORK_DEPENDENCIES})
189 endif (FRAMEWORK_DEPENDENCIES)
190
191 if (FRAMEWORK_LINK_FLAGS)
192 set_property(TARGET ${my_name}_${APPLE_ARCH_32BIT} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}")
193 endif (FRAMEWORK_LINK_FLAGS)
194 endif (BUILD_TARGET_32BIT)
195
196 if (BUILD_TARGET_64BIT)
197 set(DARLING_LIB_64BIT_ONLY TRUE)
198 if (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
199 add_circular(${my_name}_${APPLE_ARCH_64BIT}
200 SIBLINGS ${FRAMEWORK_CIRCULAR_DEPENDENCIES}
201 UPWARD ${FRAMEWORK_UPWARD_DEPENDENCIES}
202 OBJECTS $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS}
203 STRONG_DEPENDENCIES ${FRAMEWORK_STRONG_DEPENDENCIES}
204 )
205 else (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
206 add_darling_library(${my_name}_${APPLE_ARCH_64BIT} $<TARGET_OBJECTS:${my_name}_obj> ${FRAMEWORK_OBJECTS})
207 target_link_libraries(${my_name}_${APPLE_ARCH_64BIT} PRIVATE ${FRAMEWORK_STRONG_DEPENDENCIES})
208 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES OR FRAMEWORK_UPWARD_DEPENDENCIES)
209 set(DARLING_LIB_64BIT_ONLY FALSE)
210 set_target_properties(${my_name}_${APPLE_ARCH_64BIT} PROPERTIES
211 OUTPUT_NAME "${name}_${APPLE_ARCH_64BIT}"
212 SUFFIX ""
213 PREFIX "")
214 set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY
215 COMPILE_FLAGS " -arch ${APPLE_ARCH_64BIT}")
216 set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY
217 LINK_FLAGS " -arch ${APPLE_ARCH_64BIT}")
218 if (NOT FRAMEWORK_CURRENT_VERSION)
219 add_library("${my_name}_${APPLE_ARCH_64BIT}" ALIAS "${name}_${APPLE_ARCH_64BIT}")
220 endif (NOT FRAMEWORK_CURRENT_VERSION)
221
222 if (FRAMEWORK_DEPENDENCIES)
223 target_link_libraries(${my_name}_${APPLE_ARCH_64BIT} PRIVATE ${FRAMEWORK_DEPENDENCIES})
224 endif (FRAMEWORK_DEPENDENCIES)
225
226 if (FRAMEWORK_LINK_FLAGS)
227 set_property(TARGET ${my_name}_${APPLE_ARCH_64BIT} APPEND_STRING PROPERTY LINK_FLAGS " ${FRAMEWORK_LINK_FLAGS}")
228 endif (FRAMEWORK_LINK_FLAGS)
229 endif (BUILD_TARGET_64BIT)
230
231 if (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT)
232 if (FRAMEWORK_CIRCULAR_DEPENDENCIES)
233 add_dependencies(${my_name}_${APPLE_ARCH_64BIT}_firstpass ${my_name}_${APPLE_ARCH_32BIT}_firstpass)
234 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT}_firstpass POST_BUILD
235 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
236 -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}_firstpass>
237 -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}_firstpass>
238 -create
239 -output
240 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
241 COMMENT "Running lipo to create ${my_name}_firstpass"
242 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
243 )
244 add_library(${my_name}_firstpass SHARED IMPORTED GLOBAL)
245 set_target_properties(${my_name}_firstpass PROPERTIES
246 SUFFIX ""
247 PREFIX ""
248 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
249 )
250 add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_64BIT}_firstpass)
251 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES)
252
253 add_dependencies(${my_name}_${APPLE_ARCH_64BIT} ${my_name}_${APPLE_ARCH_32BIT})
254 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT} POST_BUILD
255 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
256 -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}>
257 -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}>
258 -create
259 -output
260 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
261 COMMENT "Running lipo to create ${my_name}"
262 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
263 )
264 add_library(${my_name} SHARED IMPORTED GLOBAL)
265 set_target_properties(${my_name} PROPERTIES
266 SUFFIX ""
267 PREFIX ""
268 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
269 )
270 add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_64BIT})
271 elseif (BUILD_TARGET_32BIT)
272 if (FRAMEWORK_CIRCULAR_DEPENDENCIES)
273 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_32BIT}_firstpass POST_BUILD
274 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
275 -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}_firstpass>
276 -create
277 -output
278 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
279 COMMENT "Running lipo to create ${my_name}_firstpass"
280 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
281 )
282 add_library(${my_name}_firstpass SHARED IMPORTED GLOBAL)
283 set_target_properties(${my_name}_firstpass PROPERTIES
284 SUFFIX ""
285 PREFIX ""
286 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
287 )
288 add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_32BIT}_firstpass)
289 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES)
290
291 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_32BIT} POST_BUILD
292 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
293 -arch ${APPLE_ARCH_32BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_32BIT}>
294 -create
295 -output
296 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
297 COMMENT "Running lipo to create ${my_name}"
298 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
299 )
300 add_library(${my_name} SHARED IMPORTED GLOBAL)
301 set_target_properties(${my_name} PROPERTIES
302 SUFFIX ""
303 PREFIX ""
304 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
305 )
306 add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_32BIT})
307 elseif (BUILD_TARGET_64BIT)
308 if (FRAMEWORK_CIRCULAR_DEPENDENCIES)
309 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT}_firstpass POST_BUILD
310 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
311 -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}_firstpass>
312 -create
313 -output
314 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
315 COMMENT "Running lipo to create ${my_name}_firstpass"
316 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
317 )
318 add_library(${my_name}_firstpass SHARED IMPORTED GLOBAL)
319 set_target_properties(${my_name}_firstpass PROPERTIES
320 SUFFIX ""
321 PREFIX ""
322 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}_firstpass
323 )
324 add_dependencies(${my_name}_firstpass ${my_name}_${APPLE_ARCH_64BIT}_firstpass)
325 endif (FRAMEWORK_CIRCULAR_DEPENDENCIES)
326
327 add_custom_command(TARGET ${my_name}_${APPLE_ARCH_64BIT} POST_BUILD
328 COMMAND ${CMAKE_BINARY_DIR}/src/external/cctools-port/cctools/misc/lipo
329 -arch ${APPLE_ARCH_64BIT} $<TARGET_FILE:${my_name}_${APPLE_ARCH_64BIT}>
330 -create
331 -output
332 ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
333 COMMENT "Running lipo to create ${my_name}"
334 BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
335 )
336 add_library(${my_name} SHARED IMPORTED GLOBAL)
337 set_target_properties(${my_name} PROPERTIES
338 SUFFIX ""
339 PREFIX ""
340 IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${my_name}
341 )
342 add_dependencies(${my_name} ${my_name}_${APPLE_ARCH_64BIT})
343 endif (BUILD_TARGET_32BIT AND BUILD_TARGET_64BIT)
344
345 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${my_name} DESTINATION "libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/Versions/${FRAMEWORK_VERSION}/")
346
347 if (FRAMEWORK_RESOURCES)
348 if (FRAMEWORK_CURRENT_VERSION)
349 InstallSymlink("Versions/Current/Resources" "${CMAKE_INSTALL_PREFIX}/libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/Resources")
350 endif (FRAMEWORK_CURRENT_VERSION)
351 while (FRAMEWORK_RESOURCES)
352 list(GET FRAMEWORK_RESOURCES 0 res_install_path)
353 list(GET FRAMEWORK_RESOURCES 1 res_source_path)
354 get_filename_component(res_install_dir ${res_install_path} DIRECTORY)
355 get_filename_component(res_install_name ${res_install_path} NAME)
356 install(FILES ${res_source_path}
357 DESTINATION libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/Versions/${FRAMEWORK_VERSION}/Resources/${res_install_dir}
358 RENAME ${res_install_name})
359 list(REMOVE_AT FRAMEWORK_RESOURCES 0 1)
360 endwhile (FRAMEWORK_RESOURCES)
361 endif (FRAMEWORK_RESOURCES)
362
363 if (FRAMEWORK_CURRENT_VERSION)
364 InstallSymlink(${FRAMEWORK_VERSION} "${CMAKE_INSTALL_PREFIX}/libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/Versions/Current")
365 InstallSymlink("Versions/Current/${name}" "${CMAKE_INSTALL_PREFIX}/libexec/darling/${sys_library_dir}/${dir_name}/${name}.framework/${name}")
366 endif (FRAMEWORK_CURRENT_VERSION)
367endfunction(add_separated_framework)