Commit Graph

103 Commits

Author SHA1 Message Date
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
Mizux Seiha
2899beb8f3 cmake: rework gurobi support 2023-09-25 10:46:02 +02:00
Corentin Le Molgat
8aa27339c0 cmake: Fix math_opt singleton on windows 2023-09-25 10:44:04 +02:00
Corentin Le Molgat
461c3db587 cmake: clean comment 2023-09-25 10:44:04 +02:00
Corentin Le Molgat
36aaa82356 cmake: Fix math_opt build when USE_PDLP=OFF 2023-09-08 18:05:49 +02:00
Corentin Le Molgat
9a1313b138 cmake: cleanup 2023-09-04 16:55:01 +02:00
Mizux Seiha
2f04afb7c0 cmake: Fix mathop_build when USE_SCIP=OFF 2023-09-04 16:55:01 +02:00
Mizux Seiha
fbf27ec73e cmake: Add math_opt/ 2023-09-04 16:55:01 +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
Mizux Seiha
77b58661aa Fix windows build
related to https://github.com/microsoft/STL/issues/2613
2023-04-07 17:22:51 +02:00
Mizux Seiha
4f30a7ff2c cmake: Add C++ documentation 2023-02-02 11:40:42 +01: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
Mizux Seiha
0ad6639c0f Fix windows build 2022-09-20 15:42:44 +02:00
Laurent Perron
2698acc6d4 fix 2022-09-12 14:35:27 +02:00
Laurent Perron
81b31ff24b Move model_builder under linear_solver 2022-09-12 11:28:52 +02:00
Corentin Le Molgat
43d3d4d53b cmake: Fix remaining C++20 property 2022-08-01 15:43:59 +00:00
Corentin Le Molgat
5d222cc681 CMake: update
* Remove FindProtobuf.cmake (builtin provided by CMake)
* Install missing Find module
* remove `${CONFIG_FLAG}` in ortoolsConfig.cmake when irrelevant.
2022-06-24 17:35:08 +02:00
Corentin Le Molgat
045a5d93b7 Sync google3 github 2022-06-17 14:23:23 +02:00
Mizux Seiha
b0a78201dd cmake: Fix GLPK support (Fix #3312)
* Eigen was spuriously enabling fortran
* Missing GLKP helpers functions
2022-06-09 12:39:57 +02:00
Corentin Le Molgat
a8ffe28948 cmake: install internal doc. 2022-04-06 11:15:59 +02:00
Corentin Le Molgat
3c6f88de3b c++: Add USE_LP_PARSER define (#3201) 2022-03-25 11:12:00 +01:00
Corentin Le Molgat
57b182d2df make: Create a bundle lib on windows 2022-03-08 11:02:04 +00:00
Corentin Le Molgat
ffb5ea4dc3 make: Fix RPATH in [fz_]archive 2022-03-04 09:17:01 +01:00
Mizux Seiha
32b101b9ee cmake: Fixup for pdlp 2022-02-25 23:43:01 +01:00
Mizux Seiha
cde1771554 cmake(cpp): Add model_builder wrappers 2022-02-24 08:29:43 +01:00
Corentin Le Molgat
e01e061bb6 cmake: cpp.cmake cleanup 2022-02-23 16:17:47 +01:00
Laurent Perron
357ff08581 fix C++20 for windows when compiling pdlp 2022-02-19 16:21:46 +01:00
Laurent Perron
0266492da6 more work on makefiles/cmake.cpp 2022-02-19 15:05:17 +01:00
Corentin Le Molgat
761982a17f cmake: Add PDLP support 2022-02-17 15:02:23 +01:00
Geoffrey Gunter
68f4e80e2c Fix CMake package config file (#3068)
* Fix CMake package config file

There are currently a few issues with how the COIN-OR dependencies are
resolved when using `find_package(ortools CONFIG)` to add or-tools to
an external CMake project.

* With CMake >=3.9.6, we try to find the Clp and Cbc packages using the
  CONFIG mode of `find_package`. This always fails since neither
  library provides a CMake config file.

* If we address the above issue by instead using the MODULE mode of
  `find_package`, then we need to add `FindCbc.cmake` and
  `FindCpl.cmake` scripts to the CMAKE_MODULE_PATH in order to teach
  CMake how to find these dependencies. I propose that or-tools should
  install these scripts alongside its config file so that they're
  available to external CMake projects.

* Finally, the `FindCbc.cmake` script included with or-tools defines the
  variable `CBC_FOUND` when it's successful, rather than `Cbc_FOUND` as
  expected (CMake variables are case-sensitive). The `FindCpl.cmake`
  script has a similar issue. As a result, even when the above two
  points are addressed, `find_package(ortools CONFIG)` will still fail
  because CMake erroneously thinks that these two dependencies weren't
  succesfully found.

This commit attempts to address the above issues with the following
changes:

* The or-tools CMake config file is modified to allow searching for Cbc
  and Cpl using the MODULE mode of `find_package`.

* `FindCbc.cmake` and `FindCpl.cmake` are installed with the CMake
  package config files and are added to the CMAKE_MODULE_PATH if
  `USE_COINOR` was truthy.

* The `FindCbc.cmake` and `FindCpl.cmake` files are modified to change
  the case of variables they export.

* Only install FindXXX.cmake modules if COIN-OR support was enabled
2022-01-14 08:38:37 +01:00
Corentin Le Molgat
323df716f3 cmake: Make BUILD_LP_PARSER optional (OFF by default) 2021-11-22 17:17:43 +01:00
Corentin Le Molgat
cfa0eec941 Add lp_parser 2021-11-19 14:02:44 +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
5713958c45 cmake: Use PROJECT_NAMESPACE 2021-11-17 12:28:42 +01:00
Laurent Perron
f6fa781fa4 split ortools/data into ortools/scheduling and ortools/packing 2021-09-28 15:58:37 +02:00
Corentin Le Molgat
1be12af58f cmake: cleanup 2021-09-17 15:13:11 +02:00
Mizux Seiha
4a025e23c0 cmake: Add init 2021-03-21 16:19:12 +01:00
Mizux Seiha
eb01323f0f cmake: Fix build 2021-03-18 02:49:30 +01:00
Mizux Seiha
e4344ec7c9 cmake: Propagate use of PROTOC_PRG 2021-01-08 17:49:26 +01:00
Mizux Seiha
1108b8cb1c cmake: fix install in cpp.cmake 2020-11-16 11:16:08 +01:00
Mizux Seiha
9bf38e15d0 cmake: Fix cpp build 2020-11-09 14:04:49 +01:00
Mizux Seiha
660109cbae cmake: move dependencies check 2020-11-09 10:00:35 +01:00
Mizux Seiha
409ebffd3b Introduce OR_TOOLS_AS_DYNAMIC_LIB
should fix Makefile based build since is generate a static lib
so declspec(dllimport/dllexport) is not needed.
2020-10-24 00:50:59 +02:00
Mizux Seiha
93af69fb0f cmake: remove gflags and glog deps 2020-10-24 00:50:31 +02:00
Mizux Seiha
f57d9cc0a0 cmake: fix windows build 2020-10-19 23:02:01 +02:00
Mizux Seiha
53bf463517 cmake: Fix gscip 2020-10-19 11:27:02 +02:00
Mizux Seiha
18e00b36c4 cmake: cleanup 2020-10-19 10:38:52 +02:00
Laurent Perron
aeeb233f92 add statusor to cmake 2020-10-18 18:00:00 +02:00
Mizux Seiha
aa73e901b4 cmake: Refactor sample tests 2020-09-19 17:21:50 +02:00