Commit Graph

52 Commits

Author SHA1 Message Date
Laurent Perron
12e6bcc234 polish code 2024-12-06 15:21:08 +01:00
Laurent Perron
742471104a more spans 2024-12-02 17:22:57 +01:00
Laurent Perron
0593c68b98 spans 2024-11-28 15:52:51 +01:00
Laurent Perron
8386d7ab6d more work on set cover 2024-11-17 14:19:33 +01:00
Corentin Le Molgat
bc4c73a786 backport algorithms/ from main 2024-11-12 16:04:44 +01:00
Corentin Le Molgat
ef8716241a backport from main 2024-10-01 12:48:20 +02:00
Corentin Le Molgat
b093e98046 algorithms: Add python.set_cover 2024-09-02 19:04:39 +02:00
Laurent Perron
4cbd27dae9 sync with main 2024-05-30 10:52:42 +02:00
Corentin Le Molgat
5bdcc38cbd algorithms: backport from main 2024-05-30 10:51:54 +02:00
Corentin Le Molgat
cac0b042e9 algorithms: export from google3 2024-01-29 15:10:26 +01:00
Corentin Le Molgat
75f197409a cmake: rework add_python_test()
* Add FILE_NAME option
* add optional COMPONENT_NAME option
  note: needed if test.py is not in a ortools/<component>/python/ dir
2024-01-15 13:33:49 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Laurent Perron
8dbcd49e1b reformat 2023-07-24 13:20:45 -07:00
Laurent Perron
38401203d2 Fix test with USE_SCIP=OFF 2023-07-21 09:20:17 -07:00
Laurent Perron
346642b871 remove the pywrap prefix from pybind11 modules; add _pybind to the cmake target of the same modules 2023-07-03 14:30:27 +02:00
Laurent Perron
32175c9c3b remove pywrap prefix for pybind11 generated modules 2023-07-03 12:46:51 +02:00
Laurent Perron
ffefb698e5 add pybind11 doc to knapsack_solver 2023-07-02 08:11:12 +02:00
Laurent Perron
91c1adc3e1 use snake case in knapsack_solver 2023-07-01 06:08:49 +02:00
Laurent Perron
c3fdb12908 Switch algorithms and scheduling python libraries from swig to pybind11; switch protobuf support from forced serialization to pybind11_protobuf -- with patch; [CP-SAT] rewrite cut management; reformat samples with black 2023-06-30 22:49:35 +02:00
Mizux Seiha
53c1e40969 swig: Fix define definition
need to set ABSL_MUST_USE_RESULT to empty string so '=' is mandatory
2023-05-30 14:49:13 +02:00
Corentin Le Molgat
192e690204 cmake: cleanup 2023-05-24 15:39:37 +02:00
Corentin Le Molgat
7665b677e5 Update CMakeLists.txt 2023-04-05 10:36:55 +02:00
Corentin Le Molgat
41d60ad520 cmake: Fix SWIG build
Still need to define ABSL_MUST_USE_RESULT= even with swig 4.1.1
2023-02-06 08:47:46 +01:00
Corentin Le Molgat
9054f13f95 cmake: remove ABSL_MUST_USE_RESULT for swig
should be fixed with absl upstream + swig 4.1 now support attibute
2023-02-06 08:47:46 +01:00
Corentin Le Molgat
ecd2afe4bb swig: Fix python build when using swig 4.1.0 2022-11-07 15:31:47 +01:00
Corentin Le Molgat
899e30d88b cmake: Fix python build
* fix cmake/python.cmake
* fix <cmp>/python/CMakeLists.txt
* fix examples/tests/CMakeLists.txt
2022-09-22 22:39:55 +02:00
Laurent Perron
ffefef9136 new dynamic partition class 2022-06-29 17:03:49 +02:00
Corentin Le Molgat
045a5d93b7 Sync google3 github 2022-06-17 14:23:23 +02:00
Corentin Le Molgat
c7120439d4 Bump license date 2022-06-17 14:23:23 +02:00
StefanBruens
9021ffbb95 Build Python modules as CMake MODULEs (#3259)
Python since 3.8 no longer links to the interpreter library, so
symbols like `PyExc_AttributeError` will be undefined at link time.

This causes build failures when shared libraries are linked with
`-Wl,--no-undefined`. Use `TYPE MODULE` for python extension modules,
which allows to specify distinct flags via CMAKE_MODULE_LINKER_FLAGS
vs CMAKE_SHARED_LINKER_FLAGS. (The same is already used by
`pybind11_add_module(... MODULE ...)`).

Fixes #3258.
2022-04-28 15:50:56 +02:00
Mizux Seiha
655eec5260 cmake: rework python 2021-12-03 14:20:19 +01:00
Mizux Seiha
c7441c346c cmake: Migrate to Python3 and use Development.Module
note: Development.Module is use to look for python header only
since library is not available on manylinux.
see: https://gitlab.kitware.com/cmake/cmake/-/issues/20425

note2: Development.Module has been introduced in CMake 3.18
ref: https://cmake.org/cmake/help/latest/module/FindPython3.html
2021-09-08 16:08:52 +02:00
Corentin Le Molgat
ef4405f4ee swig: Remove unneeded int64 typedef 2021-04-02 16:08:32 +02:00
Mizux Seiha
8bb54b04ef Bump Copyright to 2021
FYI:
find ortools \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i 's/\(Copyright 2010\)-2018/\1-2021/g'
2021-04-01 21:00:53 +02:00
Laurent Perron
baa3678832 remove duplicate swig include 2021-03-24 09:53:51 +01:00
Mizux Seiha
90a3155af1 cmake(python): Fix module update 2020-05-20 18:46:57 +02:00
Mizux Seiha
775aec03dd cmake(python): Refactor
* Use new Python module
* Use setup.py.in input file (should fix windows error)
2020-05-20 10:13:14 +02:00
Corentin Le Molgat
f2981e11c3 CMake:python: Add missing definition for swig 2020-03-05 13:04:08 +01:00
Corentin Le Molgat
4c7456b175 CMake: Update Python support
* Add define SWIGWORDSIZE64 on Linux
* Add -doxygen option
* add ortools/util/python
* Move python generated stuff to BINARY_DIR/python
* Bump CMake >= 3.14 as requirement
  * SWIG module rework from 3.9 to 3.14
  * Python module rework in 3.12
* Drop Python 2.7 support (like in Makefile)
* Fix clean target
  * OUTPUT/BYPRODUCTS path are relative to CURRENT_BINARY_DIR not WORKING_DIR
* Fix ortools package install in virtualenv
* Clean target now remove the <build>/venv directory
2020-02-28 08:21:27 +01:00
Corentin Le Molgat
d7a33542a2 Sync g3 -> github 2019-05-14 09:44:13 +02:00
Daniel Ortiz
4941e038db Incorporate set_time_limit method. 2019-02-28 11:20:29 +01:00
Laurent Perron
fedf3d4ff4 revamp and simplify swig support, force typed enums for C# and Java for all except the constraint_solver/routing module; port examples; Fix SAT on very large problems 2018-12-11 17:03:03 +01:00
Laurent Perron
589047ce90 python support int64 -> int64_t 2018-12-10 13:35:41 +01:00
Corentin Le Molgat
47fefdc3bb Remove tab from CMakeLists.txt
- Mandatory to follow google internal convention
2018-11-13 10:12:02 +01:00
Laurent Perron
87b9d55b21 update license headers 2018-11-10 18:00:53 +01:00
Laurent Perron
8ea92e372e remove glpk from knapsack_solver MIP options 2018-02-12 11:36:40 +01:00
Corentin Le Molgat
19ae1c121c Fix python loader_path 2018-01-22 14:33:20 +01:00
Corentin Le Molgat
6856567eda Rework CMakeLists.txt
Dependencies:
- Add dependencies as subprojects instead of prebuild (aka imported target)
- add zlib project
- Use Cbc as CMake subproject instead of prebuilt
- Add log between each subproject
- Force gflags namespace to gflags

Or-tools:
- Rework python.cmake support
- Fix missing ortool.util in python (#558)
- Try to use static library for ortools::proto
pros: can use target_link_libraries to get includes etc...
cons: lot of symbols undefined since libortools.so will strip everything -_-
- Use add_library(XXX OBJECT) for ortools/*
- fix get version from git when using small depth copy
- Create Install rule for ortools
- Don't create export rules
note: since we use subprojects instead of Imported Target,
ortools export complained against target deps "that is not in the export set."

Update windows support
- add swig project
- Protobuf force the use of /MD instead of /MT
- or-tools use /MD by default
- Add missing ws2_32
- Add missing psapi
- Update windows disable warnings list
- Build Static or-tools on Windows
- fix windows export symbols leak issue

Signed-off-by: Corentin Le Molgat <corentinl@google.com>
2018-01-19 15:03:25 +01:00
Laurent Perron
03fccb4032 improve incrementality of glop when used in the sat solver; change more copyright dates; more documentation on the gate scheduling problem 2017-10-18 11:09:13 +02:00
Amit Prakash Ambasta
553772d03c Removed python build for cleaner patches 2017-05-31 12:00:50 +05:30