2016-08-29 3 views
2

Недавно я написал эту простую WAF сценарий сборки:Получение WAF для вывода раствора в другой каталог

#! /usr/bin/env python 
# encoding: utf-8 

def options(opt): 
    opt.load('compiler_cxx') 
    opt.load('msvs') 

def configure(conf): 
    conf.load('compiler_cxx') 

def build(bld): 
    print('build') 

, но проблема заключается в том, что файл outputed решение находится в корневом каталоге проекта (где WScript есть);

Project Structure after running waf

Будут ли способ для создания Ide конкретных файлов в другой каталог (например, IDE/МСВС)?

+0

Вы пробовали настройки 'из = "мой/выход/реж"' на верхней части вашего WAF сценария? Это должно решить вашу проблему. См. Https://waf.io/book/#_build_related_commands – user69453

+0

Спасибо; я попробую, когда у меня будет время. На данный момент я переключился на cmake из-за разочарования. Есть ли у вас опыт работы с большими проектами? – Coder32

+0

Я работаю в одном крупном проекте с 'waf'. Инструментарий быстро развивается, и в это время он довольно мощный, но относительно сложный. Я не знаю, было бы лучше, если бы я использовал какой-то «make». Я отвечу на свой комментарий, поскольку он решает проблему. – user69453

ответ

1

Вы можете перенаправить вывод раствора с помощью

out = os.path.join('my', 'out', 'dir') 

, которая по отношению к top_dir (https://waf.io/apidocs/Context.html?highlight=top_dir#waflib.Context.top_dir).

Так что в вашем случае:

#! /usr/bin/env python 
# encoding: utf-8 
import os 

out = os.path.join('my', 'out', 'dir') 

def options(opt): 
    opt.load('compiler_cxx') 
    opt.load('msvs') 

def configure(conf): 
    conf.load('compiler_cxx') 

def build(bld): 
    print('build') 
+0

Спасибо за ответ! – Coder32

+0

Я только что проверил код; файл решения (.sln) все еще сгенерирован, где wscript ... – Coder32

+0

'out' относится к' top_dir'. Вы можете поместить каталог 'out', каталог, в который помещается вывод процесса сборки, также вне' top_dir', просто установите 'out' dir в' out = os.path.join ('.. ',' my ',' out ',' dir ',' outside ',' of ',' top_dir ') ' – user69453

Смежные вопросы