/ lib / gssapi / CMakeLists.txt
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  )