CMakeLists.txt, который охватывает 32-битный Linux, 64-битный Linux и 32-битный Windows

Как мне сделать C ++ CMake проект, который работает таким образом?

  1. Все промежуточные продукты сборки и двоичные файлы будут разделены на 2 папки: одна для 32-битной, а другая для 64-битной. Имена двоичных файлов будут одинаковыми для 32-разрядных и 64-разрядных.
  2. Если моей текущей платформой является 32-битная версия Linux или не Linux (например, Windows), то сборка только 32-битная.
  3. Если моей нынешней платформой является 64-разрядная версия Linux, то сборка для 32-разрядной и 64-разрядной версий.
  4. Если моей текущей платформой является 32-разрядная версия Linux, то CPack будет создавать пакеты Debian и TGZ только для 32-разрядных двоичных файлов.
  5. Если моей текущей платформой является 64-битная версия Linux, то CPack будет выпускать пакеты Debian и TGZ для 32-битных и 64-битных двоичных файлов.
  6. Программа зависит от sqlite3 и Qt4.

Кстати, для Windows в настоящее время я создаю установочные пакеты, используя InnoSetup. В Windows он построен с использованием mingw. Моя программа в настоящее время распространяется для 32-битной Linux и 32-битной Windows, но я бы также хотел добавить 64-битную Linux.

Моя сборочная платформа Ubuntu 64-битная, но я хотел бы также поддерживать сборку на Linux 32-битной. Проект также построен на Travis CI, который предоставляет виртуальные машины для сборки из Ubuntu 32-bit.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector