Commit Graph

28 Commits

Author SHA1 Message Date
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
Amit Prakash Ambasta
2a12468b93 Added cmake support for C++, initial python build support 2017-05-30 12:02:56 +05:30
Laurent Perron
66b8d23079 move src to ortools; simplified python generation; remove some namespaces in the ortools/base helper files 2017-04-26 17:30:25 +02:00