久々に挫折した・・・。
いや、「久々に挫折した」という記事を書きます。
前回からも修正を続け、よくわからないなりにMbedTLSの.aファイルを作ることができた。
それで終わらせれば良かったのだが、もともとは、複数のライブラリを使うライブラリがあるので、それをAndroid Studioからビルドしたい、ということだったのを思い出した。
MbedTLSだけのとき、build.gradleに-Dで設定をすることでビルドができていた。
それをset()で置き換えられるのであればよかったのだが、それは失敗している。
となると、他のライブラリをビルドするときにも、同じbuild.gradleの影響下で行うならば、同じ設定を使うことになる。
それは、まずい。
もしかしたら問題ないのかもしれないが、不安要素は残しておきたくない。
それを回避してできるように、ああでもないこうでもないと数日やっていたのだが、さすがに時間を掛けすぎている。
Android Studioを捨てれば、Makefileでビルドはできているので、そんなに難しいことはないだろう。
という流れで、「今回はこれで挫折して終わらせ、MakefileでAndroid用にビルドする」のが無駄が少なかろうと判断したのだ。
時間ができたらやり直そう、とは思うが・・・まあ、そういうのって、やらんよね。
ただ、まだ回避方法はあると思っている。
たとえば、今はMbedTLSに入っているCMakeLists.txtをそのまま使っているけど、それをコピーして、build.gradleに設定しないと有効にならなかった設定を編集してしまっておく、とか。
なぜやらなかったかといえば、正攻法ではない気がしたからだ。
しかし、正攻法ではない、というのは気分的なもので、実はそうするのが普通なのかもしれん。
ライブラリがアップデートされたときに、コピー&編集したCMakeLists.txtへの反映を忘れそうだから嫌だ、というだけかもしれない。
判断ができないのは、cmakeに詳しくないからだ。
付け焼き刃の知識で逃げようとしているのも、cmakeに詳しくないからだ。
では、cmakeを覚える気力があるかというと・・・無い。
なんだか、暗黙のルールが多い感じがして、気力が湧かないのだ。
まあ、そんなことをいえばmakeだって同じようなものかもしれないが、同じようなものを2つ覚えるには歳を取り過ぎたのだ。
という言い訳をして、今回は挫折した、で終わらせてもらおう。
build.gradleに書かないと動かなかったのは、CMakeLists.txtにset()で書いていたためでした。
返信削除option()を使えば動きました。
なんで私はset()を使ったんだろう・・・。