@@ -111,6 +111,11 @@ else()
111
111
set (FRAMEWORK_LIBRARY_TYPE STATIC )
112
112
endif ()
113
113
114
+ set (CF_HEADER Base.subproj/CoreFoundation.h )
115
+ if (CF_DEPLOYMENT_SWIFT )
116
+ set (CF_HEADER Base.subproj/SwiftRuntime/CoreFoundation.h )
117
+ set (CF_SWIFT_PRIVATE_HEADERS Base.subproj/ForSwiftFoundationOnly.h )
118
+ endif ()
114
119
add_framework (CoreFoundation
115
120
${FRAMEWORK_LIBRARY_TYPE}
116
121
FRAMEWORK_DIRECTORY
@@ -128,7 +133,6 @@ add_framework(CoreFoundation
128
133
Base.subproj/CFRuntime.h
129
134
Base.subproj/CFRuntime_Internal.h
130
135
Base.subproj/ForFoundationOnly.h
131
- Base.subproj/ForSwiftFoundationOnly.h
132
136
# Collections
133
137
Collections.subproj/CFBasicHash.h
134
138
Collections.subproj/CFStorage.h
@@ -184,7 +188,9 @@ add_framework(CoreFoundation
184
188
URL.subproj/CFURL.inc.h
185
189
URL.subproj/CFURLPriv.h
186
190
URL.subproj/CFURLSessionInterface.h
191
+ ${CF_SWIFT_PRIVATE_HEADERS}
187
192
PUBLIC_HEADERS
193
+ ${CF_HEADER}
188
194
# FIXME: PrivateHeaders referenced by public headers
189
195
Base.subproj/CFKnownLocations.h
190
196
Base.subproj/CFLocking.h
@@ -217,7 +223,6 @@ add_framework(CoreFoundation
217
223
Base.subproj/CFByteOrder.h
218
224
Base.subproj/CFUUID.h
219
225
Base.subproj/CFUtilities.h
220
- Base.subproj/SwiftRuntime/CoreFoundation.h
221
226
Base.subproj/SwiftRuntime/TargetConditionals.h
222
227
# Collections
223
228
Collections.subproj/CFArray.h
@@ -311,8 +316,6 @@ add_framework(CoreFoundation
311
316
Parsing.subproj/CFOldStylePList.c
312
317
Parsing.subproj/CFPropertyList.c
313
318
Parsing.subproj/CFXMLInputStream.c
314
- Parsing.subproj/CFXMLNode.c
315
- Parsing.subproj/CFXMLParser.c
316
319
Parsing.subproj/CFXMLTree.c
317
320
# PlugIn
318
321
PlugIn.subproj/CFBundle_Binary.c
@@ -374,6 +377,12 @@ add_framework(CoreFoundation
374
377
URL.subproj/CFURL.c
375
378
URL.subproj/CFURLComponents.c
376
379
URL.subproj/CFURLComponents_URIParser.c )
380
+ if (CF_DEPLOYMENT_SWIFT )
381
+ target_sources (CoreFoundation
382
+ PRIVATE
383
+ Parsing.subproj/CFXMLNode.c
384
+ Parsing.subproj/CFXMLParser.c )
385
+ endif ()
377
386
target_compile_definitions (CoreFoundation
378
387
PRIVATE
379
388
$< $< COMPILE_LANGUAGE:ASM> :CF_CHARACTERSET_BITMAP="CharacterSets/CFCharacterSetBitmaps.bitmap">
@@ -421,22 +430,24 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
421
430
CURL::libcurl )
422
431
endif ()
423
432
424
- add_framework (CFXMLInterface
425
- ${FRAMEWORK_LIBRARY_TYPE}
426
- FRAMEWORK_DIRECTORY
427
- CFXMLInterface_FRAMEWORK_DIRECTORY
428
- MODULE_MAP
429
- Parsing.subproj/module.modulemap
430
- PRIVATE_HEADERS
431
- Parsing.subproj/CFXMLInterface.h
432
- PUBLIC_HEADERS
433
- Parsing.subproj/CFXMLInterface.h
434
- SOURCES
435
- Parsing.subproj/CFXMLInterface.c )
436
- add_dependencies (CFXMLInterface CoreFoundation )
437
- if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin )
438
- target_link_libraries (CFXMLInterface PRIVATE
439
- LibXml2::LibXml2 )
433
+ if (CF_DEPLOYMENT_SWIFT )
434
+ add_framework (CFXMLInterface
435
+ ${FRAMEWORK_LIBRARY_TYPE}
436
+ FRAMEWORK_DIRECTORY
437
+ CFXMLInterface_FRAMEWORK_DIRECTORY
438
+ MODULE_MAP
439
+ Parsing.subproj/module.modulemap
440
+ PRIVATE_HEADERS
441
+ Parsing.subproj/CFXMLInterface.h
442
+ PUBLIC_HEADERS
443
+ Parsing.subproj/CFXMLInterface.h
444
+ SOURCES
445
+ Parsing.subproj/CFXMLInterface.c )
446
+ add_dependencies (CFXMLInterface CoreFoundation )
447
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL Darwin )
448
+ target_link_libraries (CFXMLInterface PRIVATE
449
+ LibXml2::LibXml2 )
450
+ endif ()
440
451
endif ()
441
452
442
453
if (CMAKE_SYSTEM_NAME STREQUAL Windows )
@@ -470,12 +481,14 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows)
470
481
Secur32
471
482
User32
472
483
mincore )
473
- target_link_libraries (CFXMLInterface
474
- PRIVATE
475
- AdvAPI32
476
- Secur32
477
- User32
478
- mincore )
484
+ if (CF_DEPLOYMENT_SWIFT )
485
+ target_link_libraries (CFXMLInterface
486
+ PRIVATE
487
+ AdvAPI32
488
+ Secur32
489
+ User32
490
+ mincore )
491
+ endif ()
479
492
endif ()
480
493
if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT CMAKE_SYSTEM_NAME STREQUAL Darwin )
481
494
target_link_libraries (CoreFoundation
@@ -484,19 +497,23 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Windows AND NOT CMAKE_SYSTEM_NAME STREQUAL Dar
484
497
target_link_libraries (CFURLSessionInterface
485
498
PRIVATE
486
499
m )
487
- target_link_libraries (CFXMLInterface
488
- PRIVATE
489
- m )
500
+ if (CF_DEPLOYMENT_SWIFT )
501
+ target_link_libraries (CFXMLInterface
502
+ PRIVATE
503
+ m )
504
+ endif ()
490
505
endif ()
491
506
target_link_libraries (CoreFoundation
492
507
PRIVATE
493
508
dispatch )
494
509
target_link_libraries (CFURLSessionInterface
495
510
PRIVATE
496
511
dispatch )
497
- target_link_libraries (CFXMLInterface
498
- PRIVATE
499
- dispatch )
512
+ if (CF_DEPLOYMENT_SWIFT )
513
+ target_link_libraries (CFXMLInterface
514
+ PRIVATE
515
+ dispatch )
516
+ endif ()
500
517
if (CMAKE_SYSTEM_NAME STREQUAL Darwin )
501
518
target_link_libraries (CoreFoundation
502
519
PRIVATE
@@ -515,9 +532,14 @@ endif()
515
532
install (TARGETS
516
533
CoreFoundation
517
534
CFURLSessionInterface
518
- CFXMLInterface
519
535
DESTINATION
520
536
"${CMAKE_INSTALL_FULL_LIBDIR} " )
537
+ if (CF_DEPLOYMENT_SWIFT )
538
+ install (TARGETS
539
+ CFXMLInterface
540
+ DESTINATION
541
+ "${CMAKE_INSTALL_FULL_LIBDIR} " )
542
+ endif ()
521
543
522
544
# Needed to avoid double slash "//" when CMAKE_INSTALL_PREFIX set to "/" and DESTDIR used to relocate whole installation.
523
545
# Double slash raise CMake error "file called with network path DESTINATION //System/Library/Frameworks".
0 commit comments