From owner-svn-ports-head@freebsd.org Tue Jul 21 01:23:20 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5223C36FBB7; Tue, 21 Jul 2020 01:23:20 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4B9gpJ1qX5z3ZCG; Tue, 21 Jul 2020 01:23:20 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 229781604B; Tue, 21 Jul 2020 01:23:20 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 06L1NK1L025816; Tue, 21 Jul 2020 01:23:20 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 06L1NI2G025807; Tue, 21 Jul 2020 01:23:18 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <202007210123.06L1NI2G025807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Tue, 21 Jul 2020 01:23:18 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r542684 - in head/math: . or-tools or-tools/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math: . or-tools or-tools/files X-SVN-Commit-Revision: 542684 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jul 2020 01:23:20 -0000 Author: yuri Date: Tue Jul 21 01:23:18 2020 New Revision: 542684 URL: https://svnweb.freebsd.org/changeset/ports/542684 Log: New port: math/or-tools: Google's Operations Research tools Added: head/math/or-tools/ head/math/or-tools/Makefile (contents, props changed) head/math/or-tools/distinfo (contents, props changed) head/math/or-tools/files/ head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk (contents, props changed) head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk (contents, props changed) head/math/or-tools/files/patch-ortools_util_fp__utils.h (contents, props changed) head/math/or-tools/files/patch-ortools_util_zvector.h (contents, props changed) head/math/or-tools/pkg-descr (contents, props changed) head/math/or-tools/pkg-plist (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Tue Jul 21 00:44:35 2020 (r542683) +++ head/math/Makefile Tue Jul 21 01:23:18 2020 (r542684) @@ -526,6 +526,7 @@ SUBDIR += opensolaris-libm SUBDIR += openturns SUBDIR += optpp + SUBDIR += or-tools SUBDIR += orpie SUBDIR += osi SUBDIR += osqp Added: head/math/or-tools/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/Makefile Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,37 @@ +# $FreeBSD$ + +PORTNAME= or-tools +DISTVERSIONPREFIX= v +DISTVERSION= 7.7 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Google's Operations Research tools + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE-2.0.txt + +LIB_DEPENDS= libabsl_base.so:devel/abseil \ + libCbc.so:math/cbc \ + libCgl.so:math/cgl \ + libOsiClp.so:math/clp \ + libgflags.so:devel/gflags \ + libglog.so:devel/glog \ + libprotobuf.so:devel/protobuf + +USES= blaslapack cmake compiler:c++11-lang pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= google +USE_LDCONFIG= yes + +CMAKE_OFF= BUILD_DEPS INSTALL_BUILD_DEPS BUILD_PYTHON BUILD_EXAMPLES +CONFIGURE_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE} +BUILD_ENV= UNIX_CBC_DIR=${LOCALBASE} UNIX_CLP_DIR=${LOCALBASE} + +post-configure: # https://github.com/google/or-tools/issues/2109 + @${REINPLACE_CMD} -e 's|protobuf::protoc|protoc -I${LOCALBASE}/include| ; s|protobuf$$:$$:protoc||' ${BUILD_WRKSRC}/build.ninja + +post-install: + @${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete + +.include Added: head/math/or-tools/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/distinfo Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,3 @@ +TIMESTAMP = 1595281509 +SHA256 (google-or-tools-v7.7_GH0.tar.gz) = d20eb031ea3f1b75e55e44ae6acdb674ee6fb31e7a56498be32dc83ba9bc13bd +SIZE (google-or-tools-v7.7_GH0.tar.gz) = 184809285 Added: head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/files/patch-makefiles_Makefile.dotnet.mk Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,15 @@ +--- makefiles/Makefile.dotnet.mk.orig 2020-06-12 13:05:43 UTC ++++ makefiles/Makefile.dotnet.mk +@@ -62,7 +62,11 @@ else + ifeq ($(OS),Darwin) + RUNTIME_IDENTIFIER=osx-x64 + else +- $(error OS unknown !) ++ ifeq ($(OS),FreeBSD) ++ RUNTIME_IDENTIFIER=freebsd-amd64 ++ else ++ $(error OS unknown !) ++ endif + endif + endif + endif Added: head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/files/patch-makefiles_Makefile.third__party.unix.mk Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,21 @@ +--- makefiles/Makefile.third_party.unix.mk.orig 2020-06-12 13:05:43 UTC ++++ makefiles/Makefile.third_party.unix.mk +@@ -73,7 +73,8 @@ ifeq ($(wildcard $(UNIX_OSI_DIR)/include/osi/coin/OsiS + else + $(info OSI: found) + endif +-ifeq ($(wildcard $(UNIX_CLP_DIR)/include/clp/coin/ClpModel.hpp $(UNIX_CLP_DIR)/include/coin/ClpSimplex.hpp),) ++ifeq ($(wildcard $(UNIX_CLP_DIR)/include/coin/ClpModel.hpp $(UNIX_CLP_DIR)/include/coin/ClpSimplex.hpp),) ++ $(info CLP: NOT found: UNIX_CLP_DIR=$(UNIX_CLP_DIR)) + $(error Third party Clp files was not found! did you run 'make third_party' or set UNIX_CLP_DIR ?) + else + $(info CLP: found) +@@ -83,7 +84,7 @@ ifeq ($(wildcard $(UNIX_CGL_DIR)/include/cgl/coin/CglP + else + $(info CGL: found) + endif +-ifeq ($(wildcard $(UNIX_CBC_DIR)/include/cbc/coin/CbcModel.hpp $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp),) ++ifeq ($(wildcard $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp $(UNIX_CBC_DIR)/include/coin/CbcModel.hpp),) + $(error Third party Cbc files was not found! did you run 'make third_party' or set UNIX_CBC_DIR ?) + else + $(info CBC: found) Added: head/math/or-tools/files/patch-ortools_util_fp__utils.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/files/patch-ortools_util_fp__utils.h Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,11 @@ +--- ortools/util/fp_utils.h.orig 2020-07-20 23:21:30 UTC ++++ ortools/util/fp_utils.h +@@ -83,6 +83,8 @@ class ScopedFloatingPointEnv { + excepts &= FE_ALL_EXCEPT; + #ifdef __APPLE__ + fenv_.__control &= ~excepts; ++#elif defined(__FreeBSD__) ++ //fesetexceptflag(&fenv_, excepts); + #else // Linux + fenv_.__control_word &= ~excepts; + #endif Added: head/math/or-tools/files/patch-ortools_util_zvector.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/files/patch-ortools_util_zvector.h Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,14 @@ +--- ortools/util/zvector.h.orig 2020-07-20 23:36:37 UTC ++++ ortools/util/zvector.h +@@ -17,7 +17,11 @@ + #if defined(__APPLE__) && defined(__GNUC__) + #include + #elif !defined(_MSC_VER) ++#if defined(__FreeBSD__) ++#include ++#else + #include ++#endif + #endif + #include + #include Added: head/math/or-tools/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/pkg-descr Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,14 @@ +Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and +portable software suite for solving combinatorial optimization problems. + +The suite contains: +* A constraint programming solver +* A linear programming solver +* Wrappers around commercial and other open source solvers, including mixed + integer solvers +* Bin packing and knapsack algorithms +* Algorithms for the Traveling Salesman Problem and Vehicle Routing Problem +* Graph algorithms (shortest paths, min cost flow, max flow, linear sum + assignment) + +WWW: https://github.com/google/or-tools Added: head/math/or-tools/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/or-tools/pkg-plist Tue Jul 21 01:23:18 2020 (r542684) @@ -0,0 +1,300 @@ +bin/costas_array_sat +bin/cvrp_disjoint_tw +bin/cvrptw +bin/cvrptw_with_breaks +bin/cvrptw_with_refueling +bin/cvrptw_with_resources +bin/cvrptw_with_stop_times_and_resources +bin/dimacs_assignment +bin/dobble_ls +bin/flow_api +bin/frequency_assignment_problem +bin/golomb_sat +bin/integer_programming +bin/jobshop_sat +bin/knapsack +bin/linear_assignment_api +bin/linear_programming +bin/linear_solver_protocol_buffers +bin/magic_square_sat +bin/max_flow +bin/min_cost_flow +bin/mps_driver +bin/network_routing_sat +bin/nqueens +bin/pdptw +bin/random_tsp +bin/shift_minimization_sat +bin/solve +bin/sports_scheduling_sat +bin/strawberry_fields_with_column_generation +bin/weighted_tardiness_sat +include/ortools/algorithms/dense_doubly_linked_list.h +include/ortools/algorithms/dynamic_partition.h +include/ortools/algorithms/dynamic_permutation.h +include/ortools/algorithms/find_graph_symmetries.h +include/ortools/algorithms/hungarian.h +include/ortools/algorithms/knapsack_solver.h +include/ortools/algorithms/knapsack_solver_for_cuts.h +include/ortools/algorithms/sparse_permutation.h +include/ortools/base/accurate_sum.h +include/ortools/base/adjustable_priority_queue-inl.h +include/ortools/base/adjustable_priority_queue.h +include/ortools/base/base_export.h +include/ortools/base/basictypes.h +include/ortools/base/bitmap.h +include/ortools/base/cleanup.h +include/ortools/base/commandlineflags.h +include/ortools/base/encodingutils.h +include/ortools/base/file.h +include/ortools/base/filelineiter.h +include/ortools/base/hash.h +include/ortools/base/int_type.h +include/ortools/base/int_type_indexed_vector.h +include/ortools/base/integral_types.h +include/ortools/base/iterator_adaptors.h +include/ortools/base/jniutil.h +include/ortools/base/logging.h +include/ortools/base/macros.h +include/ortools/base/map_util.h +include/ortools/base/mathutil.h +include/ortools/base/murmur.h +include/ortools/base/protobuf_util.h +include/ortools/base/protoutil.h +include/ortools/base/ptr_util.h +include/ortools/base/python-swig.h +include/ortools/base/random.h +include/ortools/base/recordio.h +include/ortools/base/small_map.h +include/ortools/base/small_ordered_set.h +include/ortools/base/status_macros.h +include/ortools/base/statusor.h +include/ortools/base/stl_util.h +include/ortools/base/sysinfo.h +include/ortools/base/thorough_hash.h +include/ortools/base/threadpool.h +include/ortools/base/timer.h +include/ortools/base/typeid.h +include/ortools/base/version.h +include/ortools/bop/bop_base.h +include/ortools/bop/bop_fs.h +include/ortools/bop/bop_lns.h +include/ortools/bop/bop_ls.h +include/ortools/bop/bop_parameters.pb.h +include/ortools/bop/bop_portfolio.h +include/ortools/bop/bop_solution.h +include/ortools/bop/bop_solver.h +include/ortools/bop/bop_types.h +include/ortools/bop/bop_util.h +include/ortools/bop/complete_optimizer.h +include/ortools/bop/integral_solver.h +include/ortools/constraint_solver/assignment.pb.h +include/ortools/constraint_solver/constraint_solver.h +include/ortools/constraint_solver/constraint_solveri.h +include/ortools/constraint_solver/demon_profiler.pb.h +include/ortools/constraint_solver/java/javawrapcp_util.h +include/ortools/constraint_solver/python/pywrapcp_util.h +include/ortools/constraint_solver/routing.h +include/ortools/constraint_solver/routing_enums.pb.h +include/ortools/constraint_solver/routing_flags.h +include/ortools/constraint_solver/routing_index_manager.h +include/ortools/constraint_solver/routing_lp_scheduling.h +include/ortools/constraint_solver/routing_neighborhoods.h +include/ortools/constraint_solver/routing_parameters.h +include/ortools/constraint_solver/routing_parameters.pb.h +include/ortools/constraint_solver/routing_types.h +include/ortools/constraint_solver/search_limit.pb.h +include/ortools/constraint_solver/solver_parameters.pb.h +include/ortools/data/jobshop_scheduling.pb.h +include/ortools/data/jobshop_scheduling_parser.h +include/ortools/data/rcpsp.pb.h +include/ortools/data/rcpsp_parser.h +include/ortools/data/set_covering_data.h +include/ortools/data/set_covering_parser.h +include/ortools/flatzinc/checker.h +include/ortools/flatzinc/cp_model_fz_solver.h +include/ortools/flatzinc/logging.h +include/ortools/flatzinc/model.h +include/ortools/flatzinc/parser.h +include/ortools/flatzinc/parser_util.h +include/ortools/flatzinc/presolve.h +include/ortools/glop/basis_representation.h +include/ortools/glop/dual_edge_norms.h +include/ortools/glop/entering_variable.h +include/ortools/glop/initial_basis.h +include/ortools/glop/lp_solver.h +include/ortools/glop/lu_factorization.h +include/ortools/glop/markowitz.h +include/ortools/glop/parameters.pb.h +include/ortools/glop/preprocessor.h +include/ortools/glop/primal_edge_norms.h +include/ortools/glop/rank_one_update.h +include/ortools/glop/reduced_costs.h +include/ortools/glop/revised_simplex.h +include/ortools/glop/status.h +include/ortools/glop/update_row.h +include/ortools/glop/variable_values.h +include/ortools/glop/variables_info.h +include/ortools/graph/assignment.h +include/ortools/graph/christofides.h +include/ortools/graph/cliques.h +include/ortools/graph/connected_components.h +include/ortools/graph/connectivity.h +include/ortools/graph/ebert_graph.h +include/ortools/graph/eulerian_path.h +include/ortools/graph/flow_problem.pb.h +include/ortools/graph/graph.h +include/ortools/graph/graphs.h +include/ortools/graph/hamiltonian_path.h +include/ortools/graph/io.h +include/ortools/graph/iterators.h +include/ortools/graph/linear_assignment.h +include/ortools/graph/max_flow.h +include/ortools/graph/min_cost_flow.h +include/ortools/graph/minimum_spanning_tree.h +include/ortools/graph/one_tree_lower_bound.h +include/ortools/graph/perfect_matching.h +include/ortools/graph/shortestpaths.h +include/ortools/graph/strongly_connected_components.h +include/ortools/graph/util.h +include/ortools/linear_solver/glop_utils.h +include/ortools/linear_solver/gurobi_environment.h +include/ortools/linear_solver/gurobi_proto_solver.h +include/ortools/linear_solver/linear_expr.h +include/ortools/linear_solver/linear_solver.h +include/ortools/linear_solver/linear_solver.pb.h +include/ortools/linear_solver/linear_solver_callback.h +include/ortools/linear_solver/model_exporter.h +include/ortools/linear_solver/model_exporter_swig_helper.h +include/ortools/linear_solver/model_validator.h +include/ortools/linear_solver/sat_proto_solver.h +include/ortools/linear_solver/sat_solver_utils.h +include/ortools/linear_solver/scip_helper_macros.h +include/ortools/linear_solver/scip_proto_solver.h +include/ortools/lp_data/lp_data.h +include/ortools/lp_data/lp_data_utils.h +include/ortools/lp_data/lp_decomposer.h +include/ortools/lp_data/lp_print_utils.h +include/ortools/lp_data/lp_types.h +include/ortools/lp_data/lp_utils.h +include/ortools/lp_data/matrix_scaler.h +include/ortools/lp_data/matrix_utils.h +include/ortools/lp_data/model_reader.h +include/ortools/lp_data/mps_reader.h +include/ortools/lp_data/permutation.h +include/ortools/lp_data/proto_utils.h +include/ortools/lp_data/scattered_vector.h +include/ortools/lp_data/sparse.h +include/ortools/lp_data/sparse_column.h +include/ortools/lp_data/sparse_row.h +include/ortools/lp_data/sparse_vector.h +include/ortools/port/file.h +include/ortools/port/proto_utils.h +include/ortools/port/sysinfo.h +include/ortools/port/utf8.h +include/ortools/sat/all_different.h +include/ortools/sat/boolean_problem.h +include/ortools/sat/boolean_problem.pb.h +include/ortools/sat/circuit.h +include/ortools/sat/clause.h +include/ortools/sat/cp_constraints.h +include/ortools/sat/cp_model.h +include/ortools/sat/cp_model.pb.h +include/ortools/sat/cp_model_checker.h +include/ortools/sat/cp_model_expand.h +include/ortools/sat/cp_model_lns.h +include/ortools/sat/cp_model_loader.h +include/ortools/sat/cp_model_objective.h +include/ortools/sat/cp_model_postsolve.h +include/ortools/sat/cp_model_presolve.h +include/ortools/sat/cp_model_search.h +include/ortools/sat/cp_model_solver.h +include/ortools/sat/cp_model_symmetries.h +include/ortools/sat/cp_model_utils.h +include/ortools/sat/cumulative.h +include/ortools/sat/cumulative_energy.h +include/ortools/sat/cuts.h +include/ortools/sat/diffn.h +include/ortools/sat/disjunctive.h +include/ortools/sat/drat_checker.h +include/ortools/sat/drat_proof_handler.h +include/ortools/sat/drat_writer.h +include/ortools/sat/encoding.h +include/ortools/sat/feasibility_pump.h +include/ortools/sat/implied_bounds.h +include/ortools/sat/integer.h +include/ortools/sat/integer_expr.h +include/ortools/sat/integer_search.h +include/ortools/sat/intervals.h +include/ortools/sat/linear_constraint.h +include/ortools/sat/linear_constraint_manager.h +include/ortools/sat/linear_programming_constraint.h +include/ortools/sat/linear_relaxation.h +include/ortools/sat/lp_utils.h +include/ortools/sat/model.h +include/ortools/sat/optimization.h +include/ortools/sat/pb_constraint.h +include/ortools/sat/precedences.h +include/ortools/sat/presolve_context.h +include/ortools/sat/presolve_util.h +include/ortools/sat/probing.h +include/ortools/sat/pseudo_costs.h +include/ortools/sat/restart.h +include/ortools/sat/rins.h +include/ortools/sat/sat_base.h +include/ortools/sat/sat_decision.h +include/ortools/sat/sat_inprocessing.h +include/ortools/sat/sat_parameters.pb.h +include/ortools/sat/sat_solver.h +include/ortools/sat/simplification.h +include/ortools/sat/subsolver.h +include/ortools/sat/swig_helper.h +include/ortools/sat/symmetry.h +include/ortools/sat/synchronization.h +include/ortools/sat/table.h +include/ortools/sat/theta_tree.h +include/ortools/sat/timetable.h +include/ortools/sat/timetable_edgefinding.h +include/ortools/sat/util.h +include/ortools/util/adaptative_parameter_value.h +include/ortools/util/affine_relation.h +include/ortools/util/bitset.h +include/ortools/util/cached_log.h +include/ortools/util/file_util.h +include/ortools/util/fp_utils.h +include/ortools/util/functions_swig_helpers.h +include/ortools/util/functions_swig_test_helpers.h +include/ortools/util/graph_export.h +include/ortools/util/integer_pq.h +include/ortools/util/lazy_mutable_copy.h +include/ortools/util/monoid_operation_tree.h +include/ortools/util/optional_boolean.pb.h +include/ortools/util/permutation.h +include/ortools/util/piecewise_linear_function.h +include/ortools/util/proto_tools.h +include/ortools/util/random_engine.h +include/ortools/util/range_minimum_query.h +include/ortools/util/range_query_function.h +include/ortools/util/rational_approximation.h +include/ortools/util/return_macros.h +include/ortools/util/rev.h +include/ortools/util/running_stat.h +include/ortools/util/saturated_arithmetic.h +include/ortools/util/sigint.h +include/ortools/util/sort.h +include/ortools/util/sorted_interval_list.h +include/ortools/util/stats.h +include/ortools/util/string_array.h +include/ortools/util/time_limit.h +include/ortools/util/tuple_set.h +include/ortools/util/vector_map.h +include/ortools/util/vector_or_function.h +include/ortools/util/zvector.h +include/ortools_export.h +lib/cmake/ortools/ortoolsConfig.cmake +lib/cmake/ortools/ortoolsConfigVersion.cmake +lib/cmake/ortools/ortoolsTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/ortools/ortoolsTargets.cmake +lib/libortools.so +lib/libortools.so.7 +lib/libortools.so.7.7.9999