ImplicitCAD/implicit.cabal
2024-01-06 17:22:31 +01:00

264 lines
8.7 KiB
Plaintext

Cabal-version: 2.2
Name: implicit
Version: 0.4.1.0
Tested-with: GHC >= 8.8
Build-type: Simple
Synopsis: A math-inspired programmatic 2D & 3D CAD system.
Description: An OpenSCAD execution engine for generating models in STL and many other formats.
License: AGPL-3.0-or-later
License-file: LICENSE
Author: Julia Longtin <julia.longtin@gmail.com>
Maintainer: Julia Longtin <julia.longtin@gmail.com>
Homepage: http://implicitcad.org/
Category: Graphics
flag extopenscad
default:
True
description:
Builds extopenscad program
flag docgen
default:
True
description:
Builds docgen program
flag implicitsnap
default:
False
description:
Builds implicitsnap program
Common binstuff
Default-Language: Haskell2010
Default-extensions: NoImplicitPrelude
Ghc-options:
-threaded
-rtsopts "-with-rtsopts -N -qg -t"
-optc-O3
-- see GHC manual 8.2.1 section 6.5.1.
-feager-blackholing
-Wall
-Wextra
-Wcompat
-Wmonomorphism-restriction
-Wmissing-signatures
-Wmissing-export-lists
-Wmissing-import-lists
-Wmissing-home-modules
-Widentities
-Wimplicit-prelude
-Wredundant-constraints
-Wall-missed-specialisations
Common libstuff
Default-Language: Haskell2010
Default-extensions: NoImplicitPrelude
Ghc-options:
-optc-O3
-- see GHC manual 8.2.1 section 6.5.1.
-feager-blackholing
-Wall
-Wextra
-Wcompat
-Wmonomorphism-restriction
-Wmissing-signatures
-Wmissing-export-lists
-Wmissing-import-lists
-Wmissing-home-modules
-Widentities
-Wimplicit-prelude
-Wredundant-constraints
-Wall-missed-specialisations
Library
Import: libstuff
Build-depends:
base >= 3 && < 5,
filepath,
directory,
parsec,
parallel,
containers,
data-default-class,
deepseq,
text,
bytestring,
blaze-builder,
blaze-markup,
blaze-svg,
JuicyPixels,
mtl,
linear,
show-combinators,
lens,
random,
prettyprinter
Exposed-modules:
Graphics.Implicit
Graphics.Implicit.Canon
Graphics.Implicit.Definitions
Graphics.Implicit.Primitives
Graphics.Implicit.Export
Graphics.Implicit.MathUtil
Graphics.Implicit.ExtOpenScad
Graphics.Implicit.ObjectUtil
-- These modules are exposed for the unit tests against the parser interface.
Graphics.Implicit.ExtOpenScad.Parser.Statement
Graphics.Implicit.ExtOpenScad.Parser.Expr
Graphics.Implicit.ExtOpenScad.Eval.Constant
Graphics.Implicit.ExtOpenScad.Definitions
-- These are exposed for Benchmark.
Graphics.Implicit.Export.SymbolicObj2
Graphics.Implicit.Export.SymbolicObj3
-- These are exposed for implicitsnap.
Graphics.Implicit.Export.SymbolicFormats
Graphics.Implicit.Export.TriangleMeshFormats
Graphics.Implicit.Export.NormedTriangleMeshFormats
Graphics.Implicit.Export.PolylineFormats
Graphics.Implicit.Export.DiscreteAproxable
-- These are exposed for docgen.
Graphics.Implicit.ExtOpenScad.Primitives
-- These are exposed for testing
Graphics.Implicit.Export.Render.GetLoops
-- Exposed for executables
Graphics.Implicit.Export.OutputFormat
Graphics.Implicit.Export.Resolution
Other-modules:
Graphics.Implicit.FastIntUtil
Graphics.Implicit.IntegralUtil
Graphics.Implicit.ObjectUtil.GetBox2
Graphics.Implicit.ObjectUtil.GetBox3
Graphics.Implicit.ObjectUtil.GetBoxShared
Graphics.Implicit.ObjectUtil.GetImplicit2
Graphics.Implicit.ObjectUtil.GetImplicit3
Graphics.Implicit.ObjectUtil.GetImplicitShared
Graphics.Implicit.ExtOpenScad.Default
Graphics.Implicit.ExtOpenScad.Parser.Lexer
Graphics.Implicit.ExtOpenScad.Parser.Util
Graphics.Implicit.ExtOpenScad.Eval.Statement
Graphics.Implicit.ExtOpenScad.Eval.Expr
Graphics.Implicit.ExtOpenScad.Util.ArgParser
Graphics.Implicit.ExtOpenScad.Util.OVal
Graphics.Implicit.ExtOpenScad.Util.StateC
Graphics.Implicit.Export.RayTrace
Graphics.Implicit.Export.Util
Graphics.Implicit.Export.TextBuilderUtils
Graphics.Implicit.Export.Symbolic.Rebound2
Graphics.Implicit.Export.Symbolic.Rebound3
Graphics.Implicit.Export.Render
Graphics.Implicit.Export.Render.Definitions
Graphics.Implicit.Export.Render.GetSegs
Graphics.Implicit.Export.Render.HandleSquares
Graphics.Implicit.Export.Render.Interpolate
Graphics.Implicit.Export.Render.RefineSegs
Graphics.Implicit.Export.Render.TesselateLoops
Graphics.Implicit.Export.Render.HandlePolylines
Executable extopenscad
Import: binstuff
if !flag(extopenscad)
buildable: False
Main-is: extopenscad.hs
Hs-source-dirs: programs
Build-depends:
base,
filepath,
optparse-applicative >= 0.10.0,
text,
implicit
Executable docgen
Import: binstuff
if !flag(docgen)
buildable: False
main-is: docgen.hs
Hs-source-dirs: programs
build-depends:
base,
text,
implicit
Executable implicitsnap
Import: binstuff
if !flag(implicitsnap)
buildable: False
Main-is: implicitsnap.hs
Hs-source-dirs: programs
Build-depends:
aeson,
base,
bytestring,
implicit,
linear,
snap-core,
snap-server,
text,
utf8-string,
Benchmark Benchmark
Import: binstuff
Type: exitcode-stdio-1.0
Main-is: Benchmark.hs
Hs-source-dirs: programs
Build-depends:
base,
criterion,
linear,
implicit
Test-suite test-implicit
Import: binstuff
Type: exitcode-stdio-1.0
Main-is: Main.hs
Hs-source-dirs: tests
Build-depends:
base,
bytestring,
hspec,
HUnit,
implicit,
text,
parsec,
directory,
hedgehog,
hw-hspec-hedgehog,
QuickCheck,
linear,
lens
Other-Modules:
ParserSpec.Expr
ParserSpec.Statement
ParserSpec.Util
RewriteSpec
ExecSpec.Expr
ExecSpec.Util
MessageSpec.Message
MessageSpec.Util
PropertySpec
PropertySpec.Exec
GoldenSpec.Spec
GoldenSpec.Util
Graphics.Implicit.Test.Instances
Graphics.Implicit.Test.Utils
ImplicitSpec
TesselationSpec
Benchmark parser-bench
Import: binstuff
Type: exitcode-stdio-1.0
Main-is: parser-bench.hs
Hs-source-dirs: programs
Build-depends:
base,
criterion,
parsec,
implicit
Source-repository head
Type: git
Location: https://github.com/Haskell-Things/ImplicitCAD.git