うーんMakefileを作る時にCMakeの情報を利用したいなあ。

ほんとは拡張のビルドのエントリーポイントをextconf.rbじゃなくてCMakeLists.txtにしてしまえばいいんだろうけど、Rubyの指定をいい感じにやる方法がよく分からない。CMakeのfind_packageコマンドを使うと、システムのRubyが使われちゃうんだよな。

一応rbenvとか指定できるけど、
gemをこれからインストールしようとする人に指定させたくない(普通はしないからエラーに遭遇してから指定するという手間を掛けさせる)、extconf.rbならそもそもそのスクリプトを走らせているRubyを使える。
あと僕はrbenvとRVMも使っていなくてchrubyを使っているのでその対応をCMakeに入れないといけない、
というので避けてる。
でもいい感じに「gem installやbundle installを実行しているRubyの環境(Rubyのビルド時のヘッダーファイルの場所や使ったコンパイラーなど)」を使う方法あるのかな。

0

If you have a fediverse account, you can quote this note from your own instance. Search https://bookwor.ms/users/KitaitiMakoto/statuses/114335846511312549 on your instance and quote it. (Note that quoting is not supported in Mastodon.)