45 Commits

Author SHA1 Message Date
Guillaume Chatelet
69dc22f35d Update linear solver build (#4945) 2025-12-15 13:06:58 +01:00
Corentin Le Molgat
77a28070b9 deps: bump scip to v9.2.1
* use libscip shared library
* enable soplex
2025-03-13 15:56:35 +01:00
Corentin Le Molgat
da058cd01b cmake: Fix and enabled shared lib support with MSVC
* Add decldll to proto
* rework init to make it working for MSVC
* fix test_xprs_interface build
dotnet: Fix MSVC shared libs support
  * Fix csproj to include libortools.dll
java: Fix MSVC shared_libs support
  * Fix runtime jar to include libortools.dll
python: Fix MSVC shared_libs support
  * fix __init__.py.in loading for MSVC
2025-02-04 14:28:08 +01:00
Corentin Le Molgat
a66a6daac7 Bump Copyright to 2025 2025-01-10 11:35:44 +01:00
Laurent Perron
21a75638c2 partial sync with main (without the routing part) 2024-07-12 13:56:11 +02:00
Laurent Perron
4cbd27dae9 sync with main 2024-05-30 10:52:42 +02:00
Corentin Le Molgat
a42f11a32f cmake: fix linear_solver/solve 2024-03-04 15:34:41 +01:00
Corentin Le Molgat
a1e9e68561 linear_solver: fix cmake install of solve executable 2024-03-04 14:22:41 +01:00
Mizux Seiha
05aa100b90 cmake: Fix configure when BUILD_TESTING=OFF 2024-02-22 12:00:26 +01:00
Mizux Seiha
a76bf1c5dd bump license boilerplate 2024-01-04 13:43:15 +01:00
Andrea Sgattoni
4627ddf948 xpress tests gracefully exit if Xpress not found 2023-11-13 15:00:53 +01:00
Andrea Sgattoni
f189b4e2f5 add xpress tests dir 2023-10-27 09:42:36 +02:00
Andrea Sgattoni
94f5e4cc17 add unittest 2023-10-27 09:42:35 +02:00
Andrea Sgattoni
b190d1d799 remove USE_XPRESS variable 2023-10-27 09:42:35 +02:00
Mizux Seiha
d8634ab0f2 cmake: Split math_opt into sub library
XCode do not support object library with several file with the same name
since it use a flat directory, Xcode "fix" using a UID but CMake can't catch it.

math_opt also use a parameters.proto which conflict with the
glop/parameters.proto -> need to split the proto to .cc generation in
two libraries
2023-09-25 10:46:02 +02:00
Corentin Le Molgat
3a5008601a linear_solver: Add model_exporter_main.cc 2023-09-25 10:45:58 +02:00
StefanBruens
4633e1080c Fix RUNPATHs for libraries and executables (#3383)
* Only add relevant directories to various RUNPATHs

The old code added several irrelevant, duplicate or even non-existing
directories to the RUNPATHs of the samples/flatzinc/sat_solver./linear_solver

Calculate the actual relative path between binary and library install
directory (using the absolute paths, CMAKE_INSTALL_LIBDIR may be either
relative or absolute), and set it as target property.
2023-07-28 14:38:25 +02:00
Laurent Perron
064b3efd74 cleanup code; move solve.cc to ortools/linear_solver 2023-02-10 15:45:53 -08:00
Corentin Le Molgat
86321f2025 cmake: prepare HiGHS support 2022-10-06 14:45:07 +02:00
Mizux Seiha
e956acee92 cmake: Fix C++17 Unix / C++20 MSVC management 2022-09-20 22:33:30 +02:00
Corentin Le Molgat
1af55b2be3 Add license boilerplate 2022-06-21 11:25:29 +02:00
Mizux Seiha
3375871fe5 cmake: fixup missing deps 2022-02-24 08:42:33 +01:00
Corentin Le Molgat
761982a17f cmake: Add PDLP support 2022-02-17 15:02:23 +01:00
Laurent Perron
d510b97621 add pdlp to the code base; build it with bazel, call it through MPSolver 2022-02-09 10:48:30 +01:00
Mizux Seiha
d0e7970c6b cmake: Added GLPK support and docs
* Use Mizux/GLPK (Tag 5.0)
* cmake: Fix swig flags
* cmake: Update ortoolsConfig.cmake
2021-11-17 14:04:57 +01:00
Mizux Seiha
9e901a7b24 cmake: Remove absl::container dep (removed) 2021-04-06 14:33:10 +02:00
Mizux Seiha
93af69fb0f cmake: remove gflags and glog deps 2020-10-24 00:50:31 +02:00
Mizux Seiha
18e00b36c4 cmake: cleanup 2020-10-19 10:38:52 +02:00
Mizux Seiha
f992206a9a Force use of C++17
Routing use c++17 features (e.g. structured binding)
ref: https://en.cppreference.com/w/cpp/language/structured_binding
2020-08-14 14:07:58 +02:00
Mizux Seiha
8c56caaeae cmake: Fix USE_XPRESS/USE_CPLEX in linear_solver 2020-07-31 11:27:09 +02:00
Mizux Seiha
557fe4e49e cmake: Fix USE_SCIP in linear_solver 2020-07-31 11:27:09 +02:00
Mizux Seiha
cf062475eb cmake: Fix SCIP support 2020-07-06 12:33:37 +02:00
Mizux Seiha
86af6c5725 CMake: SCIP update 2020-07-03 16:17:27 +02:00
Corentin Le Molgat
2d8c863c2a Sync g3 -> gh Part 3 2020-03-10 11:06:08 +01:00
Corentin Le Molgat
660ce974a8 CMake: Fix typo in generator expression 2020-02-07 14:15:38 +01:00
Corentin Le Molgat
9814de8263 CMake: Coin-OR is optional 2020-02-07 10:50:12 +01:00
Manuel Ruiz
f50fc893a8 xpress integration in or-tools 2019-08-06 18:21:29 +02: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
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
Corentin Le Molgat
47fefdc3bb Remove tab from CMakeLists.txt
- Mandatory to follow google internal convention
2018-11-13 10:12:02 +01: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
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
Amit Prakash Ambasta
553772d03c Removed python build for cleaner patches 2017-05-31 12:00:50 +05:30
Amit Prakash Ambasta
72e3313784 Updated CMakeLists to retain hierarchy of proto generated files 2017-05-30 15:51:19 +05:30
Amit Prakash Ambasta
2a12468b93 Added cmake support for C++, initial python build support 2017-05-30 12:02:56 +05:30