arbtt-0.4.5: Setup.hs
module Main where
import Distribution.Simple
import Distribution.Simple.Program
import Distribution.Simple.Setup
import Distribution.Simple.LocalBuildInfo
import Distribution.Simple.Utils
import Distribution.PackageDescription
import Distribution.Text
import System.FilePath
import System.Directory
main = defaultMainWithHooks simpleUserHooks
{ hookedPrograms = [isccProgram]
, postBuild = myPostBuild
}
isccProgram = simpleProgram "ISCC"
myPostBuild _ flags pd lbi = do
case lookupProgram isccProgram (withPrograms lbi) of
Nothing -> warn verb $ "The INNO Setup compile ISCC was not found, skipping the " ++
"creation of the windows setup executable."
Just configuredProg -> do
writeFile includeFilename $ "AppVerName=" ++ display (package pd) ++ "\n"
rawSystemProgram verb configuredProg
["/Odist","/F"++setupFilename,"setup.iss"]
removeFile includeFilename
where verb = fromFlag (buildVerbosity flags)
setupFilename = display (pkgName (package pd)) ++
"-setup-" ++
display (pkgVersion (package pd))
includeFilename = "dist" </> "setup-app-ver-name.iss"