diff --git a/CMakeLists.txt b/CMakeLists.txt
index d46a29231bf05010bef56494c80f1025a1e20c68..58d583600cb7893ddde56a2334a88475e4a57717 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -227,6 +227,7 @@ add_subdirectory(Common)
 add_subdirectory(Numeric)
 add_subdirectory(Geo)
 add_subdirectory(Mesh)
+add_subdirectory(Solver)
 
 if(ENABLE_POST)
   add_subdirectory(Post)
@@ -477,22 +478,18 @@ if(ENABLE_MED OR ENABLE_CGNS)
 endif(ENABLE_MED OR ENABLE_CGNS)
 
 if(ENABLE_TAUCS)
-  find_library(TAUCS_LIB taucs PATHS ENV CASROOT 
-               PATH_SUFFIXES lib)
+  find_library(TAUCS_LIB taucs)
   if(TAUCS_LIB)
-   find_path(TAUCS_INC "taucs.h" PATHS ENV CASROOT PATH_SUFFIXES src 
-              include)
-   if(TAUCS_INC)
-    set(HAVE_TAUCS TRUE)
-    list(APPEND CONFIG_OPTIONS "Taucs")
-    list(APPEND EXTERNAL_LIBRARIES ${TAUCS_LIB})
-    list(APPEND EXTERNAL_INCLUDES ${TAUCS_INC})
-   endif(TAUCS_INC)
+    find_path(TAUCS_INC "taucs.h" PATH_SUFFIXES src include)
+    if(TAUCS_INC)
+      set(HAVE_TAUCS TRUE)
+      list(APPEND CONFIG_OPTIONS "Taucs")
+      list(APPEND EXTERNAL_LIBRARIES ${TAUCS_LIB})
+      list(APPEND EXTERNAL_INCLUDES ${TAUCS_INC})
+    endif(TAUCS_INC)
   endif(TAUCS_LIB)
 endif(ENABLE_TAUCS)
 
-add_subdirectory(Solver)
-
 if(ENABLE_OCC)
   if(WIN32)
     set(OCC_SYS_NAME win32)
@@ -707,9 +704,14 @@ if(BISON AND FLEX)
 endif(BISON AND FLEX)
 
 if(UNIX)
-  add_custom_target(purge COMMAND ${CMAKE_SOURCE_DIR}/utils/misc/purge.sh
+  # cannot use cmake's file search functions here (they would only
+  # find files existing at configuration time)
+  add_custom_target(purge 
+                    COMMAND rm -f `find . -name *~ -o -name *~~`
+                    COMMAND rm -f `find . -name .DS_Store -o -name debug?.pos`
                     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
-  add_custom_target(etags COMMAND etags `find . -name *.cpp -o -name *.h -o -name *.y`
+  add_custom_target(etags 
+                    COMMAND etags `find . -name *.cpp -o -name *.h -o -name *.y`
                     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
 endif(UNIX)
 
diff --git a/utils/misc/purge.sh b/utils/misc/purge.sh
deleted file mode 100755
index a9f0b4fba751b275a4fe31a29b88021262304fca..0000000000000000000000000000000000000000
--- a/utils/misc/purge.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-to_delete=`find . -name "*~" -o -name "*~~" -o -name ".gmsh-errors"\
-           -o -name "\#*" -o -name ".\#*" -o -name ".DS_Store"\
-           -o -name "gmon.out" -o -name ".gdb_history" -o -name "debug?.pos"\
-           -o -name "*.bak"`
-rm -f ${to_delete}