[cmake-commits] alex committed ecos_clean.cmake NONE 1.1 UseEcos.cmake 1.8 1.9

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Feb 7 14:50:47 EST 2007


Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv9890

Modified Files:
	UseEcos.cmake 
Added Files:
	ecos_clean.cmake 
Log Message:
ENH: now also the "ecosclean" target works with MS nmake

Alex


Index: UseEcos.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/UseEcos.cmake,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- UseEcos.cmake	23 Jan 2007 18:41:35 -0000	1.8
+++ UseEcos.cmake	7 Feb 2007 19:50:45 -0000	1.9
@@ -151,6 +151,8 @@
    ADD_CUSTOM_TARGET( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS  ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile )
 ENDMACRO(ECOS_ADD_TARGET_LIB)
 
+# get the directory of the current file, used later on in the file
+GET_FILENAME_COMPONENT( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
 
 #macro for creating an executable ecos application
 #the first parameter is the name of the executable,
@@ -204,13 +206,10 @@
        ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;"
    )
 
-#cd $1; ls -a  | grep --invert-match -e "\(.*CVS\)\|\(.*ecos\.ecc\)" | xargs rm -rf;  touch ecos.ecc
-   ADD_CUSTOM_TARGET(ecosclean sh -c \"cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ls | grep --invert-match -e \\\"\\\(.*CVS\\\)\\|\\\(.*ecos\\.ecc\\\)\\\" |xargs rm -rf\; touch ${ECOS_CONFIG_FILE} \")
-   ADD_CUSTOM_TARGET(normalclean ${CMAKE_MAKE_PROGRAM} clean -C ${CMAKE_CURRENT_BINARY_DIR})
+   ADD_CUSTOM_TARGET(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake  )
+   ADD_CUSTOM_TARGET(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
    ADD_DEPENDENCIES (ecosclean normalclean)
 
-   ADD_DEPENDENCIES(ecosclean clean)
-
 
    ADD_CUSTOM_TARGET( listing
       COMMAND echo -e   \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst

--- NEW FILE: ecos_clean.cmake ---
file(GLOB _files ${ECOS_DIR}/*)

# remove all directories, which consist of lower-case letters only
# this skips e.g. CVS/ and .subversion/
foreach(_entry ${_files})
   if(IS_DIRECTORY ${_entry})
      get_filename_component(dir ${_entry} NAME)
      if(${dir} MATCHES "^[a-z]+$")
         file(REMOVE_RECURSE ${_entry})
      endif(${dir} MATCHES "^[a-z]+$")
   endif(IS_DIRECTORY ${_entry})
endforeach(_entry)



More information about the Cmake-commits mailing list