53 Commits

Author SHA1 Message Date
Ayush Joshi
ca3ffd90f2 FIX #2174 -- remove DEBUG_POSTFIX
while this is not synced with the pkg-config file, it only breaks things

Fix #2174

Signed-off-by: Ayush Joshi <ayush854032@gmail.com>
2022-01-13 21:24:56 +05:30
Derek Mauro
c58f562fa2 Makes the Python imports consistently use full paths from the repository root,
unifying the behavior between Bazel and CMake

This fixes one of the CI failures on Windows

PiperOrigin-RevId: 417872531
Change-Id: I156989323b7e6d4a4420f4f9691b078829db933d
2021-12-22 13:01:24 -08:00
dmauro
f7902802f1 Googletest export
Remove -Werror from the CMake compiler flags

We should not force warnings as errors on users.
Sometimes compilers introduce new warnings which
will break builds.

Instead, we manually turn this flag on in our continuous integration
scripts so we can catch these errors, but not force them on our users.

Fixes #3447

PiperOrigin-RevId: 380241852
2021-06-22 13:30:21 +00:00
Dino Radaković
6c5c4554ac Merge pull request #3155 from ZedThree:cmake-alias-libraries
PiperOrigin-RevId: 365572439
2021-03-29 21:29:19 -07:00
Abseil Team
1a8ecf1813 Googletest export
Print std::u8string, std::u16string, and std::u32string as string literals

Previously, these types were printed as "{ U+123, U+456, U+789 }". However,
printed output in that form is difficult to compare against any literals that
might be defined in code. Instead, just treat these types like std::string
and std::wstring, escaping non-ASCII characters with a hexadecimal escape
sequence.

The tests have also been updated to cover the new functionality: as a bonus,
the tests now also pass with the MSVC toolchain.

Internally, the code has been reorganized to primarily operate in terms of
char32_t, under the assumption that char32_t will always be at least as big
as wchar_t. While that assumption is currently true, perhaps it won't be in
the future...

PiperOrigin-RevId: 364033132
2021-03-22 15:18:50 -04:00
Be
497db77a0a
remove -Zi from MSVC compiler options
This is incompatible with compiler caches such as sccache and
clcache. If a project including Google Test specifies /Z7 instead,
building fails with:

sccache C:\PROGRA~2\MICROS~1\2019\ENTERP~1\VC\Tools\MSVC\1428~1.293\bin\Hostx64\x64\cl.exe  /nologo /TP -D__SSE2__ -D__SSE__ -I..\lib\googletest-1.10.x\googlemock\include -I..\lib\googletest-1.10.x\googlemock -I..\lib\googletest-1.10.x\googletest\include -I..\lib\googletest-1.10.x\googletest /DWIN32 /D_WINDOWS /W4 /GR  /MD /Z7 /O2 /Ob1 /DNDEBUG -GS -W4 -WX -wd4251 -wd4275 -nologo -J -Zi -D_UNICODE -DUNICODE -DWIN32 -D_WIN32 -DSTRICT -DWIN32_LEAN_AND_MEAN -wd4702 -DGTEST_HAS_PTHREAD=0 -EHsc -D_HAS_EXCEPTIONS=1  /Gy /showIncludes /Folib\googletest-1.10.x\googlemock\CMakeFiles\gmock_main.dir\src\gmock-all.cc.obj /Fdbin\gmock_main.pdb /FS -c ..\lib\googletest-1.10.x\googlemock\src\gmock-all.cc
FAILED: lib/googletest-1.10.x/googlemock/CMakeFiles/gmock_main.dir/src/gmock-all.cc.obj
..\lib\googletest-1.10.x\googletest\src\gtest-all.cc: fatal error C1041: cannot open program database 'D:\a\mixxx\mixxx\build\bin\gmock_main.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
cl : Command line warning D9025 : overriding '/Z7' with '/Zi'
2021-02-25 18:19:43 -06:00
Peter Hill
2292b6d856 CMake: Add namespaced ALIAS library
Fixes #3125
2020-12-04 17:21:19 +00:00
Gennadiy Rozental
60b8906d14 Merge pull request #3114 from marbre:FindPython
PiperOrigin-RevId: 342977338
2020-11-24 03:46:09 -05:00
dmauro
336fd36fee Googletest export
Rollback change from
https://github.com/google/googletest/pull/1836. This change generates
a script on Windows to actually run each test, but the script itself
doesn't correctly report if the test passed.

This change will "break tests" that were already broken on Windows,
but weren't being reported as such.

