premake

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Dr64h (обсуждение | вклад) в 12:43, 16 февраля 2022 (→‎Программное обеспечение, использующее Premake: дополнение). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

premake
Тип инструмент автоматизации сборки
Автор Перкинс, Джейсон
Написана на Lua, C
Операционные системы Windows, Mac OS X, Linux, BSD, Solaris
Бета-версия
Тестовая версия 5.0-aplpha4 (16 июня 2015)
Репозиторий github.com/premake/prema…
Состояние активное
Лицензия BSD
Сайт industriousone.com/prema…

В области разработки программного обеспечения premake — это утилита с открытым кодом для автоматизации сборки программ из исходного кода. Premake не занимается непосредственно сборкой, a лишь генерирует make файлы управления сборкой из файлов premake5.lua написанных на сценарном языке Lua.

Возможности

Некоторые из возможностей[2]:

  • поддерживает сборку проектов на языках Си, C++ и C#;
  • имеет упрощённый синтаксис;
  • может генерировать файлы автоматизации сборки для Microsoft Visual Studio, Xcode 3 и 4, GNU Make, Code::Blocks, CodeLite, SharpDevelop и MonoDevelop;
  • позволяет использовать одну конфигурацию набора файлов при сборке в различных системах.

Пример конфигурации проекта

Для примера создадим традиционную тестовую программу «Здравствуй, мир!» на языке Си:

// Файл: hello.c
#include <stdio.h>

int main()
{
    puts("Здравствуй, мир!");
    return 0;
}

Для самой сборки понадобится создать premake скрипт созданный рядом с исходным кодом на языке Lua:

-- Файл: premake5.lua
workspace "HelloWorld"
   configurations { "Debug", "Release" }

project "HelloWorld"
   kind "ConsoleApp"
   language "C"
   targetdir "bin/%{cfg.buildcfg}"

   files { "**.h", "**.c" }

   filter "configurations:Debug"
      defines { "DEBUG" }
      symbols "On"

   filter "configurations:Release"
      defines { "NDEBUG" }
      optimize "On"

Если ваша операционная система Microsoft Windows, то для сборки достаточно сгенерировать файлы проекта для вашей ИСР, в качестве наиболее распространённого примера, используем команду для Visual Studio (2022):

$ premake5 vs2022 # генерация файлов .sln и прочих для Visual Studio 2022
Building configurations...
Running action 'vs2022'...
Generating MyWorkspace.sln...
Generating MyProject.vcxproj...
Generating MyProject.vcxproj.user...
Done.

Если же вы пользуетесь иной операционной системой на подобии UNIX, то можно сгенерировать обыкновенные make файлы и собрать проект с помощью самого make:

$ premake5 gmake      # генерация make файлов сборки
$ make                # сборка конфигурации по умолчанию (Debug/Отладка)
$ make config=release # сборка в режиме конфигурации Release/Выпуск
$ make help           # показ доступных конфигураций проекта

Программное обеспечение, использующее Premake

Организации

Проекты с открытым исходным кодом

См. также

Примечания

  1. Release Premake 5.0-beta1
  2. Premake Freshmeat entry
  3. 1 2 Who Uses Premake (англ.). Дата обращения: 16 февраля 2022.
  4. Bullet 2.79 release
  5. Building project. Дата обращения: 21 ноября 2011. Архивировано из оригинала 26 марта 2012 года.
  6. Building with Premake
  7. Building OpenJAUS

Ссылки