CMakeLists.txt
1 project(cfnetwork) 2 3 include(darling_framework) 4 5 remove_sdk_framework(CFNetwork) 6 7 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include ${CMAKE_SOURCE_DIR}/src/external/corefoundation/macros.h \ 8 -include ${CMAKE_SOURCE_DIR}/src/external/corefoundation/CoreFoundation_Prefix.h") 9 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \ 10 -include ${CMAKE_SOURCE_DIR}/src/external/corefoundation/macros.h \ 11 -include ${CMAKE_SOURCE_DIR}/src/external/corefoundation/CoreFoundation_Prefix.h") 12 13 add_definitions(-nostdinc -w -DOBJC_OLD_DISPATCH_PROTOTYPES=1) 14 add_compile_definitions( 15 INCLUDE_OBJC 16 DEPLOYMENT_TARGET_MACOSX=1 17 __CONSTANT_CFSTRINGS__=1 18 __CONSTANT_STRINGS__=1 19 ) 20 21 include_directories( 22 ${CMAKE_CURRENT_SOURCE_DIR} 23 ${CMAKE_CURRENT_SOURCE_DIR}/SharedCode 24 ${CMAKE_CURRENT_SOURCE_DIR}/Proxies 25 ${CMAKE_CURRENT_SOURCE_DIR}/HTTP 26 ${CMAKE_CURRENT_SOURCE_DIR}/HTTP/SPNEGO 27 ${CMAKE_CURRENT_SOURCE_DIR}/Headers 28 ${CMAKE_CURRENT_SOURCE_DIR}/Utils 29 ${CMAKE_CURRENT_SOURCE_DIR}/../include 30 ${CMAKE_CURRENT_SOURCE_DIR}/../include/CFNetwork 31 ${CMAKE_CURRENT_SOURCE_DIR}/../private_include 32 ${CMAKE_CURRENT_SOURCE_DIR}/../private_include/CFNetwork 33 ${CMAKE_SOURCE_DIR}/src/external/corefoundation 34 ${CMAKE_SOURCE_DIR}/src/external/security/OSX/libsecurity_ssl/lib 35 ${CMAKE_SOURCE_DIR}/src/external/security/darling/include/macOS 36 ${CMAKE_SOURCE_DIR}/src/external/foundation/internal_include 37 ) 38 39 set(cfnetwork_sources 40 resolv_stub.c 41 Stream/CFSocketStream.c 42 SharedCode/CFNetworkSchedule.c 43 SharedCode/CFNetworkThreadSupport.c 44 SharedCode/CFServer.c 45 SharedCode/CFNetConnection.c 46 SharedCode/CFError.c 47 # JavaScriptGlue.c 48 CFProxySupport.c 49 URL/CFURLConnection.c 50 URL/CFURLProtectionSpace.c 51 URL/CFCachedURLResponse.c 52 URL/CFURLCache.c 53 URL/CFURLResponse.c 54 URL/_CFURLAccess.c 55 URL/CFURLAuthChallenge.c 56 URL/CFURLRequest.c 57 URL/CFNSURLConnection.m 58 HTTP/CFHTTPServer.c 59 HTTP/CFHTTPMessage.c 60 HTTP/CFHTTPStream.c 61 # HTTP/SPNEGO/spnegoKrb.cpp 62 # HTTP/SPNEGO/spnegoDER.cpp 63 # HTTP/SPNEGO/spnegoBlob.cpp 64 HTTP/CFHTTPFilter.c 65 #HTTP/NTLM/NtlmGenerator.cpp 66 #HTTP/NTLM/ntlmBlobPriv.cpp 67 HTTP/CFHTTPAuthentication.c 68 HTTP/CFHTTPConnection.c 69 CFNetServices.c # requires Bonjour 70 Host/CFHost.c 71 Proxies/ProxySupport.c 72 Cookies/CFHTTPCookie.c 73 Cookies/CFHTTPCookieStorage.c 74 Utils/CFHTTPUtils.c 75 Utils/CFFSUtils.c 76 Utils/CFRuntimeUtils.c 77 FTP/CFFTPStream.c 78 #NetDiagnostics/CFNetDiagnosticsProtocolUser.c 79 #NetDiagnostics/CFNetDiagnostics.c 80 #NetDiagnostics/CFNetDiagnosticPing.c 81 CFNetwork.c 82 #libresolv.c 83 #NetServices/DeprecatedDNSServiceDiscovery.c 84 #NetServices/CFNetServices.c 85 #NetServices/CFNetServiceMonitor.c 86 #NetServices/CFNetServiceBrowser.c 87 #security_cdsa_utils.c 88 dnssd_stub.c 89 constants.m 90 91 URL/NSURLAuthenticationChallenge.m 92 URL/NSURLCache.m 93 URL/NSURLConnection.m 94 URL/NSURLCredential.m 95 URL/NSURLCredentialStorage.m 96 URL/NSURLDownload.m 97 URL/NSURLProtectionSpace.m 98 URL/NSURLProtocol.m 99 URL/NSURLRequest.m 100 URL/NSURLResponse.m 101 URL/NSURLSession.m 102 URL/NSCFURLSession.m 103 104 HTTP/NSHTTPCookie.m 105 HTTP/NSHTTPCookieStorage.m 106 ) 107 108 set(DYLIB_COMPAT_VERSION "1.0.0") 109 set(DYLIB_CURRENT_VERSION "807.0.4") 110 111 set(FRAMEWORK_VERSION "A") 112 113 generate_sdk_framework(CFNetwork 114 VERSION ${FRAMEWORK_VERSION} 115 HEADER "../darling-framework/include/CFNetwork" 116 ) 117 118 add_framework(CFNetwork 119 FAT 120 #CIRCULAR # force it to be circular 121 CURRENT_VERSION 122 SOURCES 123 ${cfnetwork_sources} 124 VERSION ${FRAMEWORK_VERSION} 125 DEPENDENCIES 126 system 127 CoreFoundation 128 z 129 objc 130 icucore 131 SystemConfiguration 132 CIRCULAR_DEPENDENCIES 133 Security 134 135 # can't do it like this; Foundation segfaults ld when created as a flat namespace, so it can't be circular 136 #UPWARD_DEPENDENCIES 137 # Foundation 138 LINK_FLAGS 139 "-Wl,-upward_library,${CMAKE_BINARY_DIR}/src/external/foundation/Foundation" 140 ) 141 add_dependencies(CFNetwork 142 Foundation 143 )