# $Id: add_cppad_cxx_flags.cmake 3320 2014-09-11 23:06:21Z bradbell $ # ----------------------------------------------------------------------------- # CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-13 Bradley M. Bell # # CppAD is distributed under multiple licenses. This distribution is under # the terms of the # Eclipse Public License Version 1.0. # # A copy of this license is included in the COPYING file of this distribution. # Please visit http://www.coin-or.org/CppAD/ for information on other licenses. # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # add_cppad_cxx_flags(target_name) # # target_name: (in) # For package equal to "eigen", "fadbad", "scaado", if target_name ends in # _package, the compiler flags for this target are set to # cppad_cxx_flags_package # Otherwise, the compiler flags for this target are set to # cppad_cxx_flags. # # Side Effects: # The variables package and flags are used for scratch space and not # defined after the completion of this macro. # MACRO(add_cppad_cxx_flags target_name) # SET(flags ${cppad_cxx_flags}) FOREACH(package eigen fadbad sacado) IF( ${target_name} MATCHES ".*_${package}$" ) SET(flags "${cppad_cxx_flags_${package}}") MESSAGE(STATUS "${target_name} cxx_flags = ${cppad_cxx_flags_${package}}" ) ENDIF( ${target_name} MATCHES ".*_${package}$" ) IF( ${target_name} MATCHES ".*_${package}_lib$" ) SET(flags "${cppad_cxx_flags_${package}}") MESSAGE(STATUS "${target_name} cxx_flags = ${cppad_cxx_flags_${package}}" ) ENDIF( ${target_name} MATCHES ".*_${package}_lib$" ) ENDFOREACH(package) IF( flags ) SET_TARGET_PROPERTIES( ${target_name} PROPERTIES COMPILE_FLAGS "${flags}" ) ELSE( flags ) SET_TARGET_PROPERTIES( ${target_name} PROPERTIES COMPILE_FLAGS "" ) ENDIF( flags ) ENDMACRO(add_cppad_cxx_flags)