From 8a57b608ad5d732f29a3d3da169b32d83600b42d Mon Sep 17 00:00:00 2001 From: "Michael Hirsch, Ph.D" Date: Sun, 15 Dec 2019 07:15:35 -0500 Subject: ci cmake: Windows link.exe skip due to symbol issues --- test cases/cmake/5 object library/main.cpp | 1 + test cases/cmake/5 object library/meson.build | 7 ++++--- .../cmake/5 object library/subprojects/cmObjLib/CMakeLists.txt | 2 +- test cases/cmake/5 object library/subprojects/cmObjLib/libA.cpp | 2 +- test cases/cmake/5 object library/subprojects/cmObjLib/libB.cpp | 2 +- test cases/cmake/6 object library no dep/main.cpp | 1 + test cases/cmake/6 object library no dep/meson.build | 7 ++++--- .../6 object library no dep/subprojects/cmObjLib/CMakeLists.txt | 2 +- .../cmake/6 object library no dep/subprojects/cmObjLib/libA.cpp | 2 +- .../cmake/6 object library no dep/subprojects/cmObjLib/libB.cpp | 2 +- 10 files changed, 16 insertions(+), 12 deletions(-) diff --git a/test cases/cmake/5 object library/main.cpp b/test cases/cmake/5 object library/main.cpp index 918f332..cdf54f1 100644 --- a/test cases/cmake/5 object library/main.cpp +++ b/test cases/cmake/5 object library/main.cpp @@ -6,4 +6,5 @@ using namespace std; int main(void) { cout << getLibStr() << " -- " << getZlibVers() << endl; + return EXIT_SUCCESS; } diff --git a/test cases/cmake/5 object library/meson.build b/test cases/cmake/5 object library/meson.build index 268c2be..c338136 100644 --- a/test cases/cmake/5 object library/meson.build +++ b/test cases/cmake/5 object library/meson.build @@ -1,12 +1,13 @@ -project('cmake_object_lib_test', ['c', 'cpp']) +project('cmake_object_lib_test', 'cpp') dep_test = dependency('ZLIB', method: 'cmake', required: false) if not dep_test.found() error('MESON_SKIP_TEST: zlib is not installed') endif -if build_machine.system() == 'windows' - error('MESON_SKIP_TEST: Windows is not supported because of symbol export problems') +cpp = meson.get_compiler('cpp') +if build_machine.system() == 'windows' and cpp.get_id() != 'gcc' + error('MESON_SKIP_TEST: Windows link.exe is not supported because of symbol export problems') endif cm = import('cmake') diff --git a/test cases/cmake/5 object library/subprojects/cmObjLib/CMakeLists.txt b/test cases/cmake/5 object library/subprojects/cmObjLib/CMakeLists.txt index a47fa59..062496e 100644 --- a/test cases/cmake/5 object library/subprojects/cmObjLib/CMakeLists.txt +++ b/test cases/cmake/5 object library/subprojects/cmObjLib/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.7) -project(cmObject) +project(cmObject CXX) find_package(ZLIB REQUIRED) diff --git a/test cases/cmake/5 object library/subprojects/cmObjLib/libA.cpp b/test cases/cmake/5 object library/subprojects/cmObjLib/libA.cpp index 3736b2c..1d579cf 100644 --- a/test cases/cmake/5 object library/subprojects/cmObjLib/libA.cpp +++ b/test cases/cmake/5 object library/subprojects/cmObjLib/libA.cpp @@ -1,5 +1,5 @@ #include "libA.hpp" -std::string getLibStr() { +std::string getLibStr(void) { return "Hello World"; } diff --git a/test cases/cmake/5 object library/subprojects/cmObjLib/libB.cpp b/test cases/cmake/5 object library/subprojects/cmObjLib/libB.cpp index b359c29..22fe7c2 100644 --- a/test cases/cmake/5 object library/subprojects/cmObjLib/libB.cpp +++ b/test cases/cmake/5 object library/subprojects/cmObjLib/libB.cpp @@ -1,6 +1,6 @@ #include "libB.hpp" #include -std::string getZlibVers() { +std::string getZlibVers(void) { return zlibVersion(); } diff --git a/test cases/cmake/6 object library no dep/main.cpp b/test cases/cmake/6 object library no dep/main.cpp index 918f332..cdf54f1 100644 --- a/test cases/cmake/6 object library no dep/main.cpp +++ b/test cases/cmake/6 object library no dep/main.cpp @@ -6,4 +6,5 @@ using namespace std; int main(void) { cout << getLibStr() << " -- " << getZlibVers() << endl; + return EXIT_SUCCESS; } diff --git a/test cases/cmake/6 object library no dep/meson.build b/test cases/cmake/6 object library no dep/meson.build index 7494fee..b2c66ed 100644 --- a/test cases/cmake/6 object library no dep/meson.build +++ b/test cases/cmake/6 object library no dep/meson.build @@ -1,7 +1,8 @@ -project('cmake_object_lib_test', ['c', 'cpp']) +project('cmake_object_lib_test', 'cpp') -if build_machine.system() == 'windows' - error('MESON_SKIP_TEST: Windows is not supported because of symbol export problems') +cpp = meson.get_compiler('cpp') +if build_machine.system() == 'windows' and cpp.get_id() != 'gcc' + error('MESON_SKIP_TEST: Windows link.exe is not supported because of symbol export problems') endif cm = import('cmake') diff --git a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/CMakeLists.txt b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/CMakeLists.txt index 5e0b0b1..9e136af 100644 --- a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/CMakeLists.txt +++ b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.7) -project(cmObject) +project(cmObject CXX) add_library(lib_obj OBJECT libA.cpp libB.cpp) add_library(lib_sha SHARED $) diff --git a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libA.cpp b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libA.cpp index 3736b2c..1d579cf 100644 --- a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libA.cpp +++ b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libA.cpp @@ -1,5 +1,5 @@ #include "libA.hpp" -std::string getLibStr() { +std::string getLibStr(void) { return "Hello World"; } diff --git a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libB.cpp b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libB.cpp index 187d10f..aa44816 100644 --- a/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libB.cpp +++ b/test cases/cmake/6 object library no dep/subprojects/cmObjLib/libB.cpp @@ -1,5 +1,5 @@ #include "libB.hpp" -std::string getZlibVers() { +std::string getZlibVers(void) { return "STUB"; } -- cgit v1.1