                                           (device-vcproj-files)))]
     (sort (clojure.set/difference (set project-names)
                                   (set dll-names)
+                                  (do-not-build)
                                   helper-vcprojs))))
      
 (defn device-pages []

        pattern (re-pattern (str "MMSetup" bits "BIT_[^\\s]+?_" date-token ".exe"))]
    (re-find pattern txt)))

(def non-windows-device-adapters #{"dc1394" "Video4Linux"})

(defn missing-vcproj []
  (let [device-adapter-parent-dirs [(File. micromanager "/DeviceAdapters")
                                    (File. micromanager "/SecretDeviceAdapters")]
        device-adapter-dirs (filter #(and (.isDirectory %)
                                          (not (.. % getName (startsWith "."))))
                                    (mapcat #(.listFiles %) device-adapter-parent-dirs))
        directories-without-vcproj

            (clojure.set/union (set non-windows-device-adapters)
                               (missing-vcproj)
                               (set dll-names))
            (set device-page-names)
            (do-not-build)))))

(defn str-lines [sequence]
  (apply str (interpose "\n" sequence)))
