2025-08-26 13:17:05 +02:00
[ project ]
name = "IfcOpenShell"
2025-08-28 20:05:45 +02:00
version = "0.8.4"
2025-08-26 13:17:05 +02:00
description = "IfcOpenShell is a library to support the IFC file format"
channels = [ "conda-forge" ]
platforms = [ "win-64" , "linux-64" , "osx-64" ]
[ environments ]
common = { features = [ "common" ] , no-default-feature = true }
prod = { features = [ "prod" , "common" ] , no-default-feature = true }
dev = { features = [ "dev" , "common" ] , no-default-feature = true }
2025-08-28 13:15:33 +02:00
lint = { features = [ "lint" ] , no-default-feature = true }
tests = { features = [ "tests" , "common" ] , no-default-feature = true }
[ feature . lint . dependencies ]
ruff = "*"
black = "*"
2025-08-26 13:17:05 +02:00
[ feature . common . dependencies ]
# Build deps
cmake = "==3.30.5"
ninja = "*"
swig = "*"
c-compiler = "*"
cxx-compiler = "*"
# Runtime deps
python = "3.12.*"
libboost-devel = "*"
occt = { version = "*" , build = "*novtk*" }
cgal-cpp = "*"
numpy = "*"
lark = "*"
hdf5 = "*"
eigen = "*"
mpfr = "*"
gmp = "*"
nlohmann_json = "*"
zlib = "*"
2025-08-28 20:05:45 +02:00
# Not strictly necessary
2025-08-26 20:48:05 +02:00
pythonocc-core = "*"
2025-08-26 13:17:05 +02:00
2025-08-28 13:15:33 +02:00
[ feature . tests . dependencies ]
2025-08-26 20:48:05 +02:00
pytest = "*"
2025-08-28 13:15:33 +02:00
shapely = "*"
tabulate = "*"
isodate = "*"
python-dateutil = "*"
xmlschema = "*"
xsdata = "*"
lxml = "*"
networkx = "*"
2025-08-26 13:17:05 +02:00
[ feature . common . target . win-64 . dependencies ]
vs2022_win-64 = "*"
#vs_win-64 = "*" # Visual Studio
#vswhere = "*" # Visual Studio
2025-08-26 20:48:05 +02:00
[ feature . common . tasks ]
2025-08-26 13:17:05 +02:00
init-submodules = { cmd = "git submodule update --init --recursive" , outputs = [ "$PIXI_PROJECT_ROOT/src/svgfill/3rdparty/svgpp/*" ] }
[ feature . prod . target . win-64 . tasks ]
2025-08-28 20:05:45 +02:00
configure-release = { cmd = [ "cmake" , "--preset" , "win-release" , "-B" , "build/win-release" , "cmake" ] , description = "Configure the project" , depends-on = [ { task = "init-submodules" , environment = "common" } ] }
2025-08-26 13:17:05 +02:00
build-release = { cmd = [ "cmake" , "--build" , " build / win-release ", " --config ", " Release "], description = " Build the project " }
[feature.dev.target.win-64.tasks]
2025-08-28 20:05:45 +02:00
configure-debug = { cmd = [" cmake ", " --preset ", " win-debug ", " -B ", " build / win-debug ", " cmake "], description = " Configure the project ", depends-on=[{ task=" init-submodules ", environment = " common " }], outputs=[" build / win-debug / CMakeCache . txt "] }
2025-08-26 20:48:05 +02:00
build-debug = { cmd = [" cmake ", " --build ", " build / win-debug ", " --config ", " Debug "], description = " Build the project ", depends-on = [" configure-debug "] }
2025-08-26 16:09:32 +02:00
install-debug = { cmd = [" cmake ", " --install ", " build / win-debug ", " --config ", " Debug "], description = " Install the project " } # Optionally Install files to your desired env using --prefix
2025-08-26 13:17:05 +02:00
vsdebug = { cmd = [" python "], description = " Run a python script with vs debugger attached " }
2025-08-28 13:15:33 +02:00
[feature.tests.tasks]
2025-08-28 20:05:45 +02:00
configure-test = { cmd = [" cmake ", " --preset ", " win-test ", " -B ", " build / win-test ", " cmake "], description = " Configure the project ", depends-on=[{ task=" init-submodules ", environment = " common " }], outputs=[" build / win-test / CMakeCache . txt "] }
2025-08-28 13:15:33 +02:00
build-test = { cmd = [" cmake ", " --build ", " build / win-test ", " --config ", " Release "], description = " Build the project ", depends-on = [" configure-test "], outputs=[" build / win-test / IfcGeom . lib "] }
install-test = { cmd = [" cmake ", " --install ", " build / win-test ", " --config ", " Release "], description = " Install the project ", depends-on = [" build-test "] } # Optionally Install files to your desired env using --prefix
test = { cmd = " pytest . ", cwd=" src / ifcopenshell-python / test ", depends-on=[" install-test "], env = {PYTHONPATH=" $ PIXI_PROJECT_ROOT / src / ifcpatch "}}
[feature.lint.tasks]
lint = { cmd = " ruff check & & black --diff --check . "}
2025-08-26 20:48:05 +02:00
2025-08-26 13:17:05 +02:00
[feature.common.target.win-64.activation]
2025-08-28 13:15:33 +02:00
#scripts = [" cmake / activate . bat " ]