0

GNU Scientific Libraries のサポートを受けて C++ でコードを書いています。それらを適切にインストールしました。ターミナルからコンパイルするには、次のように記述するだけです。

g++  $(gsl-config --cflags) filename.cpp $(gsl-config --libs)

現在、私は TextMate ユーザーです。適切な gsl オプションを使用して cpp ファイルをコンパイルするために、C バンドルの標準の Run コマンドを変更したいと考えています。問題は TextMate.Executor 関数です。私はこれを完全に無視しており、完全なリファレンスは見つかりませんでした。

これが私が試したことです:

    #!/usr/bin/env ruby

require ENV["TM_SUPPORT_PATH"] + "/lib/tm/executor"
require ENV["TM_SUPPORT_PATH"] + "/lib/tm/save_current_document"

mode = ENV["TM_SCOPE"].slice(/.*?\bsource\.((?:obj)?c(\+\+)?)/, 1)


case mode
when "c"
  g    = "GCC"
  env  = "C"
  ext  = "c"
  lang = "c"
when "c++"
  g    = "GXX"
  env  = "CXX"
  ext  = "cc"
  lang = "c++"
when "objc"
  g    = "GCC"
  env  = "OBJC"
  ext  = "m"
  lang = "objective-c"
when "objc++"
  g    = "GXX"
  env  = "OBJCXX"
  ext  = "mm"
  lang = "objective-c++"
end

TextMate.save_current_document(ext)
TextMate::Executor.make_project_master_current_document

flags = ENV["TM_#{env}_FLAGS"] || "-Wall -include stdio.h $(gsl-config --cflags) "
args = [ENV["TM_#{g}"] || g.downcase.gsub("x", "+"), flags + " -x #{lang}", ENV["TM_FILEPATH"]+" $(gsl-config --libs)"] 

TextMate::Executor.run(args, :version_args => ["--version"])
4

1 に答える 1