(Minor update) Moved some utilities to a separate file.
authorBenoit Neil <suky0001@free.fr>
Thu, 9 Apr 2009 21:16:28 +0000 (21:16 +0000)
committerBenoit Neil <suky0001@free.fr>
Thu, 9 Apr 2009 21:16:28 +0000 (21:16 +0000)
CMake/Utilities.cmake [new file with mode: 0644]
CMakeLists.txt

diff --git a/CMake/Utilities.cmake b/CMake/Utilities.cmake
new file mode 100644 (file)
index 0000000..4edf8b6
--- /dev/null
@@ -0,0 +1,31 @@
+# File containing various utilities
+
+# Converts a CMake list to a string containing elements separated by spaces
+FUNCTION(TO_LIST_SPACES _LIST_NAME OUTPUT_VAR)
+  SET(NEW_LIST_SPACE)
+  FOREACH(ITEM ${${_LIST_NAME}})
+    SET(NEW_LIST_SPACE "${NEW_LIST_SPACE} ${ITEM}")
+  ENDFOREACH()
+  STRING(STRIP ${NEW_LIST_SPACE} NEW_LIST_SPACE)
+  SET(${OUTPUT_VAR} "${NEW_LIST_SPACE}" PARENT_SCOPE)
+ENDFUNCTION()
+
+# Appends a lis of item to a string which is a space-separated list, if they don't already exist.
+FUNCTION(LIST_SPACES_APPEND_ONCE LIST_NAME)
+  STRING(REPLACE " " ";" _LIST ${${LIST_NAME}})
+  LIST(APPEND _LIST ${ARGN})
+  LIST(REMOVE_DUPLICATES _LIST)
+  TO_LIST_SPACES(_LIST NEW_LIST_SPACE)
+  SET(${LIST_NAME} "${NEW_LIST_SPACE}" PARENT_SCOPE)
+ENDFUNCTION()
+
+# Convinience function that does the same as LIST(FIND ...) but with a TRUE/FALSE return value.
+# Ex: IN_STR_LIST(MY_LIST "Searched item" WAS_FOUND)
+FUNCTION(IN_STR_LIST LIST_NAME ITEM_SEARCHED RETVAL)
+       LIST(FIND ${LIST_NAME} ${ITEM_SEARCHED} FIND_POS)
+       IF(${FIND_POS} EQUAL -1)
+               SET(${RETVAL} FALSE PARENT_SCOPE)
+       ELSE()
+               SET(${RETVAL} TRUE PARENT_SCOPE)
+       ENDIF()
+ENDFUNCTION()
index 9364340..72f2d2f 100644 (file)
 
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2 FATAL_ERROR)
 SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
-
-FUNCTION(TO_LIST_SPACES _LIST_NAME OUTPUT_VAR)
-  SET(NEW_LIST_SPACE)
-  FOREACH(ITEM ${${_LIST_NAME}})
-    SET(NEW_LIST_SPACE "${NEW_LIST_SPACE} ${ITEM}")
-  ENDFOREACH()
-  STRING(STRIP ${NEW_LIST_SPACE} NEW_LIST_SPACE)
-  SET(${OUTPUT_VAR} "${NEW_LIST_SPACE}" PARENT_SCOPE)
-ENDFUNCTION()
-
-# Appends a lis of item to a string which is a space-separated list, if they don't already exist.
-FUNCTION(LIST_SPACES_APPEND_ONCE LIST_NAME)
-  STRING(REPLACE " " ";" _LIST ${${LIST_NAME}})
-  LIST(APPEND _LIST ${ARGN})
-  LIST(REMOVE_DUPLICATES _LIST)
-  TO_LIST_SPACES(_LIST NEW_LIST_SPACE)
-  SET(${LIST_NAME} "${NEW_LIST_SPACE}" PARENT_SCOPE)
-ENDFUNCTION()
-
+INCLUDE(Utilities)
 
 project( CURL C )
 SET(CURL_MAJOR_VERSION 7)