私が書いた小さなゲームのビルド プロセスに scons を使用したいと考えています。https://github.com/Dobiasd/Dron
私は通常、ソース ディレクトリの再帰を含めて作業しますが、src ディレクトリを .o ファイルで汚染したくありません。VariantDir
私を助けるはずですが、以下SConstruct
は機能しません(.oファイルはまだ./srcにあります)
import fnmatch
import os
matches = []
for root, dirnames, filenames in os.walk('src/'):
for filename in filenames:
if fnmatch.fnmatch(filename, '*.cpp'):
matches.append(str(os.path.join(root, filename)))
env = Environment()
env.Append(LIBS = ['sfml-audio', 'sfml-graphics','sfml-window','sfml-system'])
env.Append(LIBPATH = '/usr/local/lib')
env.Append(CXXFLAGS = '-std=c++11 -Wall -Wextra -pedantic -Werror')
env.VariantDir('build', 'src')
env.Program(target = 'Dron', source = matches)
コンパイル(私の期待):
g++ -o obj/main.o -c -std=c++11 -Wall -Wextra -pedantic -Werror src/main.cpp
コンパイル(現実):
g++ -o src/main.o -c -std=c++11 -Wall -Wextra -pedantic -Werror src/main.cpp
誰かが私が間違っていることを教えてくれたらうれしいです。:)