Premake

Premake
Тип автоматизация сборки
Написана на Lua и Си[3]
Последняя версия
Бета-версия
Репозиторий github.com/premake/prema…
Лицензия модифицированная лицензия BSD[4]
Сайт premake.github.io

premake (МФА: [priːmeɪk]) — это утилита с открытым кодом для автоматизации сборки программ из исходного кода использующая в своей основе сценарный язык Lua. Premake не занимается непосредственно сборкой, a лишь генерирует make файлы управления сборкой из файлов «premake5.lua».

Возможности

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

  • поддерживает сборку проектов на языках Си, 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. 4.3 — 2010.
  2. Premake 5.0-beta4 — 2024.
  3. The premake Open Source Project on Open Hub: Languages Page — 2006.
  4. premake-core/LICENSE.txt
  5. Premake Архивная копия от 25 июня 2009 на Wayback Machine Freshmeat entry
  6. 1 2 Who Uses Premake (англ.). Дата обращения: 16 февраля 2022. Архивировано 16 февраля 2022 года.
  7. Bullet 2.79 release. Дата обращения: 23 декабря 2011. Архивировано 15 марта 2012 года.
  8. Building project. Дата обращения: 21 ноября 2011. Архивировано из оригинала 26 марта 2012 года.
  9. Building with Premake. Дата обращения: 21 ноября 2011. Архивировано 2 ноября 2011 года.
  10. Building OpenJAUS. Дата обращения: 21 ноября 2011. Архивировано 17 апреля 2012 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.