1# Because compiler-rt spends a lot of time setting up custom compile flags, 2# define a handy helper function for it. The compile flags setting in CMake 3# has serious issues that make its syntax challenging at best. 4function(set_target_compile_flags target) 5 foreach(arg ${ARGN}) 6 set(argstring "${argstring} ${arg}") 7 endforeach() 8 set_property(TARGET ${target} PROPERTY COMPILE_FLAGS "${argstring}") 9endfunction() 10 11function(set_target_link_flags target) 12 foreach(arg ${ARGN}) 13 set(argstring "${argstring} ${arg}") 14 endforeach() 15 set_property(TARGET ${target} PROPERTY LINK_FLAGS "${argstring}") 16endfunction() 17 18# Check if a given flag is present in a space-separated flag_string. 19# Store the result in out_var. 20function(find_flag_in_string flag_string flag out_var) 21 string(REPLACE " " ";" flag_list ${flag_string}) 22 list(FIND flag_list ${flag} flag_pos) 23 if(NOT flag_pos EQUAL -1) 24 set(${out_var} TRUE PARENT_SCOPE) 25 else() 26 set(${out_var} FALSE PARENT_SCOPE) 27 endif() 28endfunction() 29