2012-02-06 4 views
1

나는 premake라고 불리는이 놀라운 새로운 보석을 최근에 발견했으며 나는 모두 "마침내!" 나는 이런 식으로 작동하는 간단한 "테스트"구성하기 위해 노력하고있어Premake : 각 구성에 대해 다른 명령 제외

:하지 테스트 구성에서, 소스를 제외 할 때 /하여 Main.cpp 이 시험 구성에서, 소스 제외는/Test.cpp에 (즉 포함

이것은 구성 { "디버그", "릴리스", "테스트"} 위치

"구축"이

솔루션 "푸"를 수행하려고 premake4.lua 코드) 다른 주

project "Bar" 
    targetname "Bar" 
    language "C++" 
    kind "WindowedApp" 
    files {"source/**.h","source/**.cpp","source/**.c"} 
    flags {"StaticRuntime","ExtraWarnings", "FatalWarnings"} 

    configuration "Test" 
     excludes "source/Main.cpp" 
     targetsuffix "_Test" 
     defines {"DEBUG", "TEST"} 
     flags {"Symbols"} 

    configuration "not Test" 
     excludes "source/Test.cpp" 

    -- And so on ... 

그러나 "make -Cbuild config = test"로 컴파일하면 "Main.cpp"와 컴파일 및 링크됩니다.

내가 뭘 잘못하고 있니?

답변

0

Premake는 현재 구성 파일 또는 제외 목록을 지원하지 않으며, 프로젝트 파일 수준에서 지정된 파일 만 빌드 파일을 생성 할 때 고려됩니다.

구성 파일 별 목록은 다음 릴리스 (4.5)의 짧은 목록에 있습니다.

+0

이 기능은 이제 BitBucket의 premake-dev 저장소에 있습니다. 아직도 많은 주요 건축물들이 계속 생산되고 있습니다. – starkos

0

대신 다음과 같이 할 수 있습니다.

project "Bar" 
    targetname "Bar" 
    language "C++" 
    kind "WindowedApp" 
    files {"source/**.h","source/**.cpp","source/**.c"} 
    flags {"StaticRuntime","ExtraWarnings", "FatalWarnings"} 

    configurations { "Test", "notTest" } 

    filter { "configurations:Test" } 
     excludes "source/Main.cpp" 
     targetsuffix "_Test" 
     defines {"DEBUG", "TEST"} 
     flags {"Symbols"} 
    filter {} 

    filter { "configurations:notTest" } 
     excludes "source/Test.cpp" 
    filter {} 
관련 문제