1# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. 2# 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License, version 2.0, 5# as published by the Free Software Foundation. 6# 7# This program is also distributed with certain software (including 8# but not limited to OpenSSL) that is licensed under separate terms, 9# as designated in a particular file or component or in included license 10# documentation. The authors of MySQL hereby grant you an additional 11# permission to link the program and your derivative works with the 12# separately licensed software that they have included with MySQL. 13# 14# This program is distributed in the hope that it will be useful, 15# but WITHOUT ANY WARRANTY; without even the implied warranty of 16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17# GNU General Public License, version 2.0, for more details. 18# 19# You should have received a copy of the GNU General Public License 20# along with this program; if not, write to the Free Software 21# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 22 23 24## ADD_COMPILE_FLAGS(<source files> COMPILE_FLAGS <flags>) 25MACRO(ADD_COMPILE_FLAGS) 26 SET(FILES "") 27 SET(FLAGS "") 28 SET(COMPILE_FLAGS_SEEN) 29 FOREACH(ARG ${ARGV}) 30 IF(ARG STREQUAL "COMPILE_FLAGS") 31 SET(COMPILE_FLAGS_SEEN 1) 32 ELSEIF(COMPILE_FLAGS_SEEN) 33 LIST(APPEND FLAGS ${ARG}) 34 ELSE() 35 LIST(APPEND FILES ${ARG}) 36 ENDIF() 37 ENDFOREACH() 38 FOREACH(FILE ${FILES}) 39 FOREACH(FLAG ${FLAGS}) 40 GET_SOURCE_FILE_PROPERTY(PROP ${FILE} COMPILE_FLAGS) 41 IF(NOT PROP) 42 SET(PROP ${FLAG}) 43 ELSE() 44 SET(PROP "${PROP} ${FLAG}") 45 ENDIF() 46 SET_SOURCE_FILES_PROPERTIES( 47 ${FILE} PROPERTIES COMPILE_FLAGS "${PROP}" 48 ) 49 ENDFOREACH() 50 ENDFOREACH() 51ENDMACRO() 52