xamarin-macios/tests/mac-binding-project/Makefile

97 строки
5.5 KiB
Makefile
Исходник Обычный вид История

TOP=../..
2016-05-26 16:06:52 +03:00
include $(TOP)/Make.config
export MD_APPLE_SDK_ROOT=$(shell dirname `dirname $(XCODE_DEVELOPER_ROOT)`)
export TargetFrameworkFallbackSearchPaths=$(MAC_DESTDIR)/Library/Frameworks/Mono.framework/External/xbuild-frameworks
export MSBuildExtensionsPathFallbackPathsOverride=$(MAC_DESTDIR)/Library/Frameworks/Mono.framework/External/xbuild
2016-05-26 16:06:52 +03:00
export XamarinMacFrameworkRoot=$(MAC_DESTDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current
export XAMMAC_FRAMEWORK_PATH=$(MAC_DESTDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current
# VSfM sets XCODE_DEVELOPER_DIR_PATH, which confuses the command-line tools if it doesn't match xcode-select, so just unset it.
unexport XCODE_DEVELOPER_DIR_PATH
bin:
$(Q) mkdir -p bin
2016-05-26 16:06:52 +03:00
bin/SimpleClassDylib.dylib: bin
$(Q) xcrun clang -shared ../common/mac/SimpleClass.m -o bin/SimpleClassDylib.dylib -std=gnu99 -mmacosx-version-min=10.9 -framework Cocoa -lSystem
2016-05-26 16:06:52 +03:00
bin/SimpleClass\ Dylib.dylib: bin/SimpleClassDylib.dylib
$(Q) cp bin/SimpleClassDylib.dylib bin/SimpleClass\ Dylib.dylib
bin/SimpleClass.%.a: ../common/mac/SimpleClass.m bin
$(Q) clang -c $< -o bin/SimpleClass.$*.o -std=gnu99 -mmacosx-version-min=10.9 -arch $*
$(Q) xcrun ar -rcs $@ bin/SimpleClass.$*.o
bin/SimpleClassStatic.a: bin bin/SimpleClass.i386.a bin/SimpleClass.x86_64.a
$(Q) lipo -create bin/SimpleClass.i386.a bin/SimpleClass.x86_64.a -output $@
2016-05-26 16:06:52 +03:00
bin/Mobile-dynamic/MobileBinding.dll: bin/SimpleClassDylib.dylib
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_dynamic.csproj
2016-05-26 16:06:52 +03:00
bin/Mobile-dynamic-newstyle/MobileBinding.dll: bin/SimpleClassDylib.dylib
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_dynamic_newstyle.csproj
2016-05-26 16:06:52 +03:00
bin/Mobile-dynamic-spaces/Mobile\ Binding.dll: bin/SimpleClass\ Dylib.dylib
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_dynamic_spaces.csproj
2016-05-26 16:06:52 +03:00
bin/Mobile-static/MobileBinding.dll: bin/SimpleClassStatic.a
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_static.csproj
2016-05-26 16:06:52 +03:00
bin/Mobile-static-newstyle/MobileBinding.dll: bin/SimpleClassStatic.a
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_static_newstyle.csproj
2016-05-26 16:06:52 +03:00
bin/Mobile-framework/MobileBinding.dll:
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileBinding/MobileBinding_framework.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-static/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-static/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_static.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-static-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-static-newstyle/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_static_newstyle.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-withLinker/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-static/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_WithLinker.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-dynamic/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-dynamic/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_dynamic.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-dynamic-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-dynamic-newstyle/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_dynamic_newstyle.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-dynamic-spaces/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-dynamic-spaces/Mobile\ Binding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_dynamic_spaces.csproj
2016-05-26 16:06:52 +03:00
bin/MobileTest-framework/MobileTestApp.app/Contents/MacOS/MobileTestApp: bin/Mobile-framework/MobileBinding.dll
Move tests to use new tool xibuild and thus fix msbuild tests (#5128) * xibuild: New wrapper tool to run msbuild or managed executables MSBuild supports fallback paths for projects imported using `$(MSBuildExtensionsPath)`, but these must be specified explicitly in the app.config of the main executable. There was a PR to allow use of properties for this in the app.config, but that was not accepted upstream. This is required for being able to: 1. build projects with msbuild against the in-tree XI/XM build output 2. and to run nunit tests against the same. For this we introduce a new tool, `xibuild`, based on XA's `xabuild`. This supports the fallback paths to be specified via the environment variable `MSBuildExtensionsPathFallbackPathsOverride`[1]. It essentially operates in 3 modes: 1. `xibuild -c /path/to/foo.exe` Generates /path/to/foo.exe.config with the fallback paths inserted into that. 2. `xibuild -- /v:diag /path/to/project.csproj` Runs msbuild with the arguments after `--` with a custom app.config based on `MSBuild.dll.config`, with the fallback paths correctly inserted. This is in a temporary file and the original config file is not touched. 3. `xibuild -t -- /path/to/managed_tool.exe args` Generates `/path/to/managed_tool.exe.config` based on `MSBuild.dll.config` with the fallback paths inserted, and runs `managed_tool.exe` with the arguments. The default is to overwrite the config file. But there is also a switch to merge it with an existing config file. -- 1. Value of the environment variable $MSBuildExtensionsPathFallbackPathsOverride is prepended to any existing list of search paths in `MSBuild.dll.config`, IOW, it takes precedence. So, the order of lookup becomes: - Value of the property `$(MSBuildExtensionsPath)` - Value of the environment variable `$MSBuildExtensionsPathFallbackPathsOverride` - /Library/Frameworks/Mono.framework/External/xbuild on macOS * Integrate use of `xibuild` with the tests Update all uses of `msbuild` and invocations of tools like nunit that might depend on using the in-tree builds to use `xibuild`. * xibuild: Move help descriptions to OptionSet itself.
2018-11-16 22:24:35 +03:00
$(Q) $(SYSTEM_XIBUILD) -- $(XBUILD_VERBOSITY) MobileTestApp/MobileTestApp_framework.csproj
2016-05-26 16:06:52 +03:00
test-static:: bin/MobileTest-static/MobileTestApp.app/Contents/MacOS/MobileTestApp bin/MobileTest-static-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp
2016-05-26 16:06:52 +03:00
$(Q) ./bin/MobileTest-static/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
$(Q) ./bin/MobileTest-static-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
test-dynamic:: bin/MobileTest-dynamic/MobileTestApp.app/Contents/MacOS/MobileTestApp bin/MobileTest-dynamic-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp bin/MobileTest-dynamic-spaces/MobileTestApp.app/Contents/MacOS/MobileTestApp
2016-05-26 16:06:52 +03:00
$(Q) ./bin/MobileTest-dynamic/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
$(Q) test -e bin/MobileTest-dynamic/MobileTestApp.app/Contents/MonoBundle/SimpleClassDylib.dylib
$(Q) ./bin/MobileTest-dynamic-newstyle/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
$(Q) test -e bin/MobileTest-dynamic-newstyle/MobileTestApp.app/Contents/MonoBundle/SimpleClassDylib.dylib
$(Q) ./bin/MobileTest-dynamic-spaces/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
$(Q) test -e bin/MobileTest-dynamic-spaces/MobileTestApp.app/Contents/MonoBundle/SimpleClass\ Dylib.dylib
test-framework:: bin/MobileTest-framework/MobileTestApp.app/Contents/MacOS/MobileTestApp
2016-05-26 16:06:52 +03:00
$(Q) test -e bin/MobileTest-framework/MobileTestApp.app/Contents/Frameworks/iTunesLibrary.framework
test-withLinker:: bin/MobileTest-withLinker/MobileTestApp.app/Contents/MacOS/MobileTestApp
2016-05-26 16:06:52 +03:00
$(Q) ./bin/MobileTest-withLinker/MobileTestApp.app/Contents/MacOS/MobileTestApp 2>&1 | grep 42 > /dev/null
all-local:: test-static test-dynamic test-framework test-withLinker
clean-local::
$(Q) rm -rf ./bin ./obj