2017-08-18 6 views
0

Premake 5は、プロジェクト内の独立した構成変数を分離する2つの機能を提供します:configurationsおよびplatformsです。だから、例えば、あなたが持つかもしれない:追加の軸/寸法をPremakeで作成できますか?

configurations { "Debug", "Release" } 
platform { "Windows", "Linux" } 

documentationは、各軸の独立した設定を持つことができるので、それらを記述するための良い方法である軸として、これらを参照:

本当に、プラットフォームとは、プロジェクトを構成する別の軸を提供する別のビルド構成名のセットです。

しかし、別の軸が必要な場合はどうなりますか?たとえば、特定の計算に使用されるデータ型:

calctypes { "Long", "Default", "Short" } 

この新しい軸を作成することはできますか?

答えて

1

私はtags(次のアルファビルドでリリースされる予定の新機能)があなたが探しているものかもしれないと思います。ここでは、彼らが実装されたプルリクエストからの例は次のとおりです。

workspace 'foobar' 
    configurations { 'release-std', 'debug-std', 'release-blz', 'debug-blz' } 

    filter { 'configuration:*-std' } 
     tags { 'use-std' } 
    filter { 'configuration:*-blz' } 
     tags { 'use-blz' } 

    project 'test' 
     filter { 'tags:use-blz' } 
      includedependencies { 'blz' } 
      defines { 'USE_BLZ' } 

     filter { 'tags:use-std' } 
      defines { 'USE_STD' } 

更新:あなたが(例えばdefinesconfigurationsなど)をカスタムフィールドを追加する方法をご覧になりたい方、見てapi.register()_premake_init.luaで呼び出します。これらのフィールドのいずれかでフィルタリングを有効にする方法については、have a look at this pull requestを参照してください。

新しいフィールドを追加するのは簡単でどこでも実行できますが、フィルタリングするフィールドを有効にする前にいくつかの作業を行う必要があります。

+0

まあ、多分。私はそれがどれくらいの異なる軸に依存すると思うか。それが単なるデータ型の場合、これは機能します。それ以上あれば、私は多くの "乗算"コードを複製してしまうかもしれないと思う。拡張機能(またはモジュール、私は彼らが呼ばれていると思います)はどうですか?モジュールはこれを達成できますか? – detly

+0

これに完全に答えるには、より具体的な例が必要です。 – starkos

+0

それは十分です。これは私を連れて行くでしょう。もし私がPremakeを拡張することについてもっと具体的な質問があれば、私はここまたはdevのリストに尋ねます。 – detly

関連する問題