При разработке установки приложения с командной строкой в стиле Unix, если есть код, который будет скомпилирован точно в срок (JIT), существует ли стандартная или лучшая практика для местоположения в дереве установки, источник (и заголовки) должен быть установлен? Является ли ${root}/share/${appname}/src
разумным?Что такое хорошая практика для установки кода, который будет скомпилирован JIT?
Конкретный контекст - это смешанное приложение C/C++, настроенное с помощью CMake, которое построено с использованием не более одной поддержки CUDA или OpenCL (которая может использовать JIT), но я не думаю, что для ответа это имеет значение.
Очевидно, нельзя полагаться на копию исходных файлов, которые находятся в источнике или дереве сборки, поскольку они не обязательно будут присутствовать (или могут быть найдены) во время выполнения.
Использование системы сборки для встраивания кода в библиотеку или исполняемый файл действительно представляет собой хорошую идею. Предварительная обработка их в строки, встроенные в скомпилированный источник, а затем переданные компилятору JIT, кажется мне лучше, чем предварительная обработка их в установленные (?) Заголовки. – mabraham
Я имел в виду заголовок, который вы включаете в источник, только для более чистого кода. поэтому blah.cl становится const char * blah = "..."; в foo.h, а ваши источники на C или C++ включают foo.h. Таким образом вы создаете новый файл и включаете его в препроцессор, а не пытаетесь обновить существующий файл. – Lee