From 64c691af8a57ebd2a0aa864547e66b04cd5771ae Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Wed, 23 Jul 2008 18:45:37 +0000 Subject: [PATCH] support for cmake < 2.4.8 git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1369 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 3 +++ cmake/modules/BuildPlugin.cmake | 35 ++++++++++++++++++++------------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13dedd46e..7eb341a17 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-07-23 Tobias Doerffel + * cmake/modules/BuildPlugin.cmake: + support for cmake < 2.4.8 + * plugins/ladspa_effect/caps/CMakeLists.txt: do not compile with -O3 when using GCC 4.1.x as this version segfaults while optimizing diff --git a/cmake/modules/BuildPlugin.cmake b/cmake/modules/BuildPlugin.cmake index a87573f4c..2ad3732a4 100644 --- a/cmake/modules/BuildPlugin.cmake +++ b/cmake/modules/BuildPlugin.cmake @@ -11,9 +11,18 @@ MACRO(CDR var junk) SET(${var} ${ARGN}) ENDMACRO(CDR) +MACRO(LIST_CONTAINS var value) + SET(${var}) + FOREACH (value2 ${ARGN}) + IF (${value} STREQUAL ${value2}) + SET(${var} TRUE) + ENDIF (${value} STREQUAL ${value2}) + ENDFOREACH (value2) +ENDMACRO(LIST_CONTAINS) + MACRO(PARSE_ARGUMENTS prefix arg_names option_names) SET(DEFAULT_ARGS) - FOREACH(arg_name ${arg_names}) + FOREACH(arg_name ${arg_names}) SET(${prefix}_${arg_name}) ENDFOREACH(arg_name) FOREACH(option ${option_names}) @@ -22,22 +31,20 @@ MACRO(PARSE_ARGUMENTS prefix arg_names option_names) SET(current_arg_name DEFAULT_ARGS) SET(current_arg_list) - FOREACH(arg ${ARGN}) - SET(larg_names ${arg_names}) - LIST(FIND larg_names "${arg}" is_arg_name) - IF (is_arg_name GREATER -1) + FOREACH(arg ${ARGN}) + LIST_CONTAINS(is_arg_name ${arg} ${arg_names}) + IF (is_arg_name) SET(${prefix}_${current_arg_name} ${current_arg_list}) SET(current_arg_name ${arg}) SET(current_arg_list) - ELSE (is_arg_name GREATER -1) - SET(loption_names ${option_names}) - LIST(FIND loption_names "${arg}" is_option) - IF (is_option GREATER -1) - SET(${prefix}_${arg} TRUE) - ELSE (is_option GREATER -1) - SET(current_arg_list ${current_arg_list} ${arg}) - ENDIF (is_option GREATER -1) - ENDIF (is_arg_name GREATER -1) + ELSE (is_arg_name) + LIST_CONTAINS(is_option ${arg} ${option_names}) + IF (is_option) + SET(${prefix}_${arg} TRUE) + ELSE (is_option) + SET(current_arg_list ${current_arg_list} ${arg}) + ENDIF (is_option) + ENDIF (is_arg_name) ENDFOREACH(arg) SET(${prefix}_${current_arg_name} ${current_arg_list}) ENDMACRO(PARSE_ARGUMENTS)