this repo has no description
at fixPythonPipStalling 367 lines 16 kB view raw
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)