[VS2008] Как вычислить корневую директорию проекта?
От:
Аноним
Дата:
18.08.09 11:59
Оценка:
Есть у меня куча проектов для 2008 студии. Есть так же куча солюшенов которые включают в себя разные сабсеты этих проектов.
Солюшены и проекты лежат в совершенно различных директориях проекта.
Задача: установить директорию для выходных файлов например в <SourcesRoot>\<PlatformName>\<ConfigurationName>\bin
Вариант решения №1: Прописать в каждом проекте путь оносительно этого проекта (путь относительно солюшена не подходит, т.к. много солюшенов могут включать данный проект, а солюшены находятся в разных местах).
Преимущества: не нужно парится, а просто взять и везде прописать.
Недостатки: прописывать нужно в каждом проекте и для каждой конфигурации. Если нужно будет поменять — опять прийдется лезть во все проекты и менять (собственно задача и возникла из необходимости поменять и не факт, что не прийдется менять опять)
Вариант решения №2: Создать глобальный vsprops файл и в нем объявить эту выходную директорию.
Преимущества: директория указывается в одном месте и поменять в будущем ее будет легко (даже если для этого прийдется однократно перелопатить все проекты)
но есть ПРОБЛЕМА: студия не может вычислить путь к этому vsprops файлу, соответственно не может он него ничего отсчитывать. Максимум, что можно прописать в этом vsprops'е, что OutputDirectory находится на ..\..\..\$(PlatformName)\$(ConfigurationName)\bin но этот путь не будет валидным для всех проектов.
Вопрос: Как можно решить данную проблему? Заюзать преимущества vsprops'ов, но при этом корректно вычислять путь на корневую директорию дерева исходников, не зависимо от того где лежит тот или иной проект.