@@ -45,6 +45,7 @@ function(cc_library name)
45
45
${FIREBASE_SOURCE_DIR}
46
46
)
47
47
48
+ target_compile_options (${name} PRIVATE ${FIREBASE_CXX_FLAGS} )
48
49
target_link_libraries (${name} PUBLIC ${ccl_DEPENDS} )
49
50
50
51
if (ccl_EXCLUDE_FROM_ALL)
@@ -135,6 +136,10 @@ endfunction()
135
136
# Defines a new test executable target with the given target name, sources, and
136
137
# dependencies. Implicitly adds DEPENDS on GTest::GTest and GTest::Main.
137
138
function (cc_test name )
139
+ if (NOT FIREBASE_IOS_BUILD_TESTS)
140
+ return ()
141
+ endif ()
142
+
138
143
set (multi DEPENDS SOURCES )
139
144
cmake_parse_arguments (cct "" "" "${multi} " ${ARGN} )
140
145
@@ -184,6 +189,8 @@ function(cc_fuzz_test name)
184
189
DEPENDS ${ccf_DEPENDS}
185
190
)
186
191
192
+ target_compile_options (${name} PRIVATE ${FIREBASE_CXX_FLAGS} )
193
+
187
194
# Copy the dictionary file and corpus directory, if they are defined.
188
195
if (DEFINED ccf_DICTIONARY)
189
196
add_custom_command (
@@ -314,6 +321,7 @@ function(objc_framework target)
314
321
INTERFACE
315
322
-F${CMAKE_CURRENT_BINARY_DIR}
316
323
PRIVATE
324
+ ${FIREBASE_CXX_FLAGS}
317
325
${OBJC_FLAGS}
318
326
-fno-autolink
319
327
-Wno-unused-parameter
@@ -356,56 +364,55 @@ function(objc_framework target)
356
364
endfunction ()
357
365
358
366
function (objc_test target )
359
- if (APPLE )
360
- set (flag EXCLUDE_FROM_ALL )
361
- set (single HOST VERSION WORKING_DIRECTORY )
362
- set (multi DEPENDS DEFINES HEADERS INCLUDES SOURCES )
363
- cmake_parse_arguments (ot "${flag} " "${single} " "${multi} " ${ARGN} )
367
+ if (NOT APPLE OR NOT FIREBASE_IOS_BUILD_TESTS)
368
+ return ()
369
+ endif ()
364
370
365
- xctest_add_bundle(
366
- ${target}
367
- ${ot_HOST}
368
- ${ot_SOURCES}
369
- )
371
+ set (flag EXCLUDE_FROM_ALL )
372
+ set (single HOST VERSION WORKING_DIRECTORY )
373
+ set (multi DEPENDS DEFINES HEADERS INCLUDES SOURCES )
374
+ cmake_parse_arguments (ot "${flag} " "${single} " "${multi} " ${ARGN} )
375
+
376
+ xctest_add_bundle(
377
+ ${target}
378
+ ${ot_HOST}
379
+ ${ot_SOURCES}
380
+ )
370
381
371
- add_objc_flags(
372
- ${target}
373
- ${ot_SOURCES}
374
- )
382
+ add_objc_flags(
383
+ ${target}
384
+ ${ot_SOURCES}
385
+ )
375
386
376
- target_link_libraries (
377
- ${target}
378
- PRIVATE
379
- ${ot_DEPENDS}
380
- )
387
+ target_compile_options (${target} PRIVATE ${FIREBASE_CXX_FLAGS} )
388
+ target_link_libraries (${target} PRIVATE ${ot_DEPENDS} )
381
389
382
- xctest_add_test(
383
- ${target}
384
- ${target}
385
- )
390
+ xctest_add_test(
391
+ ${target}
392
+ ${target}
393
+ )
386
394
387
- if (ot_WORKING_DIRECTORY)
388
- set_property (
389
- TEST ${target} PROPERTY
390
- WORKING_DIRECTORY ${ot_WORKING_DIRECTORY}
391
- )
392
- endif ()
395
+ if (ot_WORKING_DIRECTORY)
396
+ set_property (
397
+ TEST ${target} PROPERTY
398
+ WORKING_DIRECTORY ${ot_WORKING_DIRECTORY}
399
+ )
400
+ endif ()
393
401
394
- if (APPLE AND WITH_ASAN)
395
- set_property (
396
- TEST ${target} APPEND PROPERTY
397
- ENVIRONMENT
398
- DYLD_INSERT_LIBRARIES=${CLANG_ASAN_DYLIB}
399
- )
400
- endif ()
402
+ if (WITH_ASAN)
403
+ set_property (
404
+ TEST ${target} APPEND PROPERTY
405
+ ENVIRONMENT
406
+ DYLD_INSERT_LIBRARIES=${CLANG_ASAN_DYLIB}
407
+ )
408
+ endif ()
401
409
402
- if (APPLE AND WITH_TSAN)
403
- set_property (
404
- TEST ${target} APPEND PROPERTY
405
- ENVIRONMENT
406
- DYLD_INSERT_LIBRARIES=${CLANG_TSAN_DYLIB}
407
- )
408
- endif ()
410
+ if (WITH_TSAN)
411
+ set_property (
412
+ TEST ${target} APPEND PROPERTY
413
+ ENVIRONMENT
414
+ DYLD_INSERT_LIBRARIES=${CLANG_TSAN_DYLIB}
415
+ )
409
416
endif ()
410
417
endfunction ()
411
418
@@ -416,14 +423,14 @@ endfunction()
416
423
#
417
424
# Appends the generated source file name to the list named by sources_list.
418
425
macro (generate_dummy_source name sources_list)
419
- set (__empty_header_only_file "${CMAKE_CURRENT_BINARY_DIR} /${name} _header_only_empty.c " )
426
+ set (__empty_header_only_file "${CMAKE_CURRENT_BINARY_DIR} /${name} _header_only_empty.cc " )
420
427
421
428
if (NOT EXISTS ${__empty_header_only_file} )
422
429
file (WRITE ${__empty_header_only_file}
423
430
"// Generated file that keeps header-only CMake libraries happy.
424
431
425
432
// single meaningless symbol
426
- void ${name} _header_only_fakesym(void ) {}
433
+ void ${name} _header_only_fakesym() {}
427
434
"
428
435
)
429
436
endif ()
0 commit comments