find -type d | xargs -n 1 basename | tail -n +2 | while read directory; do cd $directory; sources=$(ls *.c) echo "add_library($directory STATIC $sources)" > CMakeLists.txt # echo "set_target_properties($directory PROPERTIES ARCHIVE_OUTPUT_DIRECTORY \"\${CMAKE_SOURCE_DIR}/bin\")" >> CMakeLists.txt cd ..; done find -type d | tail -n +2 | xargs printf "add_subdirectory(%s)\n" > CMakeLists.txt