dotnet: Full Rework
- Create native project runtime.{rid}.Google.OrTools
- follow the microsoft convention e.g.:
https://www.nuget.org/packages/Microsoft.NETCore.App/
https://www.nuget.org/packages/runtime.linux-x64.Microsoft.NETCore.App/
- Target `make_dotnet` targets local nupkg instead of dll.
- Use 4096 RSA key for or-tools.snk
- Clean nuget cache in `clean_dotnet` recipe
Refactor:
- Move cs files to ortools/*/csharp
- Move dotnet project to ortools/dotnet/Google.OrTools
- Move example generation to temp_dotnet
- Avoid to mess the `BIN_DIR`
- Rework Google.OrTools.FSharp
Cleanup:
- Remove deps to netfx.props since we only support:
netstandard2.0 TFM and netcoreapp2.1 Runtime TFM
- Remove OrTools.nuspec.in
-> use newly added properties to .csproj format
- Remove of ortools/dotnet/OrTools project
- replaced by ortools/dotnet/Google.OrTools
- Remove provided protobuf.dll.
- Automatically retrieved from nuget.org
Misc:
- Add **/*.csproj to gitignore
- Add **/runtime.json to gitignore
- dotnet: Makefile windows fix
- make.exe doesn't support `else ifeq`
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -97,7 +97,8 @@ ortools/fsharp/**/packages
|
||||
examples/dotnet/**/bin
|
||||
examples/dotnet/**/obj
|
||||
|
||||
ortools/dotnet/OrTools/*.csproj
|
||||
ortools/dotnet/*/*.csproj
|
||||
ortools/dotnet/*/runtime.json
|
||||
ortools/dotnet/OrTools.FSharp/*.fsproj
|
||||
ortools/dotnet/*.nuspec
|
||||
ortools/dotnet/**/bin
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<RestoreSources>../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json</RestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="a_puzzle.cs" />
|
||||
<Reference Include="Google.OrTools">
|
||||
<HintPath>..\..\..\bin\Google.OrTools.dll</HintPath>
|
||||
</Reference>
|
||||
<PackageReference Include="Google.OrTools" Version="6.8.*" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<LangVersion>7.2</LangVersion>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<RestoreSources>../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json</RestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
@@ -14,8 +15,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="tsp.cs" />
|
||||
<Reference Include="Google.OrTools">
|
||||
<HintPath>..\..\..\bin\Google.OrTools.dll</HintPath>
|
||||
</Reference>
|
||||
<PackageReference Include="Google.OrTools" Version="6.8.*" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@@ -10,25 +10,6 @@ else
|
||||
@echo
|
||||
endif
|
||||
|
||||
ORTOOLS_DLL_NAME := OrTools
|
||||
ORTOOLS_TEST_DLL_NAME := $(ORTOOLS_DLL_NAME).Tests
|
||||
ORTOOLS_FSHARP_DLL_NAME := $(ORTOOLS_DLL_NAME).FSharp
|
||||
ORTOOLS_FSHARP_TEST_DLL_NAME := $(ORTOOLS_DLL_NAME).FSharp.Tests
|
||||
|
||||
ORTOOLS_NUSPEC_FILE := $(ORTOOLS_DLL_NAME).nuspec
|
||||
|
||||
CLR_PROTOBUF_DLL_NAME := Google.Protobuf
|
||||
CLR_ORTOOLS_DLL_NAME := Google.$(ORTOOLS_DLL_NAME)
|
||||
CLR_ORTOOLS_TEST_DLL_NAME := Google.$(ORTOOLS_TEST_DLL_NAME)
|
||||
CLR_ORTOOLS_FSHARP_DLL_NAME := Google.$(ORTOOLS_FSHARP_DLL_NAME)
|
||||
CLR_ORTOOLS_FSHARP_TEST_DLL_NAME := Google.$(ORTOOLS_FSHARP_TEST_DLL_NAME)
|
||||
CLR_ORTOOLS_IMPORT_DLL_NAME := $(CLR_ORTOOLS_DLL_NAME).import
|
||||
CLR_KEYFILE = $(BIN_DIR)/or-tools.snk
|
||||
CLR_KEYFILE_PATH = $(subst /,$S,$(CLR_KEYFILE))
|
||||
|
||||
# relative to the project root folder
|
||||
TEMP_DOTNET_TEST_DIR = temp_dotnet_test
|
||||
|
||||
# Check for required build tools
|
||||
DOTNET = dotnet
|
||||
ifeq ($(SYSTEM),win)
|
||||
@@ -43,12 +24,16 @@ ifndef DOTNET_BIN
|
||||
HAS_DOTNET =
|
||||
endif
|
||||
|
||||
DOTNET_ORTOOLS_LIBS = $(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D $(BIN_DIR)/$(CLR_ORTOOLS_FSHARP_DLL_NAME)$D
|
||||
# List Examples and Tests
|
||||
TEMP_DOTNET_DIR=temp_dotnet
|
||||
|
||||
DOTNET_EXAMPLES = \
|
||||
$(BIN_DIR)/a_puzzle$D \
|
||||
$(BIN_DIR)/tsp$D \
|
||||
$(BIN_DIR)/Program$D
|
||||
$(TEMP_DOTNET_DIR)/tsp$D \
|
||||
$(TEMP_DOTNET_DIR)/a_puzzle$D \
|
||||
#$(TEMP_DOTNET_DIR)/Program$D
|
||||
|
||||
DOTNET_TESTS = \
|
||||
#$(TEMP_DOTNET_DIR)/algorithms_test$D
|
||||
|
||||
# Main target
|
||||
.PHONY: dotnet # Build OrTools for .NET
|
||||
@@ -57,182 +42,55 @@ ifndef HAS_DOTNET
|
||||
dotnet:
|
||||
@echo DOTNET_BIN = $(DOTNET_BIN)
|
||||
$(warning Cannot find '$@' command which is needed for build. Please make sure it is installed and in system path.)
|
||||
|
||||
test_dotnet: dotnet
|
||||
else
|
||||
dotnet: ortoolslibs $(DOTNET_ORTOOLS_LIBS) $(DOTNET_EXAMPLES)
|
||||
dotnet: \
|
||||
ortoolslibs \
|
||||
csharp_dotnet \
|
||||
fsharp_dotnet \
|
||||
$(DOTNET_TESTS) \
|
||||
$(DOTNET_EXAMPLES)
|
||||
|
||||
test_dotnet: test_dotnet_examples
|
||||
"$(DOTNET_BIN)" restore \
|
||||
--packages "ortools$Sdotnet$Spackages" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)$S$(ORTOOLS_TEST_DLL_NAME).csproj"
|
||||
"$(DOTNET_BIN)" restore \
|
||||
--packages "ortools$Sdotnet$Spackages" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)$S$(ORTOOLS_FSHARP_TEST_DLL_NAME).fsproj"
|
||||
$(MKDIR_P) .$S$(TEMP_DOTNET_TEST_DIR)
|
||||
$(COPY) $(BIN_DIR)$S$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX) .$S$(TEMP_DOTNET_TEST_DIR)
|
||||
"$(DOTNET_BIN)" clean \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)$S$(ORTOOLS_TEST_DLL_NAME).csproj"
|
||||
"$(DOTNET_BIN)" build \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_TEST_DIR)" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)$S$(ORTOOLS_TEST_DLL_NAME).csproj"
|
||||
"$(DOTNET_BIN)" clean \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)$S$(ORTOOLS_FSHARP_TEST_DLL_NAME).fsproj"
|
||||
"$(DOTNET_BIN)" build \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_TEST_DIR)" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)$S$(ORTOOLS_FSHARP_TEST_DLL_NAME).fsproj"
|
||||
"$(DOTNET_BIN)" test \
|
||||
--no-build -v n \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_TEST_DIR)" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)"
|
||||
"$(DOTNET_BIN)" test \
|
||||
--no-build -v n \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_TEST_DIR)" \
|
||||
"ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)"
|
||||
BUILT_LANGUAGES +=, dotnet \(netstandard2.0\)
|
||||
endif
|
||||
|
||||
# Assembly Info
|
||||
$(GEN_DIR)/ortools/properties:
|
||||
$(MKDIR_P) $(GEN_PATH)$Sortools$Sproperties
|
||||
$(PACKAGE_DIR):
|
||||
$(MKDIR_P) $(PACKAGE_DIR)
|
||||
|
||||
$(GEN_DIR)/ortools/properties/GitVersion$(OR_TOOLS_VERSION).txt: \
|
||||
| $(GEN_DIR)/ortools/properties
|
||||
@echo $(OR_TOOLS_VERSION) > $(GEN_PATH)$Sortools$Sproperties$SGitVersion$(OR_TOOLS_VERSION).txt
|
||||
$(TEMP_DOTNET_DIR):
|
||||
$(MKDIR_P) $(TEMP_DOTNET_DIR)
|
||||
|
||||
# Detect RuntimeIDentifier
|
||||
ifeq ($(OS),Windows)
|
||||
RUNTIME_IDENTIFIER=win-x64
|
||||
else
|
||||
ifeq ($(OS),Linux)
|
||||
RUNTIME_IDENTIFIER=linux-x64
|
||||
else
|
||||
ifeq ($(OS),Darwin)
|
||||
RUNTIME_IDENTIFIER=osx-x64
|
||||
else
|
||||
$(error OS unknown !)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# All libraries and dependecies
|
||||
DOTNET_ORTOOLS_SNK := $(BIN_DIR)/or-tools.snk
|
||||
DOTNET_ORTOOLS_SNK_PATH := $(subst /,$S,$(DOTNET_ORTOOLS_SNK))
|
||||
OR_TOOLS_ASSEMBLY_NAME := Google.OrTools
|
||||
OR_TOOLS_NATIVE_ASSEMBLY_NAME := runtime.$(RUNTIME_IDENTIFIER).$(OR_TOOLS_ASSEMBLY_NAME)
|
||||
OR_TOOLS_FSHARP_ASSEMBLY_NAME := $(OR_TOOLS_ASSEMBLY_NAME).FSharp
|
||||
DOTNET_ORTOOLS_NUPKG := $(PACKAGE_DIR)/$(OR_TOOLS_ASSEMBLY_NAME).$(OR_TOOLS_VERSION).nupkg
|
||||
DOTNET_ORTOOLS_NATIVE_NUPKG := $(PACKAGE_DIR)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(OR_TOOLS_VERSION).nupkg
|
||||
DOTNET_ORTOOLS_FSHARP_NUPKG := $(PACKAGE_DIR)/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).$(OR_TOOLS_VERSION).nupkg
|
||||
|
||||
.PHONY: csharp_dotnet # Build C# OR-Tools
|
||||
csharp_dotnet: $(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D $(BIN_DIR)/$(CLR_PROTOBUF_DLL_NAME)$D
|
||||
csharp_dotnet: $(DOTNET_ORTOOLS_NUPKG)
|
||||
|
||||
# Auto-generated code
|
||||
$(BIN_DIR)/$(CLR_PROTOBUF_DLL_NAME)$D: tools/dotnet/$(CLR_PROTOBUF_DLL_NAME)$D | $(BIN_DIR)
|
||||
$(COPY) tools$Sdotnet$S$(CLR_PROTOBUF_DLL_NAME)$D $(BIN_DIR)
|
||||
|
||||
$(GEN_DIR)/ortools/linear_solver/linear_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/linear_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(GLOP_DEPS) \
|
||||
$(LP_DEPS) \
|
||||
| $(GEN_DIR)/ortools/linear_solver
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_csharp_wrap.cc \
|
||||
-module operations_research_linear_solver \
|
||||
-namespace $(CLR_ORTOOLS_DLL_NAME).LinearSolver \
|
||||
-dllimport "$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Slinear_solver \
|
||||
$(SRC_DIR)$Sortools$Slinear_solver$Scsharp$Slinear_solver.i
|
||||
|
||||
$(OBJ_DIR)/swig/linear_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/linear_solver/linear_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Slinear_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/routing.i \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/constraint_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/functions.i \
|
||||
$(CP_DEPS) \
|
||||
| $(GEN_DIR)/ortools/constraint_solver
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc \
|
||||
-module operations_research_constraint_solver \
|
||||
-namespace $(CLR_ORTOOLS_DLL_NAME).ConstraintSolver \
|
||||
-dllimport "$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Sconstraint_solver \
|
||||
$(SRC_DIR)$Sortools$Sconstraint_solver$Scsharp$Srouting.i
|
||||
$(SED) -i -e 's/CSharp_new_Solver/CSharp_new_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_delete_Solver/CSharp_delete_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_Solver/CSharp_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_new_Constraint/CSharp_new_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_delete_Constraint/CSharp_delete_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_Constraint/CSharp_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
|
||||
$(OBJ_DIR)/swig/constraint_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sconstraint_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/algorithms/knapsack_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/algorithms/csharp/knapsack_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SRC_DIR)/ortools/algorithms/knapsack_solver.h \
|
||||
| $(GEN_DIR)/ortools/algorithms
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_csharp_wrap.cc \
|
||||
-module operations_research_algorithms \
|
||||
-namespace $(CLR_ORTOOLS_DLL_NAME).Algorithms \
|
||||
-dllimport "$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Salgorithms \
|
||||
$(SRC_DIR)$Sortools$Salgorithms$Scsharp$Sknapsack_solver.i
|
||||
|
||||
$(OBJ_DIR)/swig/knapsack_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/algorithms/knapsack_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sknapsack_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/graph/graph_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/graph/csharp/graph.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(GRAPH_DEPS) \
|
||||
| $(GEN_DIR)/ortools/graph $(GEN_DIR)/ortools/graph
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Sgraph$Sgraph_csharp_wrap.cc \
|
||||
-module operations_research_graph \
|
||||
-namespace $(CLR_ORTOOLS_DLL_NAME).Graph \
|
||||
-dllimport "$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Sgraph \
|
||||
$(SRC_DIR)$Sortools$Sgraph$Scsharp$Sgraph.i
|
||||
|
||||
$(OBJ_DIR)/swig/graph_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/graph/graph_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sgraph$Sgraph_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sgraph_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/sat/sat_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/sat/csharp/sat.i \
|
||||
$(SRC_DIR)/ortools/sat/swig_helper.h \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SAT_DEPS) \
|
||||
| $(GEN_DIR)/ortools/sat $(GEN_DIR)/ortools/sat
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Ssat$Ssat_csharp_wrap.cc \
|
||||
-module operations_research_sat \
|
||||
-namespace $(CLR_ORTOOLS_DLL_NAME).Sat \
|
||||
-dllimport "$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Ssat \
|
||||
$(SRC_DIR)$Sortools$Ssat$Scsharp$Ssat.i
|
||||
|
||||
$(OBJ_DIR)/swig/sat_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/sat/sat_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Ssat$Ssat_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Ssat_csharp_wrap.$O
|
||||
|
||||
# Protobufs
|
||||
# Protobufs generated code
|
||||
$(GEN_DIR)/ortools/constraint_solver/SearchLimit.pb.cs: \
|
||||
$(SRC_DIR)/ortools/constraint_solver/search_limit.proto \
|
||||
| $(GEN_DIR)/ortools/constraint_solver
|
||||
@@ -289,43 +147,147 @@ $(GEN_DIR)/ortools/sat/SatParameters.pb.cs: \
|
||||
--csharp_opt=file_extension=.pb.cs \
|
||||
$(SRC_DIR)$Sortools$Ssat$Ssat_parameters.proto
|
||||
|
||||
$(CLR_KEYFILE): $(SRC_DIR)/tools/dotnet/CreateSigningKey/CreateSigningKey.csproj | $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" run --project tools$Sdotnet$SCreateSigningKey$SCreateSigningKey.csproj $S$(CLR_KEYFILE_PATH)
|
||||
# Auto-generated rid dependent source code
|
||||
$(GEN_DIR)/ortools/linear_solver/linear_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/linear_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(GLOP_DEPS) \
|
||||
$(LP_DEPS) \
|
||||
| $(GEN_DIR)/ortools/linear_solver
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_csharp_wrap.cc \
|
||||
-module operations_research_linear_solver \
|
||||
-namespace $(OR_TOOLS_ASSEMBLY_NAME).LinearSolver \
|
||||
-dllimport "$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Slinear_solver \
|
||||
$(SRC_DIR)$Sortools$Slinear_solver$Scsharp$Slinear_solver.i
|
||||
|
||||
$(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_DLL_NAME)/$(ORTOOLS_DLL_NAME).csproj \
|
||||
$(OBJ_DIR)/swig/linear_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/linear_solver/linear_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Slinear_solver$Slinear_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Slinear_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/routing.i \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/constraint_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/functions.i \
|
||||
$(CP_DEPS) \
|
||||
| $(GEN_DIR)/ortools/constraint_solver
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc \
|
||||
-module operations_research_constraint_solver \
|
||||
-namespace $(OR_TOOLS_ASSEMBLY_NAME).ConstraintSolver \
|
||||
-dllimport "$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Sconstraint_solver \
|
||||
$(SRC_DIR)$Sortools$Sconstraint_solver$Scsharp$Srouting.i
|
||||
$(SED) -i -e 's/CSharp_new_Solver/CSharp_new_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_delete_Solver/CSharp_delete_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_Solver/CSharp_CpSolver/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_new_Constraint/CSharp_new_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_delete_Constraint/CSharp_delete_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
$(SED) -i -e 's/CSharp_Constraint/CSharp_CpConstraint/g' \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$S*cs \
|
||||
$(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.*
|
||||
|
||||
$(OBJ_DIR)/swig/constraint_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/constraint_solver/constraint_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sconstraint_solver$Sconstraint_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sconstraint_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/algorithms/knapsack_solver_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/algorithms/csharp/knapsack_solver.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SRC_DIR)/ortools/algorithms/knapsack_solver.h \
|
||||
| $(GEN_DIR)/ortools/algorithms
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_csharp_wrap.cc \
|
||||
-module operations_research_algorithms \
|
||||
-namespace $(OR_TOOLS_ASSEMBLY_NAME).Algorithms \
|
||||
-dllimport "$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Salgorithms \
|
||||
$(SRC_DIR)$Sortools$Salgorithms$Scsharp$Sknapsack_solver.i
|
||||
|
||||
$(OBJ_DIR)/swig/knapsack_solver_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/algorithms/knapsack_solver_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Salgorithms$Sknapsack_solver_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sknapsack_solver_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/graph/graph_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/graph/csharp/graph.i \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(GRAPH_DEPS) \
|
||||
| $(GEN_DIR)/ortools/graph $(GEN_DIR)/ortools/graph
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Sgraph$Sgraph_csharp_wrap.cc \
|
||||
-module operations_research_graph \
|
||||
-namespace $(OR_TOOLS_ASSEMBLY_NAME).Graph \
|
||||
-dllimport "$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Sgraph \
|
||||
$(SRC_DIR)$Sortools$Sgraph$Scsharp$Sgraph.i
|
||||
|
||||
$(OBJ_DIR)/swig/graph_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/graph/graph_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Sgraph$Sgraph_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Sgraph_csharp_wrap.$O
|
||||
|
||||
$(GEN_DIR)/ortools/sat/sat_csharp_wrap.cc: \
|
||||
$(SRC_DIR)/ortools/base/base.i \
|
||||
$(SRC_DIR)/ortools/sat/csharp/sat.i \
|
||||
$(SRC_DIR)/ortools/sat/swig_helper.h \
|
||||
$(SRC_DIR)/ortools/util/csharp/proto.i \
|
||||
$(SAT_DEPS) \
|
||||
| $(GEN_DIR)/ortools/sat $(GEN_DIR)/ortools/sat
|
||||
$(SWIG_BINARY) $(SWIG_INC) -I$(INC_DIR) -c++ -csharp \
|
||||
-o $(GEN_PATH)$Sortools$Ssat$Ssat_csharp_wrap.cc \
|
||||
-module operations_research_sat \
|
||||
-namespace $(OR_TOOLS_ASSEMBLY_NAME).Sat \
|
||||
-dllimport "$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX)" \
|
||||
-outdir $(GEN_PATH)$Sortools$Ssat \
|
||||
$(SRC_DIR)$Sortools$Ssat$Scsharp$Ssat.i
|
||||
|
||||
$(OBJ_DIR)/swig/sat_csharp_wrap.$O: \
|
||||
$(GEN_DIR)/ortools/sat/sat_csharp_wrap.cc \
|
||||
| $(OBJ_DIR)/swig
|
||||
$(CCC) $(CFLAGS) \
|
||||
-c $(GEN_PATH)$Sortools$Ssat$Ssat_csharp_wrap.cc \
|
||||
$(OBJ_OUT)$(OBJ_DIR)$Sswig$Ssat_csharp_wrap.$O
|
||||
|
||||
$(DOTNET_ORTOOLS_SNK): $(SRC_DIR)/tools/dotnet/CreateSigningKey/CreateSigningKey.csproj | $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" run --project tools$Sdotnet$SCreateSigningKey$SCreateSigningKey.csproj $S$(DOTNET_ORTOOLS_SNK_PATH)
|
||||
|
||||
$(LIB_DIR)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX): \
|
||||
$(OR_TOOLS_LIBS) \
|
||||
$(BIN_DIR)/$(CLR_PROTOBUF_DLL_NAME)$D \
|
||||
$(CLR_KEYFILE) \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/algorithms/IntArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/IntVarArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/IntervalVarArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/IntArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/NetDecisionBuilder.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/SolverHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/constraint_solver/ValCstPair.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/linear_solver/DoubleArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/linear_solver/LinearExpr.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/linear_solver/LinearConstraint.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/linear_solver/SolverHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/linear_solver/VariableHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/sat/CpModel.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/util/NestedArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/dotnet/OrTools/util/ProtoHelper.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/Model.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/SearchLimit.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/SolverParameters.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/RoutingParameters.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/RoutingEnums.pb.cs \
|
||||
$(GEN_DIR)/ortools/sat/CpModel.pb.cs \
|
||||
$(OBJ_DIR)/swig/linear_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/sat_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/constraint_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/knapsack_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)/swig/graph_csharp_wrap.$O \
|
||||
| $(BIN_DIR)
|
||||
| $(LIB_DIR)
|
||||
$(DYNAMIC_LD) \
|
||||
$(LD_OUT)$(BIN_DIR)$S$(CLR_ORTOOLS_IMPORT_DLL_NAME).$(SWIG_DOTNET_LIB_SUFFIX) \
|
||||
$(LD_OUT)$(LIB_DIR)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX) \
|
||||
$(OBJ_DIR)$Sswig$Slinear_solver_csharp_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Ssat_csharp_wrap.$O \
|
||||
$(OBJ_DIR)$Sswig$Sconstraint_solver_csharp_wrap.$O \
|
||||
@@ -333,41 +295,80 @@ $(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D: \
|
||||
$(OBJ_DIR)$Sswig$Sgraph_csharp_wrap.$O \
|
||||
$(OR_TOOLS_LNK) \
|
||||
$(OR_TOOLS_LDFLAGS)
|
||||
"$(DOTNET_BIN)" build -c Debug ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$S$(ORTOOLS_DLL_NAME).csproj
|
||||
ifeq ($(SYSTEM),win)
|
||||
$(COPY) ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$Sbin$Sx64$SDebug$Snetstandard2.0$S*.* $(BIN_DIR)
|
||||
else
|
||||
$(COPY) ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$Sbin$SDebug$Snetstandard2.0$S*.* $(BIN_DIR)
|
||||
endif
|
||||
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_DLL_NAME)/$(ORTOOLS_DLL_NAME).csproj: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_DLL_NAME)/$(ORTOOLS_DLL_NAME).csproj.in
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj.in
|
||||
$(SED) -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$S$(ORTOOLS_DLL_NAME).csproj.in \
|
||||
>ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$S$(ORTOOLS_DLL_NAME).csproj
|
||||
ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj.in \
|
||||
> ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj
|
||||
|
||||
$(DOTNET_ORTOOLS_NATIVE_NUPKG): \
|
||||
$(DOTNET_ORTOOLS_SNK) \
|
||||
$(LIB_DIR)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).$(SWIG_DOTNET_LIB_SUFFIX) \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)/$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj \
|
||||
$(SRC_DIR)/ortools/algorithms/csharp/IntArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/IntVarArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/IntervalVarArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/IntArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/NetDecisionBuilder.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/SolverHelper.cs \
|
||||
$(SRC_DIR)/ortools/constraint_solver/csharp/ValCstPair.cs \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/DoubleArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/LinearExpr.cs \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/LinearConstraint.cs \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/SolverHelper.cs \
|
||||
$(SRC_DIR)/ortools/linear_solver/csharp/VariableHelper.cs \
|
||||
$(SRC_DIR)/ortools/sat/csharp/CpModel.cs \
|
||||
$(SRC_DIR)/ortools/util/csharp/NestedArrayHelper.cs \
|
||||
$(SRC_DIR)/ortools/util/csharp/ProtoHelper.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/Model.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/SearchLimit.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/SolverParameters.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/RoutingParameters.pb.cs \
|
||||
$(GEN_DIR)/ortools/constraint_solver/RoutingEnums.pb.cs \
|
||||
$(GEN_DIR)/ortools/sat/CpModel.pb.cs \
|
||||
| $(PACKAGE_DIR)
|
||||
"$(DOTNET_BIN)" build ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj
|
||||
"$(DOTNET_BIN)" pack ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj
|
||||
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/$(OR_TOOLS_ASSEMBLY_NAME).csproj: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/$(OR_TOOLS_ASSEMBLY_NAME).csproj.in
|
||||
$(SED) -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \
|
||||
ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj.in \
|
||||
> ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj
|
||||
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/runtime.json: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/runtime.json.in
|
||||
$(SED) -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \
|
||||
ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$Sruntime.json.in \
|
||||
> ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$Sruntime.json
|
||||
|
||||
$(DOTNET_ORTOOLS_NUPKG): \
|
||||
$(DOTNET_ORTOOLS_NATIVE_NUPKG) \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/$(OR_TOOLS_ASSEMBLY_NAME).csproj \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_ASSEMBLY_NAME)/runtime.json \
|
||||
| $(PACKAGE_DIR)
|
||||
"$(DOTNET_BIN)" build ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj
|
||||
"$(DOTNET_BIN)" pack ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj
|
||||
|
||||
##############
|
||||
## FSHARP ##
|
||||
##############
|
||||
.PHONY: fsharp_dotnet # Build F# OR-Tools
|
||||
fsharp_dotnet: $(BIN_DIR)/$(CLR_ORTOOLS_FSHARP_DLL_NAME)$D
|
||||
fsharp_dotnet: $(DOTNET_ORTOOLS_FSHARP_NUPKG)
|
||||
|
||||
$(BIN_DIR)/$(CLR_ORTOOLS_FSHARP_DLL_NAME)$D: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_FSHARP_DLL_NAME)/$(ORTOOLS_FSHARP_DLL_NAME).fsproj \
|
||||
$(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D \
|
||||
| $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" build -c Debug ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$S$(ORTOOLS_FSHARP_DLL_NAME).fsproj
|
||||
ifeq ($(SYSTEM),win)
|
||||
$(COPY) ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$Sbin$Sx64$SDebug$Snetstandard2.0$S*.* $(BIN_DIR)
|
||||
else
|
||||
$(COPY) ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$Sbin$SDebug$Snetstandard2.0$S*.* $(BIN_DIR)
|
||||
endif
|
||||
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_FSHARP_DLL_NAME)/$(ORTOOLS_FSHARP_DLL_NAME).fsproj: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_FSHARP_DLL_NAME)/$(ORTOOLS_FSHARP_DLL_NAME).fsproj.in
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj: \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj.in
|
||||
$(SED) -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$S$(ORTOOLS_FSHARP_DLL_NAME).fsproj.in \
|
||||
>ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$S$(ORTOOLS_FSHARP_DLL_NAME).fsproj
|
||||
ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj.in \
|
||||
> ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj
|
||||
|
||||
$(DOTNET_ORTOOLS_FSHARP_NUPKG): \
|
||||
$(DOTNET_ORTOOLS_NUPKG) \
|
||||
$(SRC_DIR)/ortools/dotnet/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)/$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj \
|
||||
| $(PACKAGE_DIR)
|
||||
"$(DOTNET_BIN)" build ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj
|
||||
"$(DOTNET_BIN)" pack ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj
|
||||
|
||||
#####################
|
||||
## .NET Examples ##
|
||||
@@ -389,16 +390,27 @@ rdotnet: $(BIN_DIR)/$(EX_NAME)$D
|
||||
"$(DOTNET_BIN)" $(BIN_DIR)$S$(EX_NAME)$D
|
||||
endif # ifeq ($(EX),)
|
||||
|
||||
$(BIN_DIR)/%$D: $(DOTNET_EX_DIR)/csharp/%.csproj $(DOTNET_EX_DIR)/csharp/%.cs \
|
||||
$(BIN_DIR)/$(CLR_ORTOOLS_DLL_NAME)$D | $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" build -o "..$S..$S..$S$(BIN_DIR)" \
|
||||
$(TEMP_DOTNET_DIR)/%$D: \
|
||||
$(DOTNET_EX_DIR)/csharp/%.csproj \
|
||||
$(DOTNET_EX_DIR)/csharp/%.cs \
|
||||
$(DOTNET_ORTOOLS_NUPKG) \
|
||||
| $(TEMP_DOTNET_DIR)
|
||||
"$(DOTNET_BIN)" build \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_DIR)" \
|
||||
$(DOTNET_EX_PATH)$Scsharp$S$*.csproj
|
||||
|
||||
$(BIN_DIR)/%$D: $(DOTNET_EX_DIR)/fsharp/%.fsproj $(DOTNET_EX_DIR)/fsharp/%.fs \
|
||||
$(BIN_DIR)/$(CLR_ORTOOLS_FSHARP_DLL_NAME)$D | $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" build -o "..$S..$S..$S$(BIN_DIR)" \
|
||||
$(TEMP_DOTNET_DIR)/%$D: \
|
||||
$(DOTNET_EX_DIR)/fsharp/%.fsproj \
|
||||
$(DOTNET_EX_DIR)/fsharp/%.fs \
|
||||
$(DOTNET_ORTOOLS_FSHARP_NUPKG) \
|
||||
| $(BIN_DIR)
|
||||
"$(DOTNET_BIN)" build \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_DIR)" \
|
||||
$(DOTNET_EX_PATH)$Sfsharp$S$*.fsproj
|
||||
|
||||
rdotnet_%: $(DOTNET_EX_DIR)/csharp/%.csproj
|
||||
"$(DOTNET_BIN)" run --project $(DOTNET_EX_PATH)$Scsharp$S$*.csproj -- $(ARGS)
|
||||
|
||||
################
|
||||
## Cleaning ##
|
||||
################
|
||||
@@ -406,21 +418,18 @@ $(BIN_DIR)/%$D: $(DOTNET_EX_DIR)/fsharp/%.fsproj $(DOTNET_EX_DIR)/fsharp/%.fs \
|
||||
clean_dotnet:
|
||||
-$(DELREC) tools$Sdotnet$SCreateSigningKey$Sbin
|
||||
-$(DELREC) tools$Sdotnet$SCreateSigningKey$Sobj
|
||||
-$(DEL) $(CLR_KEYFILE_PATH)
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$S$(ORTOOLS_DLL_NAME).csproj
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_TEST_DLL_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$S$(ORTOOLS_FSHARP_DLL_NAME).fsproj
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(ORTOOLS_FSHARP_TEST_DLL_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$Spackages
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Scsharp$Sbin
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Scsharp$Sobj
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Sfsharp$Sobj
|
||||
-$(DEL) $(DOTNET_ORTOOLS_SNK_PATH)
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).csproj
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$Sruntime.json
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$Sobj
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).csproj
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$Sbin
|
||||
-$(DELREC) ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$Sobj
|
||||
-$(DELREC) $(PACKAGE_DIR)
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Salgorithms$S*.cs
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Salgorithms$S*csharp_wrap*
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Sgraph$S*.cs
|
||||
@@ -432,44 +441,36 @@ clean_dotnet:
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Ssat$S*.cs
|
||||
-$(DEL) $(GEN_PATH)$Sortools$Ssat$S*csharp_wrap*
|
||||
-$(DEL) $(OBJ_DIR)$Sswig$S*_csharp_wrap.$O
|
||||
-$(DEL) $(BIN_DIR)$S$(CLR_ORTOOLS_IMPORT_DLL_NAME).*
|
||||
-$(DEL) $(BIN_DIR)$S$(CLR_PROTOBUF_DLL_NAME).*
|
||||
-$(DEL) $(BIN_DIR)$S$(CLR_ORTOOLS_DLL_NAME).*
|
||||
-$(DEL) $(BIN_DIR)$S$(CLR_ORTOOLS_FSHARP_DLL_NAME).*
|
||||
-$(DEL) $(SRC_DIR)/ortools/dotnet/$(ORTOOLS_NUSPEC_FILE)
|
||||
-$(DEL) $(LIB_DIR)$S$(OR_TOOLS_NATIVE_ASSEMBLY_NAME).*
|
||||
-$(DEL) $(BIN_DIR)$S$(OR_TOOLS_ASSEMBLY_NAME).*
|
||||
-$(DEL) $(BIN_DIR)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).*
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Scsharp$Sbin
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Scsharp$Sobj
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Sfsharp$Sbin
|
||||
-$(DELREC) $(EX_PATH)$Sdotnet$Sfsharp$Sobj
|
||||
-$(DELREC) $(TEMP_DOTNET_DIR)
|
||||
-$(DELREC) $(TEMP_DOTNET_TEST_DIR)
|
||||
-@"$(DOTNET_BIN)" nuget locals all --clear
|
||||
|
||||
######################
|
||||
## Nuget artifact ##
|
||||
######################
|
||||
TEMP_DOTNET_DIR=temp_dotnet
|
||||
|
||||
$(TEMP_DOTNET_DIR):
|
||||
$(MKDIR_P) $(TEMP_DOTNET_DIR)
|
||||
|
||||
$(SRC_DIR)/ortools/dotnet/$(ORTOOLS_NUSPEC_FILE): $(SRC_DIR)/ortools/dotnet/$(ORTOOLS_NUSPEC_FILE).in
|
||||
$(SED) -e "s/@PROJECT_DLL_NAME@/$(CLR_ORTOOLS_DLL_NAME)/" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_NUSPEC_FILE).in \
|
||||
>ortools$Sdotnet$S$(ORTOOLS_NUSPEC_FILE)
|
||||
$(SED) -i -e "s/@PROJECT_VERSION@/$(OR_TOOLS_VERSION)/" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_NUSPEC_FILE)
|
||||
|
||||
.PHONY: nuget_archive # Build .Net "Google.OrTools" Nuget Package
|
||||
nuget_archive: dotnet $(SRC_DIR)/ortools/dotnet/$(ORTOOLS_NUSPEC_FILE) | $(TEMP_DOTNET_DIR)
|
||||
nuget_archive: dotnet | $(TEMP_DOTNET_DIR)
|
||||
"$(DOTNET_BIN)" publish -c Release --no-dependencies --no-restore -f netstandard2.0 \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_DIR)" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_DLL_NAME)$S$(ORTOOLS_DLL_NAME).csproj
|
||||
ortools$Sdotnet$S$(OR_TOOLS_ASSEMBLY_NAME)$S$(OR_TOOLS_ASSEMBLY_NAME).csproj
|
||||
"$(DOTNET_BIN)" publish -c Release --no-dependencies --no-restore -f netstandard2.0 \
|
||||
-o "..$S..$S..$S$(TEMP_DOTNET_DIR)" \
|
||||
ortools$Sdotnet$S$(ORTOOLS_FSHARP_DLL_NAME)$S$(ORTOOLS_FSHARP_DLL_NAME).fsproj
|
||||
ortools$Sdotnet$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME)$S$(OR_TOOLS_FSHARP_ASSEMBLY_NAME).fsproj
|
||||
"$(DOTNET_BIN)" pack -c Release \
|
||||
-o "..$S..$S..$S$(BIN_DIR)" \
|
||||
ortools$Sdotnet
|
||||
|
||||
.PHONY: nuget_upload # Upload Nuget Package
|
||||
nuget_upload: nuget_archive
|
||||
@echo Uploading Nuget package for "netstandard2".
|
||||
@echo Uploading Nuget package for "netstandard2.0".
|
||||
$(warning Not Implemented)
|
||||
|
||||
#############
|
||||
@@ -478,19 +479,17 @@ nuget_upload: nuget_archive
|
||||
.PHONY: detect_dotnet # Show variables used to build dotnet OR-Tools.
|
||||
detect_dotnet:
|
||||
@echo Relevant info for the dotnet build:
|
||||
@echo PROTOC = $(PROTOC)
|
||||
@echo DOTNET_BIN = $(DOTNET_BIN)
|
||||
@echo CLR_KEYFILE = $(CLR_KEYFILE)
|
||||
@echo SWIG_PYTHON_LIB_SUFFIX = $(SWIG_PYTHON_LIB_SUFFIX)
|
||||
@echo CLR_PROTOBUF_DLL_NAME = $(CLR_PROTOBUF_DLL_NAME)
|
||||
@echo CLR_ORTOOLS_IMPORT_DLL_NAME = $(CLR_ORTOOLS_IMPORT_DLL_NAME)
|
||||
@echo CLR_ORTOOLS_DLL_NAME = $(CLR_ORTOOLS_DLL_NAME)
|
||||
@echo CLR_ORTOOLS_FSHARP_DLL_NAME = $(CLR_ORTOOLS_FSHARP_DLL_NAME)
|
||||
@echo CLR_ORTOOLS_TEST_DLL_NAME = $(CLR_ORTOOLS_TEST_DLL_NAME)
|
||||
@echo CLR_ORTOOLS_FSHARP_TEST_DLL_NAME = $(CLR_ORTOOLS_FSHARP_TEST_DLL_NAME)
|
||||
@echo DOTNET_ORTOOLS_LIBS = $(DOTNET_ORTOOLS_LIBS)
|
||||
@echo NUGET_BIN = $(NUGET_BIN)
|
||||
@echo ORTOOLS_NUSPEC_FILE = $(ORTOOLS_NUSPEC_FILE)
|
||||
@echo PROTOC = $(PROTOC)
|
||||
@echo DOTNET_ORTOOLS_SNK = $(DOTNET_ORTOOLS_SNK)
|
||||
@echo SWIG_DOTNET_LIB_SUFFIX = $(SWIG_DOTNET_LIB_SUFFIX)
|
||||
@echo OR_TOOLS_NATIVE_ASSEMBLY_NAME = $(OR_TOOLS_NATIVE_ASSEMBLY_NAME)
|
||||
@echo DOTNET_ORTOOLS_NATIVE_NUPKG = $(DOTNET_ORTOOLS_NATIVE_NUPKG)
|
||||
@echo OR_TOOLS_ASSEMBLY_NAME = $(OR_TOOLS_ASSEMBLY_NAME)
|
||||
@echo DOTNET_ORTOOLS_NUPKG = $(DOTNET_ORTOOLS_NUPKG)
|
||||
@echo OR_TOOLS_FSHARP_ASSEMBLY_NAME = $(OR_TOOLS_FSHARP_ASSEMBLY_NAME)
|
||||
@echo DOTNET_ORTOOLS_FSHARP_NUPKG = $(DOTNET_ORTOOLS_FSHARP_NUPKG)
|
||||
ifeq ($(SYSTEM),win)
|
||||
@echo off & echo(
|
||||
else
|
||||
|
||||
@@ -254,12 +254,10 @@ test_java_examples: java
|
||||
$(MAKE) rjava_YoungTableaux
|
||||
|
||||
.PHONY: test_donet_examples
|
||||
test_dotnet_examples: dotnet
|
||||
# C# tests
|
||||
"$(DOTNET_BIN)" $(BIN_DIR)$Sa_puzzle$D
|
||||
"$(DOTNET_BIN)" $(BIN_DIR)$Stsp$D
|
||||
# F# tests
|
||||
"$(DOTNET_BIN)" $(BIN_DIR)$SProgram$D
|
||||
test_dotnet_examples: dotnet \
|
||||
rdotnet_a_puzzle \
|
||||
rdotnet_tsp \
|
||||
#rdotnet_Program
|
||||
|
||||
# csharp test
|
||||
.PHONY: test_csharp_examples
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyTitle>Google.OrTools.FSharp</AssemblyTitle>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<AssemblyName>Google.OrTools.FSharp</AssemblyName>
|
||||
|
||||
<!-- Nuget Properties-->
|
||||
<PackageId>Google.OrTools.FSharp</PackageId>
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<Authors>Google LLC</Authors>
|
||||
<Description>.NET F# wrapper for the Operations Research Tools project</Description>
|
||||
<Copyright>Copyright 2018 Google LLC</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://developers.google.com/optimization</PackageProjectUrl>
|
||||
<PackageTags>math;LinearSolver;ConstraintSolver;ConstraintProgramming</PackageTags>
|
||||
<PackageOutputPath>../../../packages</PackageOutputPath>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
|
||||
<AssemblyKeyFileAttribute>../../../bin/or-tools.snk</AssemblyKeyFileAttribute>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
|
||||
<!-- Build Properties -->
|
||||
<IncludeBuildOutput>true</IncludeBuildOutput>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
<UseSharedCompilation>false</UseSharedCompilation>
|
||||
<EnableDefaultCompileItems>true</EnableDefaultCompileItems>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<GenerateTailCalls>true</GenerateTailCalls>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RestoreSources>../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json</RestoreSources>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.OrTools" Version="@PROJECT_VERSION@" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
158
ortools/dotnet/Google.OrTools/Google.OrTools.csproj.in
Normal file
158
ortools/dotnet/Google.OrTools/Google.OrTools.csproj.in
Normal file
@@ -0,0 +1,158 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
|
||||
<AssemblyName>Google.OrTools</AssemblyName>
|
||||
|
||||
<!-- Nuget Properties-->
|
||||
<PackageId>Google.OrTools</PackageId>
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<Authors>Google LLC</Authors>
|
||||
<Description>.NET wrapper for the Operations Research Tools project</Description>
|
||||
<Copyright>Copyright 2018 Google LLC</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://developers.google.com/optimization</PackageProjectUrl>
|
||||
<PackageTags>native;math;LinearSolver;ConstraintSolver;ConstraintProgramming</PackageTags>
|
||||
<PackageOutputPath>../../../packages</PackageOutputPath>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
|
||||
<AssemblyOriginatorKeyFile>../../../bin/or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
|
||||
<!-- Build Properties -->
|
||||
<!-- we want to create a Meta-Project only referencing runtime Project(s) -->
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<ProduceReferenceAssembly>false</ProduceReferenceAssembly>
|
||||
<UseSharedCompilation>false</UseSharedCompilation>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Check at least one reference assembly has been generated -->
|
||||
<Target Name="ValidateRuntimeRef" BeforeTargets="Compile">
|
||||
<ItemGroup>
|
||||
<RefLinux Include="../runtime.linux-x64.Google.OrTools/bin/$(Configuration)/$(TargetFramework)/linux-x64/ref/*.dll" />
|
||||
<RefOsx Include="../runtime.osx-x64.Google.OrTools/bin/$(Configuration)/$(TargetFramework)/osx-x64/ref/*.dll" />
|
||||
<RefWin Include="../runtime.win-x64.Google.OrTools/bin/x64/$(Configuration)/$(TargetFramework)/win-x64/ref/*.dll" />
|
||||
</ItemGroup>
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.linux-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RefLinux)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.linux-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RefLinux)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.osx-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RefOsx)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.osx-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RefOsx)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.win-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RefWin)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="RefAssembly from runtime.win-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RefWin)')" />
|
||||
<Error
|
||||
Text="You must locally 'dotnet build' at least one runtime.{rid}.Google.OrTools Project."
|
||||
Condition="!Exists('@(RefLinux)') AND !Exists('@(RefOsx)') AND !Exists('@(RefWin)')" />
|
||||
</Target>
|
||||
|
||||
<!-- Need to copy one of the reference assembly generated -->
|
||||
<ItemGroup>
|
||||
<RefLinux Include="../runtime.linux-x64.Google.OrTools/bin/$(Configuration)/$(TargetFramework)/linux-x64/ref/*.dll" />
|
||||
<RefOsx Include="../runtime.osx-x64.Google.OrTools/bin/$(Configuration)/$(TargetFramework)/osx-x64/ref/*.dll" />
|
||||
<RefWin Include="../runtime.win-x64.Google.OrTools/bin/x64/$(Configuration)/$(TargetFramework)/win-x64/ref/*.dll" />
|
||||
<Content
|
||||
Include="@(RefLinux)"
|
||||
Condition="Exists('@(RefLinux)')">
|
||||
<PackagePath>ref/$(TargetFramework)/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content
|
||||
Include="@(RefOsx)"
|
||||
Condition="Exists('@(RefOsx)')">
|
||||
<PackagePath>ref/$(TargetFramework)/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content
|
||||
Include="@(RefWin)"
|
||||
Condition="Exists('@(RefWin)')">
|
||||
<PackagePath>ref/$(TargetFramework)/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Check at least one runtime package has been generated -->
|
||||
<Target Name="ValidateRuntimePack" BeforeTargets="GenerateNuspec">
|
||||
<ItemGroup>
|
||||
<RuntimeLinux Include="../../../packages/runtime.linux-x64.Google.OrTools.*.nupkg" />
|
||||
<RuntimeOsx Include="../../../packages/runtime.osx-x64.Google.OrTools.*.nupkg" />
|
||||
<RuntimeWin Include="../../../packages/runtime.win-x64.Google.OrTools.*.nupkg" />
|
||||
</ItemGroup>
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.linux-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RuntimeLinux)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.linux-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RuntimeLinux)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.osx-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RuntimeOsx)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.osx-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RuntimeOsx)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.win-x64.Google.OrTools: found"
|
||||
Condition="Exists('@(RuntimeWin)')" />
|
||||
<Message
|
||||
Importance="high"
|
||||
Text="Package runtime.win-x64.Google.OrTools: not found"
|
||||
Condition="!Exists('@(RuntimeWin)')" />
|
||||
<Error
|
||||
Text="You must locally 'dotnet pack' at least one runtime.{rid}.Google.OrTools Project."
|
||||
Condition="!Exists('@(RuntimeLinux)') AND !Exists('@(RuntimeOsx)') AND !Exists('@(RuntimeWin)')" />
|
||||
</Target>
|
||||
|
||||
<!-- Need to add some dependencies so Meta-Project will pull runtime Project(s) -->
|
||||
<PropertyGroup>
|
||||
<RestoreSources>../../../packages;$(RestoreSources);https://api.nuget.org/v3/index.json</RestoreSources>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="Exists('../../../packages/runtime.linux-x64.Google.OrTools.@PROJECT_VERSION@.nupkg')">
|
||||
<PackageReference Include="runtime.linux-x64.Google.OrTools" Version="@PROJECT_VERSION@" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="Exists('../../../packages/runtime.osx-x64.Google.OrTools.@PROJECT_VERSION@.nupkg')">
|
||||
<PackageReference Include="runtime.osx-x64.Google.OrTools" Version="@PROJECT_VERSION@" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="Exists('../../../packages/runtime.win-x64.Google.OrTools.@PROJECT_VERSION@.nupkg')">
|
||||
<PackageReference Include="runtime.win-x64.Google.OrTools" Version="@PROJECT_VERSION@" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimeLinux Include="../../../packages/runtime.linux-x64.Google.OrTools.*.nupkg" />
|
||||
<RuntimeOsx Include="../../../packages/runtime.osx-x64.Google.OrTools.*.nupkg" />
|
||||
<RuntimeWin Include="../../../packages/runtime.win-x64.Google.OrTools.*.nupkg" />
|
||||
<Content
|
||||
Include="runtime.json"
|
||||
Condition="Exists('@(RuntimeLinux)') AND Exists('@(RuntimeOsx)') AND Exists('@(RuntimeWin)')">
|
||||
<PackagePath>runtime.json</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
19
ortools/dotnet/Google.OrTools/runtime.json.in
Normal file
19
ortools/dotnet/Google.OrTools/runtime.json.in
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"runtimes": {
|
||||
"linux-x64": {
|
||||
"Google.OrTools": {
|
||||
"runtime.linux-x64.Google.OrTools": "@PROJECT_VERSION@"
|
||||
}
|
||||
},
|
||||
"osx-x64": {
|
||||
"Google.OrTools": {
|
||||
"runtime.osx-x64.Google.OrTools": "@PROJECT_VERSION@"
|
||||
}
|
||||
},
|
||||
"win-x64": {
|
||||
"Google.OrTools": {
|
||||
"runtime.win-x64.Google.OrTools": "@PROJECT_VERSION@"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<AssemblyName>Google.OrTools.FSharp.Tests</AssemblyName>
|
||||
<RootNamespace>Google.OrTools.FSharp.Tests</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Import Project="../netfx.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyTitle>Google.OrTools.FSharp</AssemblyTitle>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<AssemblyName>Google.OrTools.FSharp</AssemblyName>
|
||||
<NuspecFile>OrTools.FSharp.nuspec</NuspecFile>
|
||||
|
||||
<AssemblyOriginatorKeyFile>..\..\..\bin\or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<AssemblyVersion>@PROJECT_VERSION@</AssemblyVersion>
|
||||
<FileVersion>@PROJECT_VERSION@</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<GenerateTailCalls>true</GenerateTailCalls>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="OrTools.fs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="Google.OrTools">
|
||||
<HintPath>..\..\..\bin\Google.OrTools.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,7 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
|
||||
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
|
||||
<IsPackable>false</IsPackable>
|
||||
<AssemblyName>Google.OrTools.Tests</AssemblyName>
|
||||
<RootNamespace>Google.OrTools.Tests</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>@PROJECT_DLL_NAME@</id>
|
||||
<version>@PROJECT_VERSION@</version>
|
||||
<authors>Google Inc.</authors>
|
||||
<licenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</licenseUrl>
|
||||
<projectUrl>https://developers.google.com/optimization</projectUrl>
|
||||
<description>.NET wrapper for the Operations Research Tools project</description>
|
||||
<copyright>Copyright 2018 Google, Inc</copyright>
|
||||
<tags>Operations Research Math Linear Constraint Programming C# F# .NETStandard</tags>
|
||||
<references>
|
||||
<reference file="Google.OrTools.dll" />
|
||||
<reference file="Google.OrTools.FSharp.dll" />
|
||||
</references>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="../../temp_dotnet/**" target="lib/netstandard2.0"/>
|
||||
<file src="OrTools/bin/Release/netstandard2.0/*.*" target="lib/netstandard2.0"/>
|
||||
<file src="OrTools.FSharp/bin/Release/netstandard2.0/Google.OrTools.FSharp.*" target="lib/netstandard2.0"/>
|
||||
<file src="../../bin/Google.Protobuf.dll" target="lib/netstandard2.0"/>
|
||||
<file src="../../lib/*.*" target="lib/netstandard2.0" exclude="*.jar"/>
|
||||
<file src="../../dependencies/install/lib/*.*" target="lib/netstandard2.0" exclude="*.jar;*.la"/>
|
||||
<file src="../../dependencies/install/lib*/*.*" target="lib/netstandard2.0" exclude="*.jar;*.la"/>
|
||||
<file src="../../LICENSE-2.0.txt"/>
|
||||
<file src="../../examples/dotnet/**" target="examples" exclude="**/obj/**;**/bin/**"/>
|
||||
</files>
|
||||
</package>
|
||||
@@ -1,11 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Google.OrTools")]
|
||||
[assembly: AssemblyDescription(".NET Assembly for the Operations Research Tools project")]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("0a227c4c-8bb3-4db0-808f-55dae227d8c5")]
|
||||
@@ -1,52 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Import Project="..\netfx.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyTitle>Google.OrTools</AssemblyTitle>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<AssemblyName>Google.OrTools</AssemblyName>
|
||||
<UseSharedCompilation>False</UseSharedCompilation>
|
||||
<NuspecFile>..\OrTools.nuspec</NuspecFile>
|
||||
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<AssemblyVersion>@PROJECT_VERSION@</AssemblyVersion>
|
||||
<FileVersion>@PROJECT_VERSION@</FileVersion>
|
||||
|
||||
<RootNamespace>Google.OrTools</RootNamespace>
|
||||
|
||||
<AssemblyOriginatorKeyFile>..\..\..\bin\or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\ortools\gen\ortools\linear_solver\*.cs">
|
||||
<Link>linear_solver\%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="..\..\..\ortools\gen\ortools\constraint_solver\*.cs">
|
||||
<Link>constraint_solver\%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="..\..\..\ortools\gen\ortools\algorithms\*.cs">
|
||||
<Link>algorithms\%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="..\..\..\ortools\gen\ortools\graph\*.cs">
|
||||
<Link>graph\%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="..\..\..\ortools\gen\ortools\sat\*.cs">
|
||||
<Link>sat\%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.5.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,18 +1,15 @@
|
||||
# Google OrTools
|
||||
|
||||
## Pre-requisites
|
||||
- dotnet core 2.1
|
||||
- .NET framework (mono, net46x)
|
||||
- nuget
|
||||
- .Net Core SDK >= 2.1.302
|
||||
|
||||
## Build
|
||||
The library is compiled against `netstandard2.0`.
|
||||
|
||||
Either use the makefile or you can build in Visual Studio. The workflow is typically
|
||||
`make test_fsharp` which will build both C# and F# libraries in debug mode. The output will be placed in `<OR_ROOT>/dotnet-test` folder. All tests will be run based on this folder. When you are ready to package the application `make dotnet` will change the version and install a release version in `bin` and in `build`.
|
||||
`make test_dotnet` which will build both C# and F# libraries in debug mode. The output will be placed in `<OR_ROOT>/dotnet-test` folder. All tests will be run based on this folder. When you are ready to package the application `make dotnet` will change the version and install a release version in `bin` and in `build`.
|
||||
|
||||
## Examples
|
||||
|
||||
The Test projects show an example of building the application with `netcoreapp2.0`.
|
||||
|
||||
The F# example folder shows how to compile against the typical .NET Framework installed on machine. Before compiling be sure to run `nuget install -o ./packages` in the example folder.
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<!-- When compiling .NET SDK 2.0 projects targeting .NET 4.x on Mono using 'dotnet build' you -->
|
||||
<!-- have to teach MSBuild where the Mono copy of the reference asssemblies is -->
|
||||
<TargetIsMono Condition="$(TargetFramework.StartsWith('net4')) and '$(OS)' == 'Unix'">true</TargetIsMono>
|
||||
|
||||
<!-- Look in the standard install locations -->
|
||||
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/Library/Frameworks/Mono.framework/Versions/Current/lib/mono')">/Library/Frameworks/Mono.framework/Versions/Current/lib/mono</BaseFrameworkPathOverrideForMono>
|
||||
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/lib/mono')">/usr/lib/mono</BaseFrameworkPathOverrideForMono>
|
||||
<BaseFrameworkPathOverrideForMono Condition="'$(BaseFrameworkPathOverrideForMono)' == '' AND '$(TargetIsMono)' == 'true' AND EXISTS('/usr/local/lib/mono')">/usr/local/lib/mono</BaseFrameworkPathOverrideForMono>
|
||||
|
||||
<!-- If we found Mono reference assemblies, then use them -->
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net45'">$(BaseFrameworkPathOverrideForMono)/4.5-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net451'">$(BaseFrameworkPathOverrideForMono)/4.5.1-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net452'">$(BaseFrameworkPathOverrideForMono)/4.5.2-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net46'">$(BaseFrameworkPathOverrideForMono)/4.6-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net461'">$(BaseFrameworkPathOverrideForMono)/4.6.1-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net462'">$(BaseFrameworkPathOverrideForMono)/4.6.2-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net47'">$(BaseFrameworkPathOverrideForMono)/4.7-api</FrameworkPathOverride>
|
||||
<FrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != '' AND '$(TargetFramework)' == 'net471'">$(BaseFrameworkPathOverrideForMono)/4.7.1-api</FrameworkPathOverride>
|
||||
<EnableFrameworkPathOverride Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">true</EnableFrameworkPathOverride>
|
||||
|
||||
<!-- Add the Facades directory. Not sure how else to do this. Necessary at least for .NET 4.5 -->
|
||||
<AssemblySearchPaths Condition="'$(BaseFrameworkPathOverrideForMono)' != ''">$(FrameworkPathOverride)/Facades;$(AssemblySearchPaths)</AssemblySearchPaths>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,87 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<AssemblyName>Google.OrTools</AssemblyName>
|
||||
|
||||
<!-- Nuget Properties-->
|
||||
<PackageId>runtime.linux-x64.Google.OrTools</PackageId>
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<Authors>Google LLC</Authors>
|
||||
<Description>.NET native wrapper for the Operations Research Tools project</Description>
|
||||
<Copyright>Copyright 2018 Google LLC</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://developers.google.com/optimization</PackageProjectUrl>
|
||||
<PackageTags>native;math;LinearSolver;ConstraintSolver;ConstraintProgramming</PackageTags>
|
||||
<PackageOutputPath>../../../packages</PackageOutputPath>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
|
||||
<AssemblyOriginatorKeyFile>../../../bin/or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
|
||||
<!-- Build Properties -->
|
||||
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
||||
<UseSharedCompilation>false</UseSharedCompilation>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<BuildOutputTargetFolder>runtimes/$(RuntimeIdentifier)/lib</BuildOutputTargetFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="../../gen/ortools/algorithms/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../algorithms/csharp/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/graph/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../graph/csharp/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/linear_solver/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../linear_solver/csharp/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/constraint_solver/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../constraint_solver/csharp/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/sat/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../sat/csharp/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../util/csharp/*.cs">
|
||||
<Link>util/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<!-- Native library must be in native directory... -->
|
||||
<Content Include="../../../dependencies/install/lib/*.so*">
|
||||
<PackagePath>runtimes/linux-x64/native/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="../../../lib/runtime.linux-x64.Google.OrTools.so; ../../../lib/libortools.so">
|
||||
<PackagePath>runtimes/linux-x64/native/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.5.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,85 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<AssemblyName>Google.OrTools</AssemblyName>
|
||||
|
||||
<!-- Nuget Properties-->
|
||||
<PackageId>runtime.osx-x64.Google.OrTools</PackageId>
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<Authors>Google LLC</Authors>
|
||||
<Description>.NET native wrapper for the Operations Research Tools project</Description>
|
||||
<Copyright>Copyright 2018 Google LLC</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://developers.google.com/optimization</PackageProjectUrl>
|
||||
<PackageTags>native;math;LinearSolver;ConstraintSolver;ConstraintProgramming</PackageTags>
|
||||
<PackageOutputPath>../../../packages</PackageOutputPath>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
|
||||
<AssemblyOriginatorKeyFile>../../../bin/or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
||||
<UseSharedCompilation>false</UseSharedCompilation>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<BuildOutputTargetFolder>runtimes/$(RuntimeIdentifier)/lib</BuildOutputTargetFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="../../gen/ortools/algorithms/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../algorithms/csharp/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/graph/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../graph/csharp/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/linear_solver/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../linear_solver/csharp/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/constraint_solver/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../constraint_solver/csharp/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/sat/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../sat/csharp/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../util/csharp/*.cs">
|
||||
<Link>util/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<!-- Native library must be in native directory... -->
|
||||
<Content Include="../../../dependencies/install/lib/*.dylib*">
|
||||
<PackagePath>runtimes/osx-x64/native/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="../../../lib/runtime.osx-x64.Google.OrTools.dylib; ../../../lib/libortools.dylib">
|
||||
<PackagePath>runtimes/osx-x64/native/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.5.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,81 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Library</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<AssemblyName>Google.OrTools</AssemblyName>
|
||||
|
||||
<!-- Nuget Properties-->
|
||||
<PackageId>runtime.win-x64.Google.OrTools</PackageId>
|
||||
<Version>@PROJECT_VERSION@</Version>
|
||||
<Authors>Google LLC</Authors>
|
||||
<Description>.NET native wrapper for the Operations Research Tools project</Description>
|
||||
<Copyright>Copyright 2018 Google LLC</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/google/or-tools/blob/master/LICENSE-2.0.txt</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://developers.google.com/optimization</PackageProjectUrl>
|
||||
<PackageTags>native;math;LinearSolver;ConstraintSolver;ConstraintProgramming</PackageTags>
|
||||
<PackageOutputPath>../../../packages</PackageOutputPath>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
|
||||
<AssemblyOriginatorKeyFile>../../../bin/or-tools.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
|
||||
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
||||
<UseSharedCompilation>false</UseSharedCompilation>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
<BuildOutputTargetFolder>runtimes/$(RuntimeIdentifier)/lib</BuildOutputTargetFolder>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="../../gen/ortools/algorithms/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../algorithms/csharp/*.cs">
|
||||
<Link>algorithms/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/graph/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../graph/csharp/*.cs">
|
||||
<Link>graph/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/linear_solver/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../linear_solver/csharp/*.cs">
|
||||
<Link>linear_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/constraint_solver/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../constraint_solver/csharp/*.cs">
|
||||
<Link>constraint_solver/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../gen/ortools/sat/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
<Compile Include="../../sat/csharp/*.cs">
|
||||
<Link>sat/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<Compile Include="../../util/csharp/*.cs">
|
||||
<Link>util/%(Filename)%(Extension)</Link>
|
||||
</Compile>
|
||||
|
||||
<!-- Native library must be in native directory... -->
|
||||
<!-- On windows libortools is built as static -->
|
||||
<Content Include="../../../lib/runtime.win-x64.Google.OrTools.dll">
|
||||
<PackagePath>runtimes/win-x64/native/%(Filename)%(Extension)</PackagePath>
|
||||
<Pack>true</Pack>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Google.Protobuf" Version="3.5.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -16,7 +16,7 @@ namespace CreateSigningKey {
|
||||
}
|
||||
|
||||
public static byte[] GenerateStrongNameKeyPair() {
|
||||
using (var provider = new RSACryptoServiceProvider(1024)) {
|
||||
using (var provider = new RSACryptoServiceProvider(4096)) {
|
||||
return provider.ExportCspBlob(!provider.PublicOnly);
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user