module PaperHouse::CcOptions

CC option utilities.

Attributes

cflags[W]

@!attribute cflags

Compile options pass to C compiler.
includes[W]

@!attribute includes

Glob pattern to match include directories.
sources[W]

@!attribute sources

Glob pattern to match source files.

Public Instance Methods

cflags() click to toggle source
# File lib/paper_house/cc_options.rb, line 18
def cflags
  @cflags ||= []
end
includes() click to toggle source
# File lib/paper_house/cc_options.rb, line 26
def includes
  @includes ||= []
  FileList[[@includes]]
end
sources() click to toggle source
# File lib/paper_house/cc_options.rb, line 10
def sources
  @sources ||= '*.c'
end

Private Instance Methods

auto_includes() click to toggle source
# File lib/paper_house/cc_options.rb, line 41
def auto_includes
  FileList[sources_list.pathmap('%d').uniq]
end
i_options() click to toggle source
# File lib/paper_house/cc_options.rb, line 33
def i_options
  include_directories.pathmap '-I%p'
end
include_directories() click to toggle source
# File lib/paper_house/cc_options.rb, line 37
def include_directories
  (includes + auto_includes).uniq
end
sources_list() click to toggle source
# File lib/paper_house/cc_options.rb, line 45
def sources_list
  FileList[sources]
end