From f8eb80b5e88fd751fe85a46690685d13b2ca66f8 Mon Sep 17 00:00:00 2001 From: Viktor Gal Date: Wed, 9 Jan 2019 12:57:41 +0100 Subject: [PATCH] add windows c# ci job fix #4184 --- .ci/ci.yml | 30 ++++++++++++++++++++++++++++ .ci/windows-steps.yml | 2 +- cmake/FindCSharp.cmake | 2 +- examples/meta/csharp/CMakeLists.txt | 2 +- src/interfaces/csharp/CMakeLists.txt | 2 +- 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/.ci/ci.yml b/.ci/ci.yml index dd6357a32b1..746103a3d50 100644 --- a/.ci/ci.yml +++ b/.ci/ci.yml @@ -165,3 +165,33 @@ jobs: steps: - template: ./windows-steps.yml + +- job: windows_swig + displayName: Windows SWIG Interface + dependsOn: windows_libshogun + timeoutInMinutes: 120 + + pool: + vmImage: 'vs2017-win2016' + + strategy: + matrix: + csharp: + cmakeOptions: '$(commonSWIGCMakeFlags) -DINTERFACE_CSHARP=ON' + interfaceName: 'csharp' + + variables: + targetPrefix: '$(Build.BinariesDirectory)\\opt' + libshogunArtifactName: 'libshogun-vs17' + libshogunArchive: '$(Build.ArtifactStagingDirectory)/libshogun-$(Build.BuildId).tar.gz' + commonSWIGCMakeFlags: '-DLIBSHOGUN=OFF -DDISABLE_UNIT_TESTS=ON -DDISABLE_META_CPP=ON' + clcacheDir: 'C:\\Users\\VssAdministrator\\clcache' + clcacheArtifactName: 'clcache-$(interfaceName)' + clcacheArchive: '$(Build.ArtifactStagingDirectory)/clcache-$(Build.BuildId).tar.gz' + buildConfiguration: Release + buildPlatform: x64 + + steps: + - template: ./windows-steps.yml + parameters: + swig: true diff --git a/.ci/windows-steps.yml b/.ci/windows-steps.yml index 4e5dd68ef17..7ef83702c57 100644 --- a/.ci/windows-steps.yml +++ b/.ci/windows-steps.yml @@ -45,7 +45,7 @@ steps: displayName: 'Build ($(buildConfiguration) $(buildPlatform))' workingDirectory: $(Build.SourcesDirectory)\build -- script: ctest -j 2 +- script: ctest --output-on-failure -j 2 displayName: Test workingDirectory: $(Build.SourcesDirectory)\build diff --git a/cmake/FindCSharp.cmake b/cmake/FindCSharp.cmake index 10b7fd55bc3..3aaa1dc4126 100644 --- a/cmake/FindCSharp.cmake +++ b/cmake/FindCSharp.cmake @@ -64,7 +64,7 @@ endif( ) FIND_PACKAGE_HANDLE_STANDARD_ARGS(CSharp FOUND_VAR CSHARP_FOUND - REQUIRED_VARS CSHARP_TYPE CSHARP_COMPILER CSHARP_INTERPRETER + REQUIRED_VARS CSHARP_TYPE CSHARP_COMPILER VERSION_VAR CSHARP_VERSION) mark_as_advanced( CSHARP_TYPE CSHARP_VERSION CSHARP_COMPILER CSHARP_INTERPRETER CSHARP_PLATFORM CSHARP_SDK ) diff --git a/examples/meta/csharp/CMakeLists.txt b/examples/meta/csharp/CMakeLists.txt index cfe7f9b69af..5e8e7bcc6ac 100644 --- a/examples/meta/csharp/CMakeLists.txt +++ b/examples/meta/csharp/CMakeLists.txt @@ -13,7 +13,7 @@ FOREACH(META_EXAMPLE ${META_EXAMPLES}) set(CSHARP_META_EXAMPLE_SOURCE ${CMAKE_BINARY_DIR}/examples/meta/csharp/${EXAMPLE_REL_DIR}/${EXAMPLE_NAME}.cs) ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR}/${EXAMPLE_NAME}.exe - COMMAND ${CSHARP_COMPILER} ${EXAMPLE_NAME}.cs ${CSHARP_FLAGS} -out:${EXAMPLE_NAME}.exe + COMMAND ${CSHARP_COMPILER} ${CSHARP_FLAGS} -out:${EXAMPLE_NAME}.exe ${EXAMPLE_NAME}.cs DEPENDS interface_csharp shogun::shogun meta_examples ${CSHARP_META_EXAMPLE_SOURCE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR}) diff --git a/src/interfaces/csharp/CMakeLists.txt b/src/interfaces/csharp/CMakeLists.txt index 2384ed5a5d4..7618b745819 100644 --- a/src/interfaces/csharp/CMakeLists.txt +++ b/src/interfaces/csharp/CMakeLists.txt @@ -7,7 +7,7 @@ GENERATE_INTERFACE_TARGET(csharp ${CMAKE_CURRENT_SOURCE_DIR} "") ADD_CUSTOM_COMMAND(TARGET interface_csharp POST_BUILD - COMMAND "${CSHARP_COMPILER}" /t:library *.cs /out:shogun.dll + COMMAND "${CSHARP_COMPILER}" /t:library /out:shogun.dll *.cs COMMENT "Creating shogun.dll") IF(NOT CSHARP_INSTALL_DIR) SET(CSHARP_INSTALL_DIR "lib/cli/shogun")