Настройка сборки и конфигурации проекта.
От: DirtyGarry  
Дата: 01.09.15 07:35
Оценка:
Есть библиотека, которая используется в нескольких проектах. Структура исходного кода библиотеки приведена ниже.

library_up
    library_dn_1
        *.c
        *.h
        makefile
        *.vcproj
    library_dn_2
        *.c
        *.h
        makefile
        *.vcproj
    inc
        config_library_dn_1.h
        config_library_dn_2.h
        library_dn_1.h
        library_dn_2.h
        library_up.h
    src
        *.c
        *.h
        makefile
        *.vcproj
        *.sln


Библиотека library_up включает в себя функционал библиотек library_dn_1 и library_dn_2 плюс реализует некоторый дополнительный функционал. Она используется в разных проектах. В зависимости от проекта меняется набор define-ов в конфигурационных файлах config_library_dn_1.h и config_library_dn_2.h.

Есть проекты, в которых используются только библиотеки library_dn_1 и library_dn_2.

Сейчас все это собирается либо с помощью make, либо с помощью студии MSVC.

Предполагается, что библиотека library_up будет включаться в репозитории других проектов с помощью svn externals. Но у каждого проекта может быть свой config_library_dn_X.h.

Придумалось вот что. Вынести файлы config_library_dn_X.h из-под версионного контроля и генерировать их в проекте, который использует library_up, и потом (перед компиляцией) закидывать в library_up/inc.

Коллеги, буду признателен за замечания и конструктивную критику.

P.S.
Если ошибся форумом, пожалуйста, перенесите в правильный.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.