1# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2#
3# This file is part of the LibreOffice project.
4#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8#
9
10$(eval $(call gb_ExternalProject_ExternalProject,coinmp))
11
12$(eval $(call gb_ExternalProject_register_targets,coinmp,\
13	build \
14))
15
16ifeq ($(COM),MSC)
17$(call gb_ExternalProject_get_state_target,coinmp,build) :
18	$(call gb_Trace_StartRange,coinmp,EXTERNAL)
19	$(call gb_ExternalProject_run,build,\
20		MSBuild.exe CoinMP.sln /t:Build \
21			/p:Configuration=$(if $(MSVC_USE_DEBUG_RUNTIME),Debug,Release) \
22			/p:Platform=$(if $(filter INTEL,$(CPUNAME)),Win32,x64) \
23			$(if $(filter 160,$(VCVER)),/p:PlatformToolset=v142 /p:VisualStudioVersion=16.0 /ToolsVersion:Current) \
24			$(if $(filter 10,$(WINDOWS_SDK_VERSION)),/p:WindowsTargetPlatformVersion=$(UCRTVERSION)) \
25	,CoinMP/MSVisualStudio/v9)
26	$(call gb_Trace_EndRange,coinmp,EXTERNAL)
27
28else
29$(call gb_ExternalProject_get_state_target,coinmp,build) :
30	$(call gb_Trace_StartRange,coinmp,EXTERNAL)
31	+$(call gb_ExternalProject_run,build,\
32		$(gb_RUN_CONFIGURE) ./configure COIN_SKIP_PROJECTS="Data/Sample" \
33			$(if $(verbose),--disable-silent-rules,--enable-silent-rules) \
34			$(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
35			$(if $(DISABLE_DYNLOADING),--disable-shared) \
36			--disable-bzlib \
37			$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
38			--without-glpk \
39			--enable-dependency-linking F77=unavailable \
40			$(if $(filter LINUX,$(OS)), \
41				'LDFLAGS=-Wl$(COMMA)-z$(COMMA)origin \
42					-Wl$(COMMA)-rpath$(COMMA)\$$$$ORIGIN') \
43		&& $(MAKE) \
44		$(if $(filter MACOSX,$(OS)),&& $(PERL) \
45			$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
46			$(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbc.3.8.8.dylib \
47			$(EXTERNAL_WORKDIR)/Cbc/src/.libs/libCbcSolver.3.8.8.dylib \
48			$(EXTERNAL_WORKDIR)/Cgl/src/.libs/libCgl.1.8.5.dylib \
49			$(EXTERNAL_WORKDIR)/Clp/src/.libs/libClp.1.12.6.dylib \
50			$(EXTERNAL_WORKDIR)/Clp/src/OsiClp/.libs/libOsiClp.1.12.6.dylib \
51			$(EXTERNAL_WORKDIR)/CoinMP/src/.libs/libCoinMP.1.7.6.dylib \
52			$(EXTERNAL_WORKDIR)/CoinUtils/src/.libs/libCoinUtils.3.9.11.dylib \
53			$(EXTERNAL_WORKDIR)/Osi/src/Osi/.libs/libOsi.1.11.5.dylib) \
54	)
55	$(call gb_Trace_EndRange,coinmp,EXTERNAL)
56
57endif
58
59# vim: set noet sw=4 ts=4:
60