У меня есть проект, который может использовать библиотеку ускорения, но также может не использовать ее. У меня есть лист свойств use_boost
, который можно добавить в проект, и там установлен путь для повышения и тег <PreprocessorDefinitions>
со значением I_AM_USING_BOOST
.
В коде у меня что-то вроде:
#ifdef I_AM_USING_BOOST
#include <boost/any.hpp>
#else
#include <string>
#endif
namespace test
{
#ifdef I_AM_USING_BOOST
using my_defined_type = boost::any;
#else
using my_defined_type = std::string;
#endif
}
Поэтому, если мне не нужна сборка с ускорением, я удаляю лист свойств. Если я хочу построить с ускорением, я добавляю список свойств в проект.
Теперь я хочу создать обе вариации библиотеки: одну с усилением, а другую без усиления.
Могу ли я создать один проект с двумя разными сборками: одна с повышением и одна без повышения, но не добавлять или удалять лист свойств вручную?
Я собираю с помощью msbuild из командного файла.
std::string
иboost::any
очень разных шаблонов. - person SergeyA   schedule 13.05.2016/p:<property>=<value>
- person Wurmloch   schedule 13.05.2016