packingsolver 0.1.1035__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- packingsolver-0.1.1035/CMakeLists.txt +49 -0
- packingsolver-0.1.1035/LICENSE +21 -0
- packingsolver-0.1.1035/PKG-INFO +939 -0
- packingsolver-0.1.1035/README.md +919 -0
- packingsolver-0.1.1035/extern/CMakeLists.txt +138 -0
- packingsolver-0.1.1035/include/packingsolver/algorithms/common.hpp +820 -0
- packingsolver-0.1.1035/include/packingsolver/algorithms/truck.hpp +228 -0
- packingsolver-0.1.1035/include/packingsolver/box/algorithm_formatter.hpp +106 -0
- packingsolver-0.1.1035/include/packingsolver/box/instance.hpp +533 -0
- packingsolver-0.1.1035/include/packingsolver/box/instance_builder.hpp +261 -0
- packingsolver-0.1.1035/include/packingsolver/box/optimize.hpp +281 -0
- packingsolver-0.1.1035/include/packingsolver/box/post_process.hpp +25 -0
- packingsolver-0.1.1035/include/packingsolver/box/reduction.hpp +267 -0
- packingsolver-0.1.1035/include/packingsolver/box/solution.hpp +370 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/algorithm_formatter.hpp +94 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/instance.hpp +572 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/instance_builder.hpp +283 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/optimize.hpp +279 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/post_process.hpp +25 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/reduction.hpp +274 -0
- packingsolver-0.1.1035/include/packingsolver/boxstacks/solution.hpp +452 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/algorithm_formatter.hpp +102 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/instance.hpp +666 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/instance_builder.hpp +243 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/optimize.hpp +264 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/post_process.hpp +59 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/reduction.hpp +250 -0
- packingsolver-0.1.1035/include/packingsolver/irregular/solution.hpp +342 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/algorithm_formatter.hpp +94 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/instance.hpp +446 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/instance_builder.hpp +285 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/optimize.hpp +208 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/post_process.hpp +25 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/reduction.hpp +697 -0
- packingsolver-0.1.1035/include/packingsolver/onedimensional/solution.hpp +322 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/algorithm_formatter.hpp +102 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/instance.hpp +635 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/instance_builder.hpp +307 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/optimize.hpp +316 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/post_process.hpp +25 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/reduction.hpp +2077 -0
- packingsolver-0.1.1035/include/packingsolver/rectangle/solution.hpp +351 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/algorithm_formatter.hpp +104 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/instance.hpp +766 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/instance_builder.hpp +328 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/optimize.hpp +276 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/post_process.hpp +114 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/reduction.hpp +290 -0
- packingsolver-0.1.1035/include/packingsolver/rectangleguillotine/solution.hpp +429 -0
- packingsolver-0.1.1035/pyproject.toml +66 -0
- packingsolver-0.1.1035/python/CMakeLists.txt +61 -0
- packingsolver-0.1.1035/python/packingsolver/__init__.py +29 -0
- packingsolver-0.1.1035/python/packingsolver/_version.py +1 -0
- packingsolver-0.1.1035/python/packingsolver/_visualize.py +26 -0
- packingsolver-0.1.1035/python/packingsolver/box.py +20 -0
- packingsolver-0.1.1035/python/packingsolver/boxstacks.py +26 -0
- packingsolver-0.1.1035/python/packingsolver/irregular.py +20 -0
- packingsolver-0.1.1035/python/packingsolver/onedimensional.py +20 -0
- packingsolver-0.1.1035/python/packingsolver/rectangle.py +20 -0
- packingsolver-0.1.1035/python/packingsolver/rectangleguillotine.py +20 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/__init__.py +16 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/box.py +280 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/boxstacks.py +354 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/irregular.py +409 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/onedimensional.py +160 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/rectangle.py +322 -0
- packingsolver-0.1.1035/python/packingsolver/visualize/rectangleguillotine.py +233 -0
- packingsolver-0.1.1035/python/src/box.cpp +325 -0
- packingsolver-0.1.1035/python/src/boxstacks.cpp +417 -0
- packingsolver-0.1.1035/python/src/common.cpp +71 -0
- packingsolver-0.1.1035/python/src/common.hpp +322 -0
- packingsolver-0.1.1035/python/src/irregular.cpp +608 -0
- packingsolver-0.1.1035/python/src/module.cpp +33 -0
- packingsolver-0.1.1035/python/src/onedimensional.cpp +303 -0
- packingsolver-0.1.1035/python/src/rectangle.cpp +300 -0
- packingsolver-0.1.1035/python/src/rectangleguillotine.cpp +413 -0
- packingsolver-0.1.1035/python/tests/test_box.py +278 -0
- packingsolver-0.1.1035/python/tests/test_boxstacks.py +499 -0
- packingsolver-0.1.1035/python/tests/test_irregular.py +358 -0
- packingsolver-0.1.1035/python/tests/test_onedimensional.py +348 -0
- packingsolver-0.1.1035/python/tests/test_rectangle.py +257 -0
- packingsolver-0.1.1035/python/tests/test_rectangleguillotine.py +410 -0
- packingsolver-0.1.1035/python/tests/test_visualize.py +79 -0
- packingsolver-0.1.1035/python/tests/test_visualize_box.py +70 -0
- packingsolver-0.1.1035/python/tests/test_visualize_boxstacks.py +75 -0
- packingsolver-0.1.1035/python/tests/test_visualize_irregular.py +77 -0
- packingsolver-0.1.1035/python/tests/test_visualize_onedimensional.py +72 -0
- packingsolver-0.1.1035/python/tests/test_visualize_rectangle.py +68 -0
- packingsolver-0.1.1035/python/tests/test_visualize_rectangleguillotine.py +72 -0
- packingsolver-0.1.1035/src/CMakeLists.txt +7 -0
- packingsolver-0.1.1035/src/algorithms/CMakeLists.txt +17 -0
- packingsolver-0.1.1035/src/algorithms/column_generation.hpp +1703 -0
- packingsolver-0.1.1035/src/algorithms/common.cpp +218 -0
- packingsolver-0.1.1035/src/algorithms/dichotomic_search.hpp +280 -0
- packingsolver-0.1.1035/src/algorithms/meet_in_the_middle.hpp +456 -0
- packingsolver-0.1.1035/src/algorithms/sequential_value_correction.hpp +597 -0
- packingsolver-0.1.1035/src/algorithms/thread_pool.hpp +199 -0
- packingsolver-0.1.1035/src/box/CMakeLists.txt +46 -0
- packingsolver-0.1.1035/src/box/algorithm_formatter.cpp +431 -0
- packingsolver-0.1.1035/src/box/block.cpp +419 -0
- packingsolver-0.1.1035/src/box/block.hpp +98 -0
- packingsolver-0.1.1035/src/box/dual_feasible_functions.cpp +552 -0
- packingsolver-0.1.1035/src/box/dual_feasible_functions.hpp +47 -0
- packingsolver-0.1.1035/src/box/instance.cpp +480 -0
- packingsolver-0.1.1035/src/box/instance_builder.cpp +1034 -0
- packingsolver-0.1.1035/src/box/instance_flipper.cpp +135 -0
- packingsolver-0.1.1035/src/box/instance_flipper.hpp +48 -0
- packingsolver-0.1.1035/src/box/main.cpp +263 -0
- packingsolver-0.1.1035/src/box/optimize.cpp +801 -0
- packingsolver-0.1.1035/src/box/post_process.cpp +13 -0
- packingsolver-0.1.1035/src/box/reduction.cpp +425 -0
- packingsolver-0.1.1035/src/box/solution.cpp +396 -0
- packingsolver-0.1.1035/src/box/solution_builder.cpp +143 -0
- packingsolver-0.1.1035/src/box/solution_builder.hpp +52 -0
- packingsolver-0.1.1035/src/box/tree_search.cpp +1208 -0
- packingsolver-0.1.1035/src/box/tree_search.hpp +594 -0
- packingsolver-0.1.1035/src/box/tree_search_maximal_spaces.cpp +968 -0
- packingsolver-0.1.1035/src/box/tree_search_maximal_spaces.hpp +661 -0
- packingsolver-0.1.1035/src/box/trivial.cpp +150 -0
- packingsolver-0.1.1035/src/box/trivial.hpp +34 -0
- packingsolver-0.1.1035/src/boxstacks/CMakeLists.txt +44 -0
- packingsolver-0.1.1035/src/boxstacks/algorithm_formatter.cpp +356 -0
- packingsolver-0.1.1035/src/boxstacks/instance.cpp +403 -0
- packingsolver-0.1.1035/src/boxstacks/instance_builder.cpp +1100 -0
- packingsolver-0.1.1035/src/boxstacks/instance_flipper.cpp +128 -0
- packingsolver-0.1.1035/src/boxstacks/instance_flipper.hpp +33 -0
- packingsolver-0.1.1035/src/boxstacks/main.cpp +265 -0
- packingsolver-0.1.1035/src/boxstacks/optimize.cpp +659 -0
- packingsolver-0.1.1035/src/boxstacks/post_process.cpp +13 -0
- packingsolver-0.1.1035/src/boxstacks/reduction.cpp +379 -0
- packingsolver-0.1.1035/src/boxstacks/sequential_onedimensional_rectangle.cpp +1316 -0
- packingsolver-0.1.1035/src/boxstacks/sequential_onedimensional_rectangle.hpp +108 -0
- packingsolver-0.1.1035/src/boxstacks/solution.cpp +643 -0
- packingsolver-0.1.1035/src/boxstacks/solution_builder.cpp +197 -0
- packingsolver-0.1.1035/src/boxstacks/solution_builder.hpp +60 -0
- packingsolver-0.1.1035/src/boxstacks/tree_search.cpp +1889 -0
- packingsolver-0.1.1035/src/boxstacks/tree_search.hpp +726 -0
- packingsolver-0.1.1035/src/irregular/CMakeLists.txt +85 -0
- packingsolver-0.1.1035/src/irregular/algorithm_formatter.cpp +409 -0
- packingsolver-0.1.1035/src/irregular/convert.cpp +86 -0
- packingsolver-0.1.1035/src/irregular/convert.hpp +28 -0
- packingsolver-0.1.1035/src/irregular/convert_main.cpp +55 -0
- packingsolver-0.1.1035/src/irregular/fill_solution_file_main.cpp +47 -0
- packingsolver-0.1.1035/src/irregular/instance.cpp +860 -0
- packingsolver-0.1.1035/src/irregular/instance_builder.cpp +1169 -0
- packingsolver-0.1.1035/src/irregular/large_item_first.cpp +234 -0
- packingsolver-0.1.1035/src/irregular/large_item_first.hpp +76 -0
- packingsolver-0.1.1035/src/irregular/linear_programming.cpp +1339 -0
- packingsolver-0.1.1035/src/irregular/linear_programming.hpp +126 -0
- packingsolver-0.1.1035/src/irregular/local_search.cpp +353 -0
- packingsolver-0.1.1035/src/irregular/local_search.hpp +38 -0
- packingsolver-0.1.1035/src/irregular/main.cpp +234 -0
- packingsolver-0.1.1035/src/irregular/milp_raster.cpp +555 -0
- packingsolver-0.1.1035/src/irregular/milp_raster.hpp +38 -0
- packingsolver-0.1.1035/src/irregular/optimize.cpp +1181 -0
- packingsolver-0.1.1035/src/irregular/periodic_packing.cpp +977 -0
- packingsolver-0.1.1035/src/irregular/periodic_packing.hpp +78 -0
- packingsolver-0.1.1035/src/irregular/post_process.cpp +116 -0
- packingsolver-0.1.1035/src/irregular/reduction.cpp +457 -0
- packingsolver-0.1.1035/src/irregular/rotations.cpp +592 -0
- packingsolver-0.1.1035/src/irregular/rotations.hpp +70 -0
- packingsolver-0.1.1035/src/irregular/sequential_feasibility.cpp +251 -0
- packingsolver-0.1.1035/src/irregular/sequential_feasibility.hpp +43 -0
- packingsolver-0.1.1035/src/irregular/shape_simplification.cpp +253 -0
- packingsolver-0.1.1035/src/irregular/shape_simplification.hpp +49 -0
- packingsolver-0.1.1035/src/irregular/solution.cpp +810 -0
- packingsolver-0.1.1035/src/irregular/solution_builder.cpp +106 -0
- packingsolver-0.1.1035/src/irregular/solution_builder.hpp +54 -0
- packingsolver-0.1.1035/src/irregular/tree_search.cpp +3095 -0
- packingsolver-0.1.1035/src/irregular/tree_search.hpp +820 -0
- packingsolver-0.1.1035/src/irregular/tree_search_periodic_packing.cpp +1342 -0
- packingsolver-0.1.1035/src/irregular/tree_search_periodic_packing.hpp +546 -0
- packingsolver-0.1.1035/src/irregular/trivial.cpp +91 -0
- packingsolver-0.1.1035/src/irregular/trivial.hpp +34 -0
- packingsolver-0.1.1035/src/irregular/utils.hpp +368 -0
- packingsolver-0.1.1035/src/onedimensional/CMakeLists.txt +43 -0
- packingsolver-0.1.1035/src/onedimensional/algorithm_formatter.cpp +320 -0
- packingsolver-0.1.1035/src/onedimensional/dual_feasible_functions.cpp +385 -0
- packingsolver-0.1.1035/src/onedimensional/dual_feasible_functions.hpp +44 -0
- packingsolver-0.1.1035/src/onedimensional/instance.cpp +434 -0
- packingsolver-0.1.1035/src/onedimensional/instance_builder.cpp +1015 -0
- packingsolver-0.1.1035/src/onedimensional/main.cpp +237 -0
- packingsolver-0.1.1035/src/onedimensional/milp_assignment.cpp +1753 -0
- packingsolver-0.1.1035/src/onedimensional/milp_assignment.hpp +97 -0
- packingsolver-0.1.1035/src/onedimensional/optimize.cpp +1038 -0
- packingsolver-0.1.1035/src/onedimensional/post_process.cpp +13 -0
- packingsolver-0.1.1035/src/onedimensional/reduction.cpp +1236 -0
- packingsolver-0.1.1035/src/onedimensional/solution.cpp +465 -0
- packingsolver-0.1.1035/src/onedimensional/solution_builder.cpp +141 -0
- packingsolver-0.1.1035/src/onedimensional/solution_builder.hpp +50 -0
- packingsolver-0.1.1035/src/onedimensional/tree_search.cpp +721 -0
- packingsolver-0.1.1035/src/onedimensional/tree_search.hpp +463 -0
- packingsolver-0.1.1035/src/rectangle/CMakeLists.txt +54 -0
- packingsolver-0.1.1035/src/rectangle/algorithm_formatter.cpp +394 -0
- packingsolver-0.1.1035/src/rectangle/bar_relaxation.cpp +636 -0
- packingsolver-0.1.1035/src/rectangle/bar_relaxation.hpp +143 -0
- packingsolver-0.1.1035/src/rectangle/benders_decomposition.cpp +1223 -0
- packingsolver-0.1.1035/src/rectangle/benders_decomposition.hpp +262 -0
- packingsolver-0.1.1035/src/rectangle/benders_decomposition_contiguity.cpp +1467 -0
- packingsolver-0.1.1035/src/rectangle/benders_decomposition_contiguity.hpp +209 -0
- packingsolver-0.1.1035/src/rectangle/block.cpp +466 -0
- packingsolver-0.1.1035/src/rectangle/block.hpp +121 -0
- packingsolver-0.1.1035/src/rectangle/conservative_scales.cpp +333 -0
- packingsolver-0.1.1035/src/rectangle/conservative_scales.hpp +77 -0
- packingsolver-0.1.1035/src/rectangle/dual_feasible_functions.cpp +770 -0
- packingsolver-0.1.1035/src/rectangle/dual_feasible_functions.hpp +86 -0
- packingsolver-0.1.1035/src/rectangle/instance.cpp +733 -0
- packingsolver-0.1.1035/src/rectangle/instance_builder.cpp +1268 -0
- packingsolver-0.1.1035/src/rectangle/instance_flipper.cpp +134 -0
- packingsolver-0.1.1035/src/rectangle/instance_flipper.hpp +33 -0
- packingsolver-0.1.1035/src/rectangle/item_subset_incompatibility.cpp +449 -0
- packingsolver-0.1.1035/src/rectangle/item_subset_incompatibility.hpp +117 -0
- packingsolver-0.1.1035/src/rectangle/main.cpp +283 -0
- packingsolver-0.1.1035/src/rectangle/onedimentional_contiguity/milp.cpp +389 -0
- packingsolver-0.1.1035/src/rectangle/onedimentional_contiguity/milp.hpp +299 -0
- packingsolver-0.1.1035/src/rectangle/onedimentional_contiguity/tree_search.cpp +382 -0
- packingsolver-0.1.1035/src/rectangle/onedimentional_contiguity/tree_search.hpp +323 -0
- packingsolver-0.1.1035/src/rectangle/optimize.cpp +1341 -0
- packingsolver-0.1.1035/src/rectangle/post_process.cpp +13 -0
- packingsolver-0.1.1035/src/rectangle/reduction.cpp +2655 -0
- packingsolver-0.1.1035/src/rectangle/solution.cpp +497 -0
- packingsolver-0.1.1035/src/rectangle/solution_builder.cpp +142 -0
- packingsolver-0.1.1035/src/rectangle/solution_builder.hpp +56 -0
- packingsolver-0.1.1035/src/rectangle/tree_search.cpp +1729 -0
- packingsolver-0.1.1035/src/rectangle/tree_search.hpp +777 -0
- packingsolver-0.1.1035/src/rectangle/tree_search_maximal_spaces.cpp +877 -0
- packingsolver-0.1.1035/src/rectangle/tree_search_maximal_spaces.hpp +549 -0
- packingsolver-0.1.1035/src/rectangleguillotine/CMakeLists.txt +50 -0
- packingsolver-0.1.1035/src/rectangleguillotine/algorithm_formatter.cpp +418 -0
- packingsolver-0.1.1035/src/rectangleguillotine/block.cpp +281 -0
- packingsolver-0.1.1035/src/rectangleguillotine/block.hpp +90 -0
- packingsolver-0.1.1035/src/rectangleguillotine/column_generation_strips.cpp +2393 -0
- packingsolver-0.1.1035/src/rectangleguillotine/column_generation_strips.hpp +88 -0
- packingsolver-0.1.1035/src/rectangleguillotine/instance.cpp +704 -0
- packingsolver-0.1.1035/src/rectangleguillotine/instance_builder.cpp +1546 -0
- packingsolver-0.1.1035/src/rectangleguillotine/instance_flipper.cpp +130 -0
- packingsolver-0.1.1035/src/rectangleguillotine/instance_flipper.hpp +33 -0
- packingsolver-0.1.1035/src/rectangleguillotine/main.cpp +369 -0
- packingsolver-0.1.1035/src/rectangleguillotine/optimize.cpp +1224 -0
- packingsolver-0.1.1035/src/rectangleguillotine/post_process.cpp +588 -0
- packingsolver-0.1.1035/src/rectangleguillotine/reduction.cpp +475 -0
- packingsolver-0.1.1035/src/rectangleguillotine/sequential_feasibility.cpp +202 -0
- packingsolver-0.1.1035/src/rectangleguillotine/sequential_feasibility.hpp +41 -0
- packingsolver-0.1.1035/src/rectangleguillotine/sequential_strips_onedimensional.cpp +376 -0
- packingsolver-0.1.1035/src/rectangleguillotine/sequential_strips_onedimensional.hpp +49 -0
- packingsolver-0.1.1035/src/rectangleguillotine/solution.cpp +843 -0
- packingsolver-0.1.1035/src/rectangleguillotine/solution_builder.cpp +528 -0
- packingsolver-0.1.1035/src/rectangleguillotine/solution_builder.hpp +70 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search.cpp +2580 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search.hpp +894 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_hypergraph.cpp +626 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_hypergraph.hpp +47 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_hypergraph_infinite_copies.cpp +231 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_hypergraph_infinite_copies.hpp +35 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_maximal_spaces.cpp +967 -0
- packingsolver-0.1.1035/src/rectangleguillotine/tree_search_maximal_spaces.hpp +345 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.28)
|
|
2
|
+
|
|
3
|
+
project(PackingSolver LANGUAGES CXX)
|
|
4
|
+
|
|
5
|
+
# Solver options.
|
|
6
|
+
option(PACKINGSOLVER_USE_CLP "Use CLP" ON)
|
|
7
|
+
option(PACKINGSOLVER_USE_HIGHS "Use HiGHS" ON)
|
|
8
|
+
option(PACKINGSOLVER_USE_KNITRO "Use Knitro" OFF)
|
|
9
|
+
|
|
10
|
+
# Build options.
|
|
11
|
+
option(PACKINGSOLVER_BUILD_MAIN "Build main" ON)
|
|
12
|
+
option(PACKINGSOLVER_BUILD_TEST "Build unit tests" ON)
|
|
13
|
+
option(PACKINGSOLVER_BUILD_PYTHON "Build Python bindings" OFF)
|
|
14
|
+
|
|
15
|
+
# Avoid FetchContent warning.
|
|
16
|
+
cmake_policy(SET CMP0135 NEW)
|
|
17
|
+
|
|
18
|
+
# Require C++14.
|
|
19
|
+
set(CMAKE_CXX_STANDARD 14)
|
|
20
|
+
|
|
21
|
+
# The static libraries are linked into the Python extension module. The
|
|
22
|
+
# prebuilt CLP archives are not position independent, so CLP can't be linked
|
|
23
|
+
# into it: the Python module uses HiGHS instead.
|
|
24
|
+
if(PACKINGSOLVER_BUILD_PYTHON)
|
|
25
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
26
|
+
if(PACKINGSOLVER_USE_CLP)
|
|
27
|
+
message(STATUS "PACKINGSOLVER_BUILD_PYTHON: disabling CLP (prebuilt archives are not position independent)")
|
|
28
|
+
set(PACKINGSOLVER_USE_CLP OFF)
|
|
29
|
+
endif()
|
|
30
|
+
if(NOT PACKINGSOLVER_USE_HIGHS)
|
|
31
|
+
message(FATAL_ERROR "PACKINGSOLVER_BUILD_PYTHON requires PACKINGSOLVER_USE_HIGHS")
|
|
32
|
+
endif()
|
|
33
|
+
endif()
|
|
34
|
+
|
|
35
|
+
# Enable output of compile commands during generation.
|
|
36
|
+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
37
|
+
|
|
38
|
+
# Set MSVC_RUNTIME_LIBRARY.
|
|
39
|
+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
|
40
|
+
|
|
41
|
+
# Add sub-directories.
|
|
42
|
+
add_subdirectory(extern)
|
|
43
|
+
add_subdirectory(src)
|
|
44
|
+
if(PACKINGSOLVER_BUILD_TEST)
|
|
45
|
+
add_subdirectory(test)
|
|
46
|
+
endif()
|
|
47
|
+
if(PACKINGSOLVER_BUILD_PYTHON)
|
|
48
|
+
add_subdirectory(python)
|
|
49
|
+
endif()
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Florian Fontan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|