summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* try_compile: Honor CMAKE_WARN_DEPRECATED in test projectBrad King2016-11-222-0/+20
| | | | | | | | This causes the `-Wno-deprecated` option to be honored even inside a `try_compile` test project, which is needed to suppress all deprecation warnings as the option documents. Closes: #16446
* Merge topic 'capture-clang-tidy-errors'Brad King2016-11-216-1/+15
|\ | | | | | | | | | | | | 80ebc55a cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zero ce1abfa4 cmake: If ldd for LINK_WHAT_YOU_USE fails to run then report why 44de6157 cmake: Comment why we ignore the include-what-you-use return code
| * cmake: Report if the <LANG>_CLANG_TIDY tool exits with non-zeroBrad King2016-11-185-0/+13
| | | | | | | | | | | | | | | | When using `<LANG>_CLANG_TIDY` our internal launcher for the tool must capture its return code and stderr and report them on failure. Otherwise incorrect command lines silently fail. Closes: #16435
| * cmake: Comment why we ignore the include-what-you-use return codeBrad King2016-11-181-1/+2
| | | | | | | | | | | | | | | | The include-what-you-use tool always returns non-zero to indicate that it did not actually produce an object file as Clang would from the same command line. Add a comment explaining that this is why we ignore its return code. Also update our `pseudo_iwyu` test suite tool to always exit with an error too.
* | Tolerate removed/replaced CMakeCache.txt with old CMakeFiles/Brad King2016-11-173-0/+27
|/ | | | | | | | | | | Users or scripts commonly remove or replace `CMakeCache.txt` without also removing `CMakeFiles/`. In this case the information saved in the cache from platform information initialization is missing, so we need to re-initialize it. In such a case, remove the platform information directory so that re-initialization will occur and restore needed information to the cache. Closes: #14820
* Merge topic 'android-info-variables'Brad King2016-11-171-1/+33
|\ | | | | | | | | | | | | f7c5e970 Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINE d95e6dff Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variable 3d42a72b Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION
| * Android: Add CMAKE_<LANG>_ANDROID_TOOLCHAIN_MACHINEBrad King2016-11-141-0/+17
| | | | | | | | | | | | | | | | Expose the binutils' machine name (typically used as a prefix on the tool names) publicly. This is expected to match the `gcc -dumpmachine` value. Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
| * Android: Add CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG variableBrad King2016-11-141-0/+8
| | | | | | | | | | | | | | | | | | The NDK provides prebuilt toolchain files in directories named for the host architecture. The NDK build system calls this `HOST_TAG`. Expose the value publicly for use by clients that need to pass it to external tools. Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
| * Android: Always set CMAKE_ANDROID_NDK_TOOLCHAIN_VERSIONBrad King2016-11-141-1/+8
| | | | | | | | | | | | | | | | | | When this variable is not set by the user or toolchain file, set it to the default selected. This will be useful for client code that needs to pass the value to an external tool that needs to find the same toolchain in the NDK. Leave it empty for a standalone toolchain. Suggested-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
* | Merge topic 'improve_ctest_memcheck_output'Brad King2016-11-177-7/+21
|\ \ | | | | | | | | | | | | f0d50957 ctest: Improve output for `-T memcheck`
| * | ctest: Improve output for `-T memcheck`Bill Hoffman2016-11-177-7/+21
| | | | | | | | | | | | | | | Show how many defects each test that had a defect produced. Also tell the user where to find the full log files.
* | | Merge topic 'test_vs_targets_file_reference'Brad King2016-11-165-0/+61
|\ \ \ | |/ / |/| | | | | | | | c9560a9a Tests: Extend VS10Project to cover `.targets` file linking
| * | Tests: Extend VS10Project to cover `.targets` file linkingSoji Yamakawa2016-11-155-0/+61
| |/ | | | | | | | | | | With VS generators for 2010 and above, passing a `.targets` file to `target_link_libraries` is expected to generate content in the `.vcxproj` file to import the targets file. Add a test to cover this.
* | Merge topic 'add-SHA-3'Brad King2016-11-151-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | f636d1e7 Help: Add notes for topic 'add-SHA-3' cb5dba8e Tests: Add SHA-3 algorithm coverage to CPack checksum test a9fa6099 ExternalProject: Add support for SHA-3 algorithms b4ffd26f ExternalData: Add support for SHA-3 algorithms 60939702 file: Add support for SHA-3 algorithms 92f95aed string: Add support for SHA-3 algorithms c326209f cmCryptoHash: Add support for SHA-3 algorithms 979e8ba6 Help: De-duplicate and spell out supported hash algorithms 7a79f7e3 librhash: Activate SHA-3 implementation 87584b5e Merge branch 'upstream-librhash' into add-SHA-3 7fcbd47e librhash 2016-11-06 (de79828d) c50c32a3 librhash: Update import script to add SHA-3 implementation
| * Tests: Add SHA-3 algorithm coverage to CPack checksum testBrad King2016-11-111-1/+1
| |
* | Merge topic 'cdash_version_check'Brad King2016-11-112-0/+2
|\ \ | | | | | | | | | | | | | | | d3633731 Do not query CDash for version f725b20b Update tests that expect uncompressed output
| * | Update tests that expect uncompressed outputZack Galbreath2016-11-082-0/+2
| | | | | | | | | | | | Pass --no-compressed-output to ctest for tests that expect uncompressed output.
* | | Merge topic 'ctest_memcheck_defect_count'Brad King2016-11-118-2/+46
|\ \ \ | |_|/ |/| | | | | | | | 3a523eec ctest_memcheck: Add DEFECT_COUNT option to capture defect count
| * | ctest_memcheck: Add DEFECT_COUNT option to capture defect countBetsy McPhail2016-11-098-2/+46
| | |
* | | Merge topic 'imported-interface-libname'Brad King2016-11-0910-0/+144
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 09cda9d5 Allow imported INTERFACE libraries to specify a link library name 1d1f1eeb cmTarget: Refactor GetMappedConfig to choose location property up front 479932fa cmTarget: Add comment clarifying interface library special case 925e4270 cmTarget: Clarify comments in GetMappedConfig
| * | Allow imported INTERFACE libraries to specify a link library nameBrad King2016-11-0910-0/+144
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an `IMPORTED_LIBNAME[_<CONFIG>]` target property to specify a library name to be placed on the link line in place of an interface library since it has no library file of its own. Restrict use of the property to imported `INTERFACE` libraries. This will be particularly useful for find modules that need to provide imported libraries from system SDKs where the full path to the library file is not known. Now such find modules will be able to provide an imported interface library and set `IMPORTED_LIBNAME` to refer to the SDK library by name. Issue: #15267
* | CPack/RPM test for Suggests tagAlexander Adam2016-11-054-0/+41
|/ | | | | | | Suggests tag was not present in older versions of rpmbuild so we test that the rpm package is always generated either with Suggests tag present or skipped if not supported.
* Features: Test cycle diagnostic with language standard meta-featureBrad King2016-11-022-3/+3
| | | | | | | The `cxx_static_assert` feature may be available in C++ 98 mode of some compilers or not available at all in others. Intstead of using an individual feature to test cyclic requirement of a feature requiring C++ 11, use the `std_cxx_11` meta-feature that has exactly this meaning.
* Merge topic 'custom-command-CROSSCOMPILING_EMULATOR'Brad King2016-11-015-7/+42
|\ | | | | | | | | | | f648b9be Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targets e7480d67 Fix custom command target substitution with CROSSCOMPILING_EMULATOR
| * Tests: Check that CROSSCOMPILING_EMULATOR is not used on imported targetsBrad King2016-10-284-6/+40
| |
| * Fix custom command target substitution with CROSSCOMPILING_EMULATORBrad King2016-10-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | In commit v3.6.0-rc1~88^2 (CustomCommandGenerator: Add support for CROSSCOMPILING_EMULATOR, 2016-05-04) logic was introduced to substitute a target's `CROSSCOMPILING_EMULATOR` for argv0 in a custom command. However, it broke the case when the argv0 was a target name and now fails to expand the target name to its location at the same time as inserting the emulator. Fix the latter case. Inspired-by: Brian Maher <brian@brimworks.com> Closes: #16288
* | Tests: Add case for Xcode per-config per-source COMPILE_FLAGS diagnosticBrad King2016-10-284-0/+14
|/
* Ninja: Use binary dir for `$subdir/all` targetsAlexis Murzeau2016-10-246-0/+19
| | | | | | | | | | The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all` targets, 2016-03-11) use as `$subdir` the relative path from the top of the source tree to the current source directory. This is not correct when using `add_subdirectory(test test_bin)`. Instead we need to use the relative path from the top of the binary tree to the current binary directory as was done for related targets by commit v3.7.0-rc1~268^2 (Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
* Merge topic 'ninja-diagnose-missing-tool'Brad King2016-10-214-0/+13
|\ | | | | | | | | | | 010560be Ninja: Fail early on when ninja build tool does not run 2d3aa942 cmGlobalGenerator: Allow FindMakeProgram to fail
| * Ninja: Fail early on when ninja build tool does not runBrad King2016-10-204-0/+13
| | | | | | | | | | | | | | | | Diagnose failure to run `ninja --version` and abort early. Otherwise we end up aborting with a confusing message about ninja version "" being too old. Closes: #16378
* | Merge topic 'android-armeabi-c++_static'Brad King2016-10-211-5/+0
|\ \ | |/ |/| | | | | 43f4326e Android: Fix support for armeabi with c++_static
| * Android: Fix support for armeabi with c++_staticBrad King2016-10-211-5/+0
| | | | | | | | | | | | | | | | Add missing "unwind" and "atomic" libraries needed for this combination. See `${ndk}/sources/cxx-stl/llvm-libc++/libs/armeabi/libc++.a` for the libraries the NDK uses. Issue: #16380
| * Merge branch 'ExternalProject-fix-CMAKE_CACHE_ARGS-list' into releaseBrad King2016-10-104-2/+24
| |\
| * \ Merge branch 'android-export-has-cpp' into releaseBrad King2016-10-074-1/+10
| |\ \
* | \ \ Merge topic 'propagate_ctest_use_launchers'Brad King2016-10-183-0/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 19beee46 ctest_configure: Propagate CTEST_USE_LAUNCHERS from caller to project
| * | | | ctest_configure: Propagate CTEST_USE_LAUNCHERS from caller to projectBill Hoffman2016-10-173-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If `CTEST_USE_LAUNCHERS` is `TRUE` in a CTest script then the `ctest_configure` command will add `-DCTEST_USE_LAUNCHERS:BOOL=TRUE` to the cmake command used to configure the project. This allows a project to only set `CTEST_USE_LAUNCHERS` in a ctest script and have launchers work.
* | | | | cmTarget: Move sanity checks and computed property access to callersStephen Kelly2016-10-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GetProperty method is now just accessing contained data, meaning it can be implemented in cmState. Remove the cmMakefile context from the signature as a result and remove the overload with the same signature. Add a GetComputedProperty to cmTarget so that templates can be properly instantiated. Otherwise the Commands would need to be able to reach the specializations which are currently in cmTarget.cxx. As a side-effect, the CMP0026 warning now gives a backtrace to the target when issued from a generator expression.
* | | | | Merge topic 'vs-host-x64-tools'Brad King2016-10-1410-0/+39
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d079e71c VS: Provide an option to use x64 host tools 779939a0 Help: Document VS and Xcode toolset selection
| * | | | | VS: Provide an option to use x64 host toolsBrad King2016-10-1410-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Visual Studio provides toolchains that are themselves built for 32-bit or 64-bit host architectures. By default it uses the 32-bit tools, but it can be told to prefer the 64-bit tools on 64-bit hosts. Extend the `CMAKE_GENERATOR_TOOLSET` specification to provide a way to request use of the 64-bit host tools. Closes: #15622
* | | | | | Merge topic 'ExternalProject-fix-CMAKE_CACHE_ARGS-list'Brad King2016-10-134-2/+24
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | a3c98cb3 ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS
| * | | | | ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGSMax Smolens2016-10-104-2/+24
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS options of ExternalProject_Add. Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over string(APPEND) where appropriate, 2016-08-08), the semicolon list separator after the first list element was missing in the generated cache.
* | | | | Merge topic 'test-cpack-improve-failure-messages'Brad King2016-10-101-2/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7f90d5e5 Tests: Improve RunCMake.CPack_* failure message formatting
| * | | | | Tests: Improve RunCMake.CPack_* failure message formattingBrad King2016-10-071-2/+4
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Format a `message(FATAL_ERROR)` call with markup to make the generated message more readable so that the difference between the actual and expected results is easier to see.
* | | | | Merge topic 'android-export-has-cpp'Brad King2016-10-104-1/+10
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | dda6775c Android: Record use of C++ by static libs in exported Android.mk files
| * | | | Android: Record use of C++ by static libs in exported Android.mk filesBrad King2016-10-074-1/+10
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | When a `PREBUILT_STATIC_LIBRARY` uses C++ in its sources then the `.a` file will have a link-time dependency on the C++ runtime libraries. Android NDK r14 will add a way to give this information to the NDK build system by adding a `LOCAL_HAS_CPP` setting to the `Android.mk` file. Add this for exported static libraries that use C++.
* | | | Merge topic 'android-cxxabi'Brad King2016-10-102-0/+5
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| 8cdac469 Android: Fix support for cxxabi.h with libc++
| * | Android: Fix support for cxxabi.h with libc++Brad King2016-10-072-0/+5
| | | | | | | | | | | | | | | | | | Additional include directories are needed for this on some STL types. Closes: #16350
* | | CPack/RPM single debuginfo packagingDomen Vrankar2016-10-0710-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | Generate a single debuginfo package even if components packaging is enabled. This makes issue #15668 resolution feature complete. Closes: #15486
* | | CPack/RPM learned defining main componentDomen Vrankar2016-10-075-0/+32
|/ / | | | | | | | | | | Main component rpm package is generated without component suffix in filename and package name.
* | Android: Suppress -Wattributes warnings in test case buildsBrad King2016-10-061-2/+2
|/ | | | | | | | | | | | | | We use `-Werror` in the Android test builds to make sure there are no warnings that we care about (e.g. unused flags). However, the NDK r13 tools produce a warning about their own builtins: ``` <built-in>: In function 'float abs(float)': <built-in>: warning: conflicts with previous declaration here [-Wattributes] ``` Suppress this warning so that we can continue using `-Werror` but tolerate these warnings.