Jenkins, MSBuild и Includes

Однажды оказалось, что Jenkins фейлит билды MSVS 2012 (которые выполняются посредством консольного msbuild), с сообщениями о том, что не найдены всякие заголовочные файлы (например al.h). Как известно, в студии начиная с 2010 “глобальные” настройки путей к инклюдам, либам и прочему перенесены в странное место – Property Manager->$Project|$Configuration -> Microsoft.Cpp.$Platform.user. Ну и ладно, казалось бы, зашли, прописали и всё хорошо. Студия компилит, в консоли msbuild тоже нормально всё делает… Вот только Jenkins запускает своего slave windows сборщика от системного пользователя, а настройки путей, они не глобальные, а per-user оказывается, поэтому он и не подхватывает эти пути.

Самым простым решением оказалось, как ни странно, создать каталог, скопировать туда “свой” файлик C:\Users\konst\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props и добавить в командную строку запуска /p:UserRootDir=d:\msbuild_home

Similar Posts

  • Новое путешествие

    Завтра 11 июля 2008 года отправляюсь в новое путешествие. Собираемся в Турцию на машине, ехать будем через Европу. За 16 дней планируем посетить в Румынии то, что не успели в первый раз, посмотреть на Болгарию и объездить саму Турцию. Надеюсь, что, несмотря на жару всё будет хорошо 🙂 Share this post: Share on X (Twitter)…

  • Открытие сезона 2009

    Съездил я тут, на выходных в карпаты, открыть сезон горнолыжный. В связи с ацким циклоном температура у нас была -15 -20, снега на дорогах хоть завались и решили мы поехать на запад, покататься. Дорога была тяжеловатая, местами снег-лёд – машина тупо не останавливалась… Приехали мы в Славское, на Тростян, а там, оказалось, что снега то…

  • Android x86 emulator и google maps/play services

    Google и intel сделали крутую штуку – образы андроида для x86 atom, которые работают весьма шустро на x86 платформе, в отличие от тормозных armv7. Но счастье резко заканчивается, когда нужно делать приложение, использующее google apis (maps, play services) – x86 образы есть только для чистого андроида. Тем не менее, гугол (который поиск) помогает решить эту…

  • Serialization

    Сегодня, наконец-то, закончил делать сериализацию для всяких игровых объектов – в том виде, как я ее вижу. Идеи были вытащены из буста, но так, как в тех шаблонах сам черт ногу сломит, то пришлось делать “по пониманию”. Делалось это потому что реально существует проблема того, что когда геймдизайнер просит вынести ему новые параметры для настройки…

  • Всё новое – хорошо забытое старое

    Возникла у меня накануне насущная необходимость обработки игровой логики (триггеры), но при этом скриптинг у нас ещё совсем не готов, а результат нужен вот-вот. предложил глянуть на редактор уровней от старкрафта, я его открыл, посмотрел, посоздавал триггеры, подумал и меня осенила мысль, что такого функционала для нас должно хватить с головой и ещё останется 🙂…