CMakeLists.txt
1 project(darling-Heimdal-gssapi) 2 3 remove_sdk_framework(GSS) 4 5 add_compile_definitions( 6 PRIVATE 7 ) 8 9 include_directories(BEFORE 10 ${CMAKE_CURRENT_SOURCE_DIR} 11 ${CMAKE_CURRENT_SOURCE_DIR}/krb5 12 ${CMAKE_CURRENT_SOURCE_DIR}/spnego 13 ${CMAKE_CURRENT_SOURCE_DIR}/mech 14 ${CMAKE_CURRENT_SOURCE_DIR}/ntlm 15 ${CMAKE_CURRENT_SOURCE_DIR}/netlogon 16 ${CMAKE_CURRENT_SOURCE_DIR}/digest 17 ${CMAKE_CURRENT_SOURCE_DIR}/gssapi 18 ${CMAKE_CURRENT_SOURCE_DIR}/cf 19 ${CMAKE_CURRENT_SOURCE_DIR}/ns 20 ${CMAKE_CURRENT_SOURCE_DIR}/../ntlm 21 ${CMAKE_CURRENT_SOURCE_DIR}/../../gen/build-export-data 22 ) 23 24 add_darling_static_library(gss-krb5 FAT SOURCES 25 krb5/8003.c 26 krb5/accept_sec_context.c 27 krb5/acquire_cred.c 28 krb5/add_cred.c 29 krb5/address_to_krb5addr.c 30 krb5/aeap.c 31 krb5/arcfour.c 32 krb5/authorize_localname.c 33 krb5/canonicalize_name.c 34 krb5/ccache_name.c 35 krb5/cfx.c 36 krb5/compare_name.c 37 krb5/compat.c 38 krb5/context_time.c 39 krb5/copy_ccache.c 40 krb5/creds.c 41 krb5/decapsulate.c 42 krb5/delete_sec_context.c 43 krb5/display_name.c 44 krb5/display_status.c 45 krb5/duplicate_name.c 46 krb5/encapsulate.c 47 krb5/export_name.c 48 krb5/export_sec_context.c 49 krb5/external.c 50 krb5/get_mic.c 51 krb5/import_name.c 52 krb5/import_sec_context.c 53 krb5/indicate_mechs.c 54 krb5/init_sec_context.c 55 krb5/init.c 56 krb5/inquire_context.c 57 krb5/inquire_cred_by_mech.c 58 krb5/inquire_cred_by_oid.c 59 krb5/inquire_cred.c 60 krb5/inquire_mechs_for_name.c 61 krb5/inquire_names_for_mech.c 62 krb5/inquire_sec_context_by_oid.c 63 krb5/iter_cred.c 64 krb5/pname_to_uid.c 65 krb5/prf.c 66 krb5/process_context_token.c 67 krb5/release_buffer.c 68 krb5/release_cred.c 69 krb5/release_name.c 70 krb5/sequence.c 71 krb5/set_cred_option.c 72 krb5/set_sec_context_option.c 73 krb5/store_cred.c 74 krb5/ticket_flags.c 75 krb5/unwrap.c 76 krb5/verify_mic.c 77 krb5/wrap.c 78 ) 79 80 target_include_directories(gss-krb5 PRIVATE 81 ${CMAKE_CURRENT_SOURCE_DIR}/../../../../networkextension/include 82 ) 83 84 add_darling_static_library(gss-spnego FAT SOURCES 85 spnego/accept_sec_context.c 86 spnego/compat.c 87 spnego/context_stubs.c 88 spnego/cred_stubs.c 89 spnego/external.c 90 spnego/init_sec_context.c 91 ) 92 93 add_darling_static_library(gss-mechglue FAT SOURCES 94 mech/context.c 95 mech/cred.c 96 mech/gss_accept_sec_context.c 97 mech/gss_acquire_cred_ex.c 98 mech/gss_acquire_cred_ext.c 99 mech/gss_acquire_cred_with_password.c 100 mech/gss_acquire_cred.c 101 mech/gss_add_cred_with_password.c 102 mech/gss_add_cred.c 103 mech/gss_add_oid_set_member.c 104 mech/gss_aeap.c 105 mech/gss_authorize_localname.c 106 mech/gss_buffer_set.c 107 mech/gss_canonicalize_name.c 108 mech/gss_cb.c 109 mech/gss_compare_name.c 110 mech/gss_context_time.c 111 mech/gss_create_empty_oid_set.c 112 mech/gss_cred_hold.c 113 mech/gss_cred.c 114 mech/gss_decapsulate_token.c 115 mech/gss_delete_name_attribute.c 116 mech/gss_delete_sec_context.c 117 mech/gss_destroy_cred.c 118 mech/gss_display_name_ext.c 119 mech/gss_display_name.c 120 mech/gss_display_status.c 121 mech/gss_duplicate_name.c 122 mech/gss_duplicate_oid.c 123 mech/gss_encapsulate_token.c 124 mech/gss_export_name_composite.c 125 mech/gss_export_name.c 126 mech/gss_export_sec_context.c 127 mech/gss_get_mic.c 128 mech/gss_get_name_attribute.c 129 mech/gss_import_name.c 130 mech/gss_import_sec_context.c 131 mech/gss_indicate_mechs.c 132 mech/gss_init_sec_context.c 133 mech/gss_inquire_context.c 134 mech/gss_inquire_cred_by_mech.c 135 mech/gss_inquire_cred_by_oid.c 136 mech/gss_inquire_cred.c 137 mech/gss_inquire_mechs_for_name.c 138 mech/gss_inquire_name.c 139 mech/gss_inquire_names_for_mech.c 140 mech/gss_inquire_sec_context_by_oid.c 141 mech/gss_iter_cred.c 142 mech/gss_krb5.c 143 mech/gss_mech_switch.c 144 mech/gss_mo.c 145 mech/gss_names.c 146 mech/gss_oid_equal.c 147 mech/gss_oid_to_str.c 148 mech/gss_oid.c 149 mech/gss_pname_to_uid.c 150 mech/gss_process_context_token.c 151 mech/gss_pseudo_random.c 152 mech/gss_release_buffer.c 153 mech/gss_release_cred.c 154 mech/gss_release_name.c 155 mech/gss_release_oid_set.c 156 mech/gss_release_oid.c 157 mech/gss_seal.c 158 mech/gss_set_cred_option.c 159 mech/gss_set_name_attribute.c 160 mech/gss_set_sec_context_option.c 161 mech/gss_sign.c 162 mech/gss_store_cred.c 163 mech/gss_test_oid_set_member.c 164 mech/gss_unseal.c 165 mech/gss_unwrap.c 166 mech/gss_utils.c 167 mech/gss_verify_mic.c 168 mech/gss_verify.c 169 mech/gss_wrap_size_limit.c 170 mech/gss_wrap.c 171 ) 172 173 add_darling_static_library(gss-ntlm FAT SOURCES 174 ntlm/accept_sec_context.c 175 ntlm/acquire_cred.c 176 ntlm/add_cred.c 177 ntlm/canonicalize_name.c 178 ntlm/compare_name.c 179 ntlm/context_time.c 180 ntlm/creds.c 181 ntlm/crypto.c 182 ntlm/delete_sec_context.c 183 ntlm/digest.c 184 ntlm/display_name.c 185 ntlm/duplicate_name.c 186 ntlm/export_name.c 187 ntlm/export_sec_context.c 188 ntlm/external.c 189 ntlm/import_name.c 190 ntlm/import_sec_context.c 191 ntlm/indicate_mechs.c 192 ntlm/init_sec_context.c 193 ntlm/inquire_context.c 194 ntlm/inquire_cred_by_mech.c 195 ntlm/inquire_mechs_for_name.c 196 ntlm/inquire_names_for_mech.c 197 ntlm/inquire_sec_context_by_oid.c 198 ntlm/iter_cred.c 199 ntlm/process_context_token.c 200 ntlm/release_cred.c 201 ntlm/release_name.c 202 ) 203 204 add_darling_static_library(gss-netlogon FAT SOURCES 205 netlogon/accept_sec_context.c 206 netlogon/acquire_cred.c 207 netlogon/add_cred.c 208 netlogon/canonicalize_name.c 209 netlogon/compare_name.c 210 netlogon/context_time.c 211 netlogon/crypto.c 212 netlogon/delete_sec_context.c 213 netlogon/display_name.c 214 netlogon/display_status.c 215 netlogon/duplicate_name.c 216 netlogon/export_name.c 217 netlogon/export_sec_context.c 218 netlogon/external.c 219 netlogon/import_name.c 220 netlogon/import_sec_context.c 221 netlogon/indicate_mechs.c 222 netlogon/init_sec_context.c 223 netlogon/inquire_context.c 224 netlogon/inquire_cred_by_mech.c 225 netlogon/inquire_cred.c 226 netlogon/inquire_mechs_for_name.c 227 netlogon/inquire_names_for_mech.c 228 netlogon/iter_cred.c 229 netlogon/process_context_token.c 230 netlogon/release_cred.c 231 netlogon/release_name.c 232 ) 233 234 add_darling_static_library(gss-digest FAT SOURCES 235 digest/accept_sec_context.c 236 digest/acquire_cred.c 237 digest/add_cred.c 238 digest/canonicalize_name.c 239 digest/compare_name.c 240 digest/context_time.c 241 digest/creds.c 242 digest/delete_sec_context.c 243 digest/display_name.c 244 digest/display_status.c 245 digest/duplicate_name.c 246 digest/export_name.c 247 digest/export_sec_context.c 248 digest/external.c 249 digest/import_name.c 250 digest/import_sec_context.c 251 digest/indicate_mechs.c 252 digest/init_sec_context.c 253 digest/inquire_context.c 254 digest/inquire_cred_by_mech.c 255 digest/inquire_mechs_for_name.c 256 digest/inquire_sec_context_by_oid.c 257 digest/iter_cred.c 258 digest/process_context_token.c 259 digest/release_cred.c 260 digest/release_name.c 261 ) 262 263 set(FRAMEWORK_VERSION "A") 264 265 generate_sdk_framework(GSS 266 VERSION ${FRAMEWORK_VERSION} 267 HEADER "../../darling/include/GSS" 268 ) 269 270 add_framework(GSS 271 FAT 272 CURRENT_VERSION 273 VERSION ${FRAMEWORK_VERSION} 274 275 SOURCES 276 ../../gen/build-export-data/sym_gss.c 277 cf/item.c 278 cf/ntlm.c 279 cf/credential.c 280 281 DEPENDENCIES 282 Security 283 heimdal-asn1 284 Heimdal 285 CoreFoundation 286 resolv-darwin 287 SystemConfiguration 288 CommonAuth 289 bsm.0 290 291 # static libs 292 heim_asn1-defs 293 heim_asn1-digest 294 heim_hcrypto 295 gss-krb5 296 gss-mechglue 297 gss-spnego 298 gss-ntlm 299 gss-digest 300 gss-netlogon 301 ) 302 303 target_link_options(GSS PRIVATE 304 -Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/../../gen/build-export-data/gss.exp 305 )