Commit Graph

34 Commits

Author SHA1 Message Date
Corentin Le Molgat
0d6f6dddd9 Export g3 -> gh 2020-03-12 18:20:13 +01:00
Corentin Le Molgat
2d8c863c2a Sync g3 -> gh Part 3 2020-03-10 11:06:08 +01: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
Laurent Perron
dd6fbc32b1 move MakeCleanup from gtl:: to absl::; CP-SAT improvements 2020-02-05 11:27:02 +01:00
Corentin Le Molgat
a49b9143a4 Rework CMake dependencies management (Fix #1116)
- By default don't build dependencies simply call find_package()
- By default only build C++ library
- IF building Python, Java or .Net wrapper then force build dependencies
  - Build dependencies as STATIC
  - Build and Install (in CMAKE_BINARY_DIR) dependencies at configure time
2019-04-11 13:47:05 +02:00
Corentin Le Molgat
a72e33a732 Sync from g3 to github 2019-03-22 11:10:21 +01:00
Laurent Perron
a0d2853258 all libraries compiles under bazel 2019-02-10 18:51:36 +01:00
Laurent Perron
b88a499b6c remove obsolete files from ortools/base; port code accordingly; add new sat sample 2019-01-05 11:30:35 +01:00
Laurent Perron
f2573d33b1 Fix merge abseil - v6.10 2018-11-30 14:48:55 +01:00
Corentin Le Molgat
b027e57e95 dotnet: Remove reference to dotnet release command
- Currently not implemented...

Add abseil patch

- Add patches/absl-config.cmake

Makefile: Add abseil-cpp on unix

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

Makefile: Add abseil-cpp on windows

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

CMake: Add abseil-cpp

- Force abseil-cpp SHA1 to 45221cc
  note: Just before the PR #136 which break all CMake

port to absl: C++ Part

- Fix warning with the use of ABSL_MUST_USE_RESULT
  > The macro must appear as the very first part of a function
    declaration or definition:
    ...
    Note: past advice was to place the macro after the argument list.
  src: dependencies/sources/abseil-cpp-master/absl/base/attributes.h:418
- Rename enum after windows clash
- Remove non compact table constraints
- Change index type from int64 to int in routing library
- Fix file_nonport compilation on windows
- Fix another naming conflict with windows (NO_ERROR is a macro)
- Cleanup hash containers; work on sat internals
- Add optional_boolean sub-proto

Sync cpp examples with internal code
- reenable issue173 after reducing number of loops

port to absl: Python Part

- Add back cp_model.INT32_MIN|MAX for examples

Update Python examples

- Add random_tsp.py
- Run words_square example
- Run magic_square in python tests

port to absl: Java Part

- Fix compilation of the new routing parameters in java
- Protect some code from SWIG parsing

Update Java Examples

port to absl: .Net Part

Update .Net examples

work on sat internals; Add C++ CP-SAT CpModelBuilder API; update sample code and recipes to use the new API; sync with internal code

Remove VS 2015 in Appveyor-CI

- abseil-cpp does not support VS 2015...

improve tables

upgrade C++ sat examples to use the new API; work on sat internals

update license dates

rewrite jobshop_ft06_distance.py to use the CP-SAT solver

rename last example

revert last commit

more work on SAT internals

fix
2018-11-30 14:48:55 +01:00
Laurent Perron
4c661f07ae remove jobshop_earlytardy; add support for earliness in jobshop_sat; improve jobshop_scheduling_parser to support jet file (Jobshop Early Tardy) 2018-11-23 15:25:12 +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
27035c4b0f Fix #902 2018-11-06 08:50:40 +01:00
Laurent Perron
428e272ccc add ModelStats and CpSolverResponseStats for SAT/{Python|Java|C#}; enable multiple enforcement literals for a few constraints; small fixes, typo corrections 2018-09-12 15:07:23 +02:00
Laurent Perron
92433a8e5d minor refactoring of the code, mostly reindent 2018-06-11 11:50:49 +02:00
Laurent Perron
70e73d8754 clang-format 2018-06-08 16:40:43 +02:00
Laurent Perron
bd106059e5 support assembly scheduling in the jobshop_scheduling.proto and corresponding examples/cpp/jobshop_sat.cc 2018-05-22 13:13:52 +02:00
Laurent Perron
3656e78877 fix jssp proto compilation 2018-04-19 11:33:20 +02:00
Corentin Le Molgat
0b57edd932 Fix jobshop_scheduling.proto
- wrong types used...
2018-04-19 10:26:59 +02:00
Laurent Perron
55d906819f add jobshop scheduling proto + parser + sat solver 2018-04-18 13:37:29 +02:00
Corentin Le Molgat
5759af1a97 Move CMake gflags target to its own namespace.
Use gflags::gflags as others deps to be more consistent and modern
2018-02-06 14:16:37 +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
d33bd89c5b add flag for set partition problems 2017-12-18 14:27:05 +01:00
Laurent Perron
07abd68ada fix AnyOf 2017-12-14 12:54:36 +01:00
Laurent Perron
728dba4c7c scp reader/data 2017-12-14 12:50:30 +01:00
Laurent Perron
3af045b0b1 remove ortools/util/filelineiter.h in favor of ortools/base/filelineiter.h 2017-12-11 15:52:26 +01:00
Laurent Perron
cfdaf3972e polish previous CL on base libraries upgrade 2017-12-08 16:08:16 +01:00
Laurent Perron
8d7320b962 deep sync with base library; prepare for abseil.io integration 2017-12-08 14:52:49 +01:00
Laurent Perron
4cd6ecccb3 revisit time limit; add special sigint handler; fix bug in sat presolve with enforcement literals 2017-12-06 11:23:11 +01:00
Laurent Perron
a4a06a357a improve rcpsp parser and rcpsp_sat.py 2017-11-16 17:48:30 +01:00
Laurent Perron
e14ee86de3 move rcpsp parser to ortools/data; continue working on SAT 2017-11-07 15:45:52 +01:00