PiperOrigin-RevId: 341850671
2020-11-12 13:32:03 -05:00
Marius Brehler
826e9f25a1 Refactor finding python
Use `find_package(Python ..)` if available, instead of the deprecated
`find_package(PythonInterp)` CMake module.
2020-11-11 16:12:11 +01:00
Olivier Ldff
131878ce9e use target_compile_features to use c++11 if cmake > 3.8
If target_compile_features is available and cxx_std_11.
This fix compilation with clang and gcc when c++11 isn't specified by user.
2020-07-02 09:36:22 +02:00
Matthias Walter
e580d99193 Setting CMP0054 policy to NEW. This allows to use the string "SHARED" without interpreting it as a variable. 2019-06-12 23:50:01 +02:00
Enji Cooper
3829b84e99 clang: fix -Wsign-conversion errors
Cast some values as their unsigned equivalents or `size_t` to match the
parameter type used for the template object under test. Also, provide
UInt32 equivalent delegate methods for some callers (with
int-equivalents for backwards compatibility).

This closes #2146.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-05 21:30:19 -07:00
Gennadiy Civil
5ba69d5cb9 Merge pull request #2148 from ngie-eign:clang-add-explicit-c++11-rtti-flag
PiperOrigin-RevId: 242038269
2019-04-05 11:46:13 -04:00
Enji Cooper
7475ba5039 clang: explicitly enable/disable RTTI support with the compiler
Add `-frtti` to the compiler with the base flags case so that RTTI is
enabled by default with clang. Add its inverse analog,
`cxx_no_rtti_flags` in order to test the case with RTTI off, similar to
gcc.

This reduces the amount of testing/support overhead needed in the
non-RTTI case with clang, as the tests currently fail when these two
features are off with version 1.8.1. This something I used in when
investigating test failures on FreeBSD, as the tests that rely on
RTTI were failing with googletest 1.8.1 on the OS platform.

More investigation is being done to determine how this should be fixed
on FreeBSD 11.2-RELEASE with ports, as the package doesn't currently
compile the tests, and when enabled (based on my WIP diff), the tests
fail in similar ways.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-04-03 21:09:20 -07:00
Gennadiy Civil
b6473fcf90 Merge pull request #2126 from ngie-eign:clang-add-more-strict-warnings
PiperOrigin-RevId: 235220570
2019-02-22 16:18:28 -05:00
Enji Cooper
fcf59ca7bf Ignore -Wsign-conversion issues
clang++ compilation when `-Wsign-conversion` is currently broken and the
issues within the code are varied and widespread. For the time being
ignore `-Wsign-conversion` issues, even though some of them are valid
and bleed over into issues that would be found with
`-Wtautological-compare`, et al.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-18 19:19:34 -08:00
Enji Cooper
a4af76cf8c Add cxx_strict_flags for clang to match FreeBSD's WARNS flags
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-13 14:38:49 -08:00
Enji Cooper
1ded83195d Compile clang with -Wall -Wshadow -Werror
It was not compiling any of the code with warnings prior to this.

Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
2019-02-12 16:45:40 -08:00
Hugo Lindström
718bb65acf Avoid dynamic/static runtime linking (LNK4098) by properly replacing MD(d)->MT(d) in both C and CXX flags, resolves 2074 2019-01-28 21:07:41 +01:00
Lukas Mosimann
ce526b8700 Issue #1955: Remove THREADS_PREFER_PTHREAD_FLAG 2018-11-22 08:19:56 +01:00
Robin Lindén
4802133690
Add back warning suppression that shouldn't have been removed 2018-11-10 16:14:19 +01:00
Robin Lindén
826656b25f
Remove workarounds for unsupported MSVC versions 2018-11-10 15:20:26 +01:00
David Neto
ad997b16b5 Merge 4c92120d6dedb4eeb499a8702faea0224e0a8b23 into 658c6390a5b363f46c6ad448ad1bce9d6e97e53a
Closes #1893

PiperOrigin-RevId: 216712426
2018-10-11 12:52:55 -04:00
Abseil Team
7d3b73c85a Unconditionally use std::tuple.
Remove all mention of TR1 tuple and our own implementation of tuple.

PiperOrigin-RevId: 216395043
2018-10-09 16:25:58 -04:00
Matthieu
f5260ae757 Merge c798e39a4f96f5a985126cc3fab4738b6412cfc1 into e93da23920e5b6887d6a6a291c3a59f83f5b579e
Closes #1836

PiperOrigin-RevId: 215461025
2018-10-02 17:41:16 -04:00
Jacob Schloss
6de39826aa
Merge branch 'master' into issue_1735 2018-08-22 12:55:43 -07:00
Jacob Schloss
6e79801645 It seems like CMAKE_CXX_FLAGS is getting double appended when building as a nested cmake project,
which breaks my build as gcc does not allow -specs=nosys.specs to be called multiple times.

Removing this fixes it and seems to keep the same compile options, just removing the duplicate definition.
2018-08-22 11:17:32 -07:00
Stefano Soffia
aff0379441 Install CMake export files
Rework of the closed pull request #768
2018-08-22 17:27:11 +02:00
Gennadiy Civil
a9bd428e72
Merge branch 'master' into fix-msvc-d9025-warning 2018-08-17 11:48:56 -04:00
Gennadiy Civil
11f5a2740a
Merge branch 'master' into cross-testing-patch-1 2018-08-08 12:19:04 -07:00
Piotr Kąkol
309e8a271e Updated broken and outdated URLs 2018-07-25 19:19:26 +02:00
Wojciech Kaluza
421e7b4f29 Remove default /EHsc compiler flag
This prevents warning D9025 (one command-line option overrides
another) on MSVC builds: some test targets are built with
the /EHs-c- which conflicts with /EHsc.
2018-07-11 22:54:05 +01:00
Derek Mauro
d772e2039b Pass the --no_stacktrace_support argument to the CMake tests
This does the same thing to the CMake tests that is done to the
Bazel tests, and now makes the CMake tests pass.
2018-07-10 15:39:23 -04:00
Gennadiy Civil
66d71756a7
Merge branch 'master' into debug-postfix 2018-02-28 08:43:57 -05:00
Gennadiy Civil
d4f77c1e3a
Merge branch 'master' into win-libcxx2 2018-02-27 10:00:29 -05:00
David Neto
20074be19a Use DEBUG_POSTFIX instead of CMAKE_DEBUG_POSTFIX
CMAKE_DEBUG_POSTFIX is a global configuration parameter, and
changing it pollutes the configuration space for other projects
that enclose this project.

DEBUG_POSTFIX is better to use since it is a target-specific poperty.

Fixes #1334
Fixes #1268
2018-02-26 15:58:49 -05:00
Stefano Soffia
b8ac390a57 Fix test build issue with GCC7.2. 2018-01-25 23:19:57 +01:00
Peter Collingbourne
f915530791 Pass -EHs-c- to disable exceptions with MSVC. 2018-01-25 14:15:43 -08:00
Arkadiy Shapkin
2641b021fc Fix tests with VS2015 and VS2017 2017-10-25 16:04:01 +03:00
Herbert Thielen
bc60b5a827 Merge branch 'master' into hethi/travis-release-build 2017-09-07 11:05:28 +02:00
Herbert Thielen
520ad96b78 treat all warnings as errors for GCC (-Werror) 2017-09-01 21:55:26 +02:00
Roman Lebedev
1a62d1b088
CMake: use threads if allowed and found, not just if found.
If the user's cmakelists.txt first look for threads using
find_package(Threads), then set(gtest_disable_pthreads ON),
and then include googletest. GoogleTest will not look for
threads. But since they have already been found before in
user's cmakelists, it will use them regardless.

This helped me fix build issue in darktable-org/rawspeed
on windows/MSYS2, even though there are threads, and they
are usable, googletest build was failing with issues
about AutoHandle. I was first looking for threads, and only
then including googletest, so no matter the value of
gtest_disable_pthreads, it failed.

The other obvious solution is for user to first include
googletest, and only then look for threads by himself.
2017-09-01 21:02:59 +03:00
Herbert Thielen
9ba7946bde create different python based tests for single and multi configuration build generators 2017-08-30 19:17:26 +02:00
Herbert Thielen
47ad2993b6 Revert "ask cmake for per-configuration output subdir"
This reverts commit 73d58dd4c83883b46697798e978d576b28b1d24e.

Unfortunately, ${CMAKE_CFG_INTDIR} is set during build only and doesn't
help here.
2017-08-30 15:14:34 +02:00
Herbert Thielen
73d58dd4c8 ask cmake for per-configuration output subdir
On single-configuration build systems as Makefile Generators, there is
no subdirectory for the configuration in the build tree - therefore ask
cmake for the subdir by using CMAKE_CFG_INTDIR, which is just '.' on
single-configuration build systems (Linux et al.).
2017-08-30 12:59:06 +02:00
Herbert Thielen
7529c8aa05 remove obsolete comment regarding python tests on linux 2017-08-30 12:48:28 +02:00
David Seifert
8604c4adac Add support for pkgconfig 2017-08-14 13:45:56 +02:00
Martin Oberhuber
008e54c1dd Fix #923 - support CMAKE_CROSSCOMPILING_EMULATOR for tests
Replaced legacy syntax of cmake add_test() with more modern syntax.
This allows running gtests's own tests on remote (cross) systems
using CMAKE_CROSSCOMPILING_EMULATOR with cmake-3.3 or newer.
2016-11-05 09:25:59 +01:00
Billy Donahue
ed9d1e1ff9 Merge pull request #721 from ilmagico/fix-mingw-threads
Fix compilation of googletest with MinGW using Win32 threads
2016-08-24 08:15:38 -04:00