Ry0 Note

ガジェットレビューと技術メモ

CMakeで生成されたファイルを一気に削除

CMakeの文法、正直分かってない…

CMakeFiles、CMakeCache.txt、cmake_install.cmake、Makefileを一気に消す!

こんばんは、今回はUbuntuのちょっとした小ネタです。 タイトルにあるようにCMakeで生成されたファイルをコマンド一発で削除できるようにしようという記事です。

CMakeを使っているとよくある?

私はよくCMakeを使ってビルドしています。
新たにビルド環境を構築するときや、ライブラリを追加するときに、何かをにミスってMakefileの生成に失敗することがあります。また「なんかmakeうまくいかんぞ??」ってときにcmakeコマンドを打ち直すことがあったりします。
このときにcmake .とかを打ち直す前に失敗して生成されたファイルたちを消す必要があります。このときにファイラーを使って選択して消したり、いちいちコマンドを打って消すのも面倒だったので、ちょっとやってみました。

エイリアスを作成

要は、これらの操作を一発でするコマンドを作成するっていうことです。これを実現するために.bashrcに追加します。以下のコマンドで.bashrcを開き編集してください。エディタはご自由に。

1
gedit ~/.bashrc

今回はgeditで編集しました。.bashrcの最後の行に以下の文を追加します。

1
2
#コマンドショートカットを設定
alias cmakeclean='rm CMakeCache.txt cmake_install.cmake && rm -r CMakeFiles && rm Makefile'

コピペできたら保存して終了。
ちょっと説明するとcmakecleanとターミナルで入力すると、rm CMakeCache.txt cmake_install.cmake && rm -r CMakeFiles && rm Makefileを実行したのと同じになります。cmakecleanは自分の覚えやすいもので構いません。ほかのコマンドと重複してしまうようなものはダメです。

おわりに

よくMakefileの生成に失敗するので、もっと早く設定しとけばなあと思いました。けっこうファイラーで選択して削除も面倒だったので。CMakeの標準のコマンドでこういうのないのかな。
あとこの技を覚えてから、よく使うsudo apt-get関連のコマンドも簡単にしておきました。よかったら参考にしてみてください。今日は短いですが以上です。

1
2
3
alias update='sudo apt-get update'
alias upgrade='sudo apt-get upgrade'
alias install='sudo apt-get install'