Skip to content

Commit

Permalink
make: refactor archive WIP (#3200)
Browse files Browse the repository at this point in the history
  • Loading branch information
Mizux committed Apr 4, 2022
1 parent 9e8b052 commit 8de49fa
Show file tree
Hide file tree
Showing 6 changed files with 213 additions and 113 deletions.
15 changes: 15 additions & 0 deletions cmake/cpp.cmake
Expand Up @@ -330,6 +330,21 @@ install(DIRECTORY ortools/constraint_solver/docs/
PATTERN "*.md")
endif()

#################
## C++ Package ##
#################
set(CPP_PROJECT_DIR ${PROJECT_BINARY_DIR}/cxx})

add_custom_command(
OUTPUT ${DOTNET_PROJECT_DIR}/timestamp
COMMENT "Generate C++ archive (${CPP_PROJECT_DIR}/timestamp)"
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})

add_custom_target(cpp_archive
DEPENDS
${CPP_PROJECT_DIR}/archive_timestamp
WORKING_DIRECTORY ${CPP_PROJECT_DIR})

############################
## Samples/Examples/Tests ##
############################
Expand Down
122 changes: 63 additions & 59 deletions makefiles/Makefile.archive.mk
Expand Up @@ -22,7 +22,7 @@ archive: $(INSTALL_DIR)$(ARCHIVE_EXT)
fz_archive: $(FZ_INSTALL_DIR)$(ARCHIVE_EXT)

.PHONY: data_archive # Create OR-Tools archive for data examples.
data_archive: $(DATA_INSTALL_DIR)$(ARCHIVE_EXT)
data_archive: $(INSTALL_DATA_NAME)$(ARCHIVE_EXT)

.PHONY: clean_archive # Clean Archive output from previous build.
clean_archive:
Expand All @@ -33,7 +33,7 @@ clean_archive:
-$(DELREC) $(TEMP_FZ_TEST_DIR)
-$(DEL) $(INSTALL_DIR)$(ARCHIVE_EXT)
-$(DEL) $(FZ_INSTALL_DIR)$(ARCHIVE_EXT)
-$(DEL) $(DATA_INSTALL_DIR)$(ARCHIVE_EXT)
-$(DEL) $(INSTALL_DATA_NAME)$(ARCHIVE_EXT)

$(TEMP_ARCHIVE_DIR):
$(MKDIR_P) $(TEMP_ARCHIVE_DIR)
Expand Down Expand Up @@ -88,29 +88,29 @@ $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java: | $(TEMP_ARCHIVE_DIR)/$(INSTAL
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava

define java-sample-archive =
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java/%/pom.xml: \
$$(TEMP_JAVA_DIR)/$1/%/pom.xml \
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java/%/pom.xml: \
$(TEMP_JAVA_DIR)/$1/%/pom.xml \
ortools/$1/samples/%.java \
| $$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
$$(COPY) $$(SRC_DIR)$$Sortools$$S$1$$Ssamples$$S$$*.java \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
$$(COPY) $$(TEMP_JAVA_DIR)$$S$1$$S$$*$$Spom.xml \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*
| $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*$S$(JAVA_SRC_PATH)
$(COPY) $(SRC_DIR)$Sortools$S$1$Ssamples$S$$*.java \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*$S$(JAVA_SRC_PATH)
$(COPY) $(TEMP_JAVA_DIR)$S$1$S$$*$Spom.xml \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*
endef

$(foreach sample,$(JAVA_SAMPLES),$(eval $(call java-sample-archive,$(sample))))

define java-example-archive =
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java/%/pom.xml: \
$$(TEMP_JAVA_DIR)/$1/%/pom.xml \
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java/%/pom.xml: \
$(TEMP_JAVA_DIR)/$1/%/pom.xml \
examples/$1/%.java \
| $$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/java
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
$$(COPY) $$(SRC_DIR)$$Sexamples$$S$1$$S$$*.java \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*$$S$$(JAVA_SRC_PATH)
$$(COPY) $$(TEMP_JAVA_DIR)$$S$1$$S$$*$$Spom.xml \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sjava$$S$$*
| $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/java
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*$S$(JAVA_SRC_PATH)
$(COPY) $(SRC_DIR)$Sexamples$S$1$S$$*.java \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*$S$(JAVA_SRC_PATH)
$(COPY) $(TEMP_JAVA_DIR)$S$1$S$$*$Spom.xml \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sjava$S$$*
endef

$(foreach example,$(JAVA_EXAMPLES),$(eval $(call java-example-archive,$(example))))
Expand Down Expand Up @@ -140,17 +140,17 @@ $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet: | $(TEMP_ARCHIVE_DIR)/$(INST
$(MKDIR) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet

define dotnet-sample-archive =
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/dotnet/%/plop: \
$$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet/%/plop: \
$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
ortools/$1/samples/%.cs \
| $$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/dotnet
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
$$(COPY) $$(SRC_DIR)$$Sortools$$S$1$$Ssamples$$S$$*.cs \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
$$(COPY) $$(TEMP_DOTNET_DIR)$$S$1$$S$$*$$S$$*.csproj \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
-$$(SED) -i -e 's/$$(BUILD_DIR)\/dotnet\///' \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*$$S$$*.csproj
| $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
$(COPY) $(SRC_DIR)$Sortools$S$1$Ssamples$S$$*.cs \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
$(COPY) $(TEMP_DOTNET_DIR)$S$1$S$$*$S$$*.csproj \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
-$(SED) -i -e 's/$(BUILD_DIR)\/dotnet\///' \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*$S$$*.csproj
endef

$(foreach sample,$(DOTNET_SAMPLES),$(eval $(call dotnet-sample-archive,$(sample))))
Expand All @@ -159,17 +159,17 @@ SAMPLE_DOTNET_FILES = \
$(addsuffix /plop,$(addprefix $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet/,$(basename $(notdir $(wildcard ortools/*/samples/*.cs)))))

define dotnet-example-archive =
$$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/dotnet/%/plop: \
$$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet/%/plop: \
$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
examples/$1/%.cs \
| $$(TEMP_ARCHIVE_DIR)/$$(INSTALL_DIR)/examples/dotnet
-$$(MKDIR_P) $$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
$$(COPY) $$(SRC_DIR)$$Sexamples$$S$1$$S$$*.cs \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
$$(COPY) $$(TEMP_DOTNET_DIR)$$S$1$$S$$*$$S$$*.csproj \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*
-$$(SED) -i -e 's/$$(BUILD_DIR)\/dotnet\///' \
$$(TEMP_ARCHIVE_DIR)$$S$$(INSTALL_DIR)$$Sexamples$$Sdotnet$$S$$*$$S$$*.csproj
| $(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/dotnet
-$(MKDIR_P) $(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
$(COPY) $(SRC_DIR)$Sexamples$S$1$S$$*.cs \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
$(COPY) $(TEMP_DOTNET_DIR)$S$1$S$$*$S$$*.csproj \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*
-$(SED) -i -e 's/$(BUILD_DIR)\/dotnet\///' \
$(TEMP_ARCHIVE_DIR)$S$(INSTALL_DIR)$Sexamples$Sdotnet$S$$*$S$$*.csproj
endef

$(foreach example,$(DOTNET_EXAMPLES),$(eval $(call dotnet-example-archive,$(example))))
Expand Down Expand Up @@ -223,36 +223,36 @@ else
endif
# -$(DELREC) $(TEMP_FZ_DIR)

$(DATA_INSTALL_DIR)$(ARCHIVE_EXT):
$(INSTALL_DATA_NAME)$(ARCHIVE_EXT):
-$(DELREC) $(TEMP_DATA_DIR)
-$(MKDIR) $(TEMP_DATA_DIR)
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Set_jobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Sflexible_jobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Sjobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Smultidim_knapsack
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Scvrptw
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Spdptw
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Sfill_a_pix
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Sminesweeper
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Srogo
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Ssurvo_puzzle
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Squasigroup_completion
-$(MKDIR) $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)$Sexamples$Sdata$Sdiscrete_tomography
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Set_jobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Sflexible_jobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Sjobshop
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Smultidim_knapsack
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Scvrptw
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Spdptw
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Sfill_a_pix
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Sminesweeper
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Srogo
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Ssurvo_puzzle
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Squasigroup_completion
-$(MKDIR) $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)$Sexamples$Sdata$Sdiscrete_tomography
#credits
$(COPY) LICENSE $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)
$(COPY) LICENSE $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)
$(TAR) -c -v \
--exclude *svn* \
--exclude *roadef* \
--exclude *vector_packing* \
--exclude *nsplib* \
examples$Sdata | $(TAR) -xvm -C $(TEMP_DATA_DIR)$S$(DATA_INSTALL_DIR)
examples$Sdata | $(TAR) -xvm -C $(TEMP_DATA_DIR)$S$(INSTALL_DATA_NAME)
ifeq ($(PLATFORM),WIN64)
cd $(TEMP_DATA_DIR) && ..$S$(ZIP) -r ..$S$(DATA_INSTALL_DIR)$(ARCHIVE_EXT) $(DATA_INSTALL_DIR)
cd $(TEMP_DATA_DIR) && ..$S$(ZIP) -r ..$S$(INSTALL_DATA_NAME)$(ARCHIVE_EXT) $(INSTALL_DATA_NAME)
else
$(TAR) -C $(TEMP_DATA_DIR) --no-same-owner -czvf $(DATA_INSTALL_DIR)$(ARCHIVE_EXT) $(DATA_INSTALL_DIR)
$(TAR) -C $(TEMP_DATA_DIR) --no-same-owner -czvf $(INSTALL_DATA_NAME)$(ARCHIVE_EXT) $(INSTALL_DATA_NAME)
endif
# -$(DELREC) $(TEMP_DATA_DIR)

Expand Down Expand Up @@ -309,7 +309,11 @@ detect_archive:
@echo TEMP_FZ_DIR = $(TEMP_FZ_DIR)
@echo FZ_INSTALL_DIR = $(FZ_INSTALL_DIR)
@echo TEMP_DATA_DIR = $(TEMP_DATA_DIR)
@echo DATA_INSTALL_DIR = $(DATA_INSTALL_DIR)
@echo INSTALL_CPP_NAME = $(INSTALL_CPP_NAME)
@echo INSTALL_DOTNET_NAME = $(INSTALL_DOTNET_NAME)
@echo INSTALL_JAVA_NAME = $(INSTALL_JAVA_NAME)
@echo INSTALL_PYTHON_NAME = $(INSTALL_PYTHON_NAME)
@echo INSTALL_DATA_NAME = $(INSTALL_DATA_NAME)
@echo ARCHIVE_EXT = $(ARCHIVE_EXT)
ifeq ($(PLATFORM),WIN64)
@echo off & echo(
Expand Down
70 changes: 16 additions & 54 deletions makefiles/Makefile.cpp.mk
Expand Up @@ -349,18 +349,18 @@ endif
## Test targets ##
####################

.PHONY: test_cc_algorithms_samples # Build and Run all C++ Algorithms Samples (located in ortools/algorithms/samples)
test_cc_algorithms_samples: \
.PHONY: test_cpp_algorithms_samples # Build and Run all C++ Algorithms Samples (located in ortools/algorithms/samples)
test_cpp_algorithms_samples: \
rcpp_knapsack \
rcpp_simple_knapsack_program

.PHONY: test_cc_graph_samples # Build and Run all C++ Graph Samples (located in ortools/graph/samples)
test_cc_graph_samples: \
.PHONY: test_cpp_graph_samples # Build and Run all C++ Graph Samples (located in ortools/graph/samples)
test_cpp_graph_samples: \
rcpp_simple_max_flow_program \
rcpp_simple_min_cost_flow_program

.PHONY: test_cc_constraint_solver_samples # Build and Run all C++ CP Samples (located in ortools/constraint_solver/samples)
test_cc_constraint_solver_samples: \
.PHONY: test_cpp_constraint_solver_samples # Build and Run all C++ CP Samples (located in ortools/constraint_solver/samples)
test_cpp_constraint_solver_samples: \
rcpp_minimal_jobshop_cp \
rcpp_nurses_cp \
rcpp_rabbits_and_pheasants_cp \
Expand All @@ -385,8 +385,8 @@ test_cc_constraint_solver_samples: \
rcpp_vrp_time_windows \
rcpp_vrp_with_time_limit

.PHONY: test_cc_linear_solver_samples # Build and Run all C++ LP Samples (located in ortools/linear_solver/samples)
test_cc_linear_solver_samples: \
.PHONY: test_cpp_linear_solver_samples # Build and Run all C++ LP Samples (located in ortools/linear_solver/samples)
test_cpp_linear_solver_samples: \
rcpp_assignment_mip \
rcpp_basic_example \
rcpp_bin_packing_mip \
Expand All @@ -402,8 +402,8 @@ test_cc_linear_solver_samples: \
test_cc_model_builder_samples: \


.PHONY: test_cc_sat_samples # Build and Run all C++ Sat Samples (located in ortools/sat/samples)
test_cc_sat_samples: \
.PHONY: test_cpp_sat_samples # Build and Run all C++ Sat Samples (located in ortools/sat/samples)
test_cpp_sat_samples: \
rcpp_assignment_sat \
rcpp_assumptions_sample_sat \
rcpp_binpacking_problem_sat \
Expand All @@ -428,12 +428,12 @@ test_cc_sat_samples: \

.PHONY: check_cpp_pimpl
check_cpp_pimpl: \
test_cc_algorithms_samples \
test_cc_constraint_solver_samples \
test_cc_graph_samples \
test_cc_linear_solver_samples \
test_cc_model_builder_samples \
test_cc_sat_samples \
test_cpp_algorithms_samples \
test_cpp_constraint_solver_samples \
test_cpp_graph_samples \
test_cpp_linear_solver_samples \
test_cpp_model_builder_samples \
test_cpp_sat_samples \
\
rcpp_linear_programming \
rcpp_constraint_programming_cp \
Expand Down Expand Up @@ -564,44 +564,6 @@ else
$(TAR) --no-same-owner -czvf $(INSTALL_CPP_NAME)$(ARCHIVE_EXT) $(INSTALL_CPP_NAME)
endif






#################
## Packaging ##
#################
TEMP_PACKAGE_CC_DIR = temp_package_cc

$(TEMP_PACKAGE_CC_DIR):
-$(MKDIR_P) $(TEMP_PACKAGE_CC_DIR)

$(TEMP_PACKAGE_CC_DIR)/$(INSTALL_DIR): | $(TEMP_PACKAGE_CC_DIR)
$(MKDIR) $(TEMP_PACKAGE_CC_DIR)$S$(INSTALL_DIR)

package_cc: cpp | $(TEMP_PACKAGE_CC_DIR)/$(INSTALL_DIR)
ifeq ($(PLATFORM),WIN64)
cd $(TEMP_PACKAGE_CC_DIR)\$(INSTALL_DIR) && \
..\..\$(TAR) -C ..\.. -c -v include | ..\..\$(TAR) xvm
cd $(TEMP_PACKAGE_CC_DIR)\$(INSTALL_DIR) && \
..\..\$(TAR) -C ..\.. -c -v lib | ..\..\$(TAR) xvm
cd $(TEMP_PACKAGE_CC_DIR)\$(INSTALL_DIR) && \
..\..\$(TAR) -C ..\.. -c -v share | ..\..\$(TAR) xvm
else
cd $(TEMP_PACKAGE_CC_DIR)/$(INSTALL_DIR) && \
tar -C ../.. -c -v include | tar xvm
cd $(TEMP_PACKAGE_CC_DIR)/$(INSTALL_DIR) && \
tar -C ../.. -c -v lib | tar xvm
cd $(TEMP_PACKAGE_CC_DIR)/$(INSTALL_DIR) && \
tar -C ../.. -c -v share | tar xvm
endif
ifeq ($(PLATFORM),WIN64)
cd $(TEMP_PACKAGE_CC_DIR) && ..$S$(ZIP) -r ..$S$(INSTALL_DIR)$(ARCHIVE_EXT) $(INSTALL_DIR)
else
$(TAR) -C $(TEMP_PACKAGE_CC_DIR) --no-same-owner -czvf $(INSTALL_DIR)$(ARCHIVE_EXT) $(INSTALL_DIR)
endif

###############
## INSTALL ##
###############
Expand Down
60 changes: 60 additions & 0 deletions makefiles/Makefile.dotnet.mk
Expand Up @@ -464,6 +464,65 @@ test_dotnet: \
test_dotnet_contrib \
test_dotnet_dotnet

###############
## Archive ##
###############
.PHONY: archive_dotnet # Add C++ OR-Tools to archive.
archive_dotnet: $(INSTALL_DOTNET_NAME)$(ARCHIVE_EXT)

$(INSTALL_DOTNET_NAME):
$(MKDIR) $(INSTALL_DOTNET_NAME)

$(INSTALL_DOTNET_NAME)/examples: | $(INSTALL_DOTNET_NAME)
$(MKDIR) $(INSTALL_DOTNET_NAME)$Sexamples

define dotnet-sample-archive =
$(INSTALL_DOTNET_NAME)/examples/%/CMakeLists.txt: \
$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
$(SRC_DIR)/ortools/$1/samples/%.cs \
| $(INSTALL_DOTNET_NAME)/examples
-$(MKDIR_P) $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
$(COPY) $(SRC_DIR)$Sortools$S$1$Ssamples$S$$*.cs $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
$(COPY) $(TEMP_DOTNET_DIR)$S$1$S$$*$SCMakeLists.txt $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
endef

$(foreach sample,$(DOTNET_SAMPLES),$(eval $(call dotnet-sample-archive,$(sample))))

define dotnet-example-archive =
$(TEMP_ARCHIVE_DIR)/$(INSTALL_DIR)/examples/%/CMakeLists.txt: \
$(TEMP_DOTNET_DIR)/$1/%/%.csproj \
$(SRC_DIR)/examples/$1/%.cs \
| $(INSTALL_DOTNET_NAME)/examples
-$(MKDIR_P) $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
$(COPY) $(SRC_DIR)$Sexamples$S$1$S$$*.cs $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
$(COPY) $(TEMP_DOTNET_DIR)$S$1$S$$*$SCMakeLists.txt $(INSTALL_DOTNET_NAME)$Sexamples$S$$*
endef

$(foreach example,$(DOTNET_EXAMPLES),$(eval $(call dotnet-example-archive,$(example))))

SAMPLE_DOTNET_FILES = \
$(addsuffix /CMakeLists.txt,$(addprefix $(INSTALL_DOTNET_NAME)/examples/,$(basename $(notdir $(wildcard ortools/*/samples/*.cs)))))

EXAMPLE_DOTNET_FILES = \
$(addsuffix /CMakeLists.txt,$(addprefix $(INSTALL_DOTNET_NAME)/examples/,$(basename $(notdir $(wildcard examples/contrib/*.cs))))) \
$(addsuffix /CMakeLists.txt,$(addprefix $(INSTALL_DOTNET_NAME)/examples/,$(basename $(notdir $(wildcard examples/dotnet/*.cs)))))

$(INSTALL_DOTNET_NAME)$(ARCHIVE_EXT): dotnet \
$(SAMPLE_DOTNET_FILES) \
$(EXAMPLE_DOTNET_FILES)
$(COPY) $(BUILD_DIR)$Sdotnet$Spackages$S*.nupkg $(INSTALL_DOTNET_NAME)
$(COPY) LICENSE $(INSTALL_JAVA_NAME)
ifeq ($(PLATFORM),WIN64)
$(ZIP) -r $(INSTALL_DOTNET_NAME)$(ARCHIVE_EXT) $(INSTALL_DOTNET_NAME)
else
$(TAR) --no-same-owner -czvf $(INSTALL_DOTNET_NAME)$(ARCHIVE_EXT) $(INSTALL_DOTNET_NAME)
endif






#######################
## EXAMPLE ARCHIVE ##
#######################
Expand Down Expand Up @@ -595,6 +654,7 @@ endif # HAS_DOTNET=ON
clean_dotnet:
# -$(DEL) $(DOTNET_ORTOOLS_SNK_PATH)
-$(DELREC) $(TEMP_DOTNET_DIR)
-$(DELREC) $(INSTALL_DOTNET_NAME)
-$(DEL) *.nupkg
-$(DEL) *.snupkg
-@"$(DOTNET_BIN)" nuget locals all --clear
Expand Down

0 comments on commit 8de49fa

Please sign in to comment.