summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeOnly
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Fix CMakeOnly.find_library test logic for libx32 caseChristian Schmidbauer2017-03-101-1/+1
| | | | | Teach `test_find_library_subst` how to convert `libx32` to `lib` so that the test case actually covers what we intend it to.
* Tests: Add x32 tests to test suiteSteven Newbury2017-03-087-0/+16
|
* find_library: Allow custom lib suffix be used as find pathChristian Schmidbauer2017-03-017-1/+14
| | | | | | | | | | Add a new `CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable to allow use of a custom suffix on `lib` directory names. This is a more general option than that added by commit v3.7.0-rc1~504^2 (Teach find_library and find_package to search lib32 paths, 2016-06-10). It allows the find path to be more deterministic on custom setups. See discussion in #10287 and #15994.
* C# support: add compiler detection for MSVCMichael Stürmer2016-12-152-0/+24
|
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-273-3/+3
| | | | | | | Automate with: find Tests -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* Teach find_library and find_package to search lib32 paths (#11260)Daniel Scharrer2016-06-107-0/+7
| | | | | | | Add a ``FIND_LIBRARY_USE_LIB32_PATHS`` global property analogous to the ``FIND_LIBRARY_USE_LIB64_PATHS`` property. This helps find commands on multilib systems that use ``lib32`` directories and either do not have ``lib`` symlinks or point ``lib`` to ``lib64``.
* Revise C++ coding style using clang-formatKitware Robot2016-05-164-8/+16
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Merge topic 'FindProtobuf-variable-case'Brad King2016-03-111-2/+1
|\ | | | | | | | | a7b09e7f FindProtobuf: Rename variables to match case of module name
| * FindProtobuf: Rename variables to match case of module nameAntonio Perez Barrero2016-03-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | Use recommended case for variable names. i.e. matching name of the module as passed to `find_package`. For backwards compatibility, the upper case versions of both input and output variables are used and defined when appropriate. Skip this for the _FOUND variable because FPHSA already does it. Skip this for the _VERSION variable because that was recently added and never available with the old name in a release of CMake.
* | Add FindLTTngUST module to find LTTng-UST libraryPhilippe Proulx2016-03-071-1/+1
|/ | | | | | | Also detect the library version number. Provide results as variables and as an imported target, LTTng::UST. Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
* FindProtobuf: check versionAntonio Perez Barrero2016-02-161-0/+1
| | | | | | | Check found libraries version to match user required version. Protobuf compiler executable version is checked to be aligned with found libraries, raising a warning message otherwise.
* Compiler ID: Compiler versions must be a valid, numeric version string.James Johnston2015-12-033-0/+21
| | | | This test helps catch errors in compiler identification.
* Tests: Fix CMAKE_MAKE_PROGRAM selection in CMakeOnly testsBrad King2015-08-111-0/+6
| | | | Use the explicitly-tested make program, if any.
* Merge topic 'CheckCompilerFlag-do-not-use-FLAGS'Brad King2015-07-091-0/+7
|\ | | | | | | | | a639689c Check*CompilerFlag: Revert to previous method used to pass flags (#15641)
| * Check*CompilerFlag: Revert to previous method used to pass flags (#15641)Brad King2015-07-081-0/+7
| | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~397^2 (Check*CompilerFlag: Refactor method used to pass flags, 2015-02-24) these check modules pass the flags to the compiler front-end during linking as well as during compilation. This breaks checks for flags like '-x c++' that are meant only for the compilation step. Revert the change and add a test covering a compiler-only flag.
* | FindHDF5: Add version supportAxel Huebl2015-05-131-2/+2
|/ | | | | Detect the HDF5 version and set HDF5_VERSION just as we detect HDF5_IS_PARALLEL from the header already.
* Fortran: Test that CMAKE_Fortran_COMPILER_VERSION is set (#15372)Brad King2015-02-191-9/+1
| | | | | Update the CMakeOnly.CompilerIdFortran test to require that the variable is set instead of just warning. We already require it for C and CXX.
* Tests: Fix CMP0054 warningsBrad King2014-09-161-3/+3
| | | | | Hack the CMP0054 warning locally to be an error and run the test suite. Resolve CMP0054 in Tests/* code as appropriate for each case.
* Tests: Use -A option to pass generator platform selectionBrad King2014-09-151-1/+1
| | | | This is less verbose than defining CMAKE_GENERATOR_PLATFORM.
* Tests: Add generator platform supportBrad King2014-09-101-0/+1
| | | | | Propagate CMAKE_GENERATOR_PLATFORM through the test hierarchy so that all tests can build with the selected generator platform, if any.
* Tests: Teach CMakeOnly.AllFindModules to tolerate a system KDE4Brad King2014-03-191-0/+3
| | | | | | | | The FindKDE4 module (incorrectly) modifies CMAKE_MODULE_PATH on the caller's behalf. This causes KDE4-installed find modules to be used by the test instead of those in CMake. Teach the test to restore the CMAKE_MODULE_PATH to its original value after each find_package call. This ensures that the next find_package actually tests our module.
* Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variablesBrad King2014-03-031-2/+2
| | | | s/CMAKE_TEST_GENERATOR/CMAKE_GENERATOR/g
* Merge topic 'CheckStructHasMember_CXX'Brad King2013-10-084-0/+120
|\ | | | | | | | | 73d28d2 CheckStructHasMember: Add support for C++
| * CheckStructHasMember: Add support for C++Daniele E. Domenichelli2013-10-084-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if headers required to check if a struct has a member can be compiled with C++ compiler only, the check would fail because the C compiler fails. As a consequence, the result variable would be set to false, even if the struct has that particular member. Teach CHECK_STRUCT_HAS_MEMBER to accept a new optional argument LANGUAGE that allows one to explicitly set the compiler to use. The new signature is therefore: CHECK_STRUCT_HAS_MEMBER (<struct> <member> <header> <variable> [LANGUAGE <language>])
* | blacklist tests with their own test in Tests/Module from AllFindModules testRolf Eike Beer2013-08-091-2/+9
|/
* SelectLibraryConfigurations: Use -NOTFOUND instead of copying the varsDaniele E. Domenichelli2013-07-221-1/+1
| | | | | | | | | | If one of the libraries (_DEBUG or _RELEASE) is not set, the value is set to the value of the other one. FindQt4, from which the macro is extracted, sets the values to XXX_LIBRARY_{DEBUG,RELEASE}-NOTFOUND instead. In both cases the XXX_LIBRARY is correct, but using NOTFOUND makes it easier to understand which one is missing. Update Tests/CMakeOnly/SelectLibraryConfigurations with the new logic.
* Tests: Add generator toolset supportBrad King2013-02-071-0/+1
| | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
* Test find_path multiarch support (#13742)Brad King2012-11-264-0/+32
|
* FindQt: add to MajorVersionSelection testRolf Eike Beer2012-11-011-0/+1
|
* Merge topic 'test-major-version'David Cole2012-10-313-1/+69
|\ | | | | | | | | d1f3bfe Tests: add MajorVersionSelection tests
| * Tests: add MajorVersionSelection testsRolf Eike Beer2012-10-313-1/+69
| | | | | | | | | | | | For things where we may have 2 major versions of the same software installed in parallel (think of Qt and Python) make sure our version selection gets this right.
* | Merge topic 'FindIcotool'David Cole2012-10-311-2/+3
|\ \ | | | | | | | | | | | | 86a184d Add module FindIcotool
| * | Add module FindIcotoolAleksey Avdeev2012-10-161-2/+3
| | | | | | | | | | | | | | | | | | This module looks for icotool. Signed-off-by: Aleksey Avdeev <solo@altlinux.ru>
* | | Merge topic 'find_library-NAMES_PER_DIR'David Cole2012-10-313-18/+31
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 66759ee find_library: Optionally consider all names in each directory 9cb68b1 find_library: Generalize helper macro in test case b64dd76 find_library: Simplify framework search logic 531c71b find_library: Refactor internal name iteration
| * | find_library: Optionally consider all names in each directoryBrad King2012-09-253-0/+13
| | | | | | | | | | | | | | | | | | | | | When more than one value is given to the NAMES option this command by default will consider one name at a time and search every directory for it. Add a NAMES_PER_DIR option to tell this command to consider one directory at a time and search for all names in it.
| * | find_library: Generalize helper macro in test caseBrad King2012-09-251-18/+18
| |/ | | | | | | | | | | In Tests/CMakeOnly/find_library/CMakeLists.txt generalize the test_find_library macro and move the lib64 substitution logic to a new test_find_library_subst macro.
* | SelectLibraryConfigurations: fix for release and debug libs being the sameRolf Eike Beer2012-10-211-0/+4
| |
* | SelectLibraryConfigurations: add testcaseRolf Eike Beer2012-10-212-0/+62
|/
* Merge topic 'ide-compiler-id'David Cole2012-08-244-0/+56
|\ | | | | | | | | | | | | | | | | | | | | | | 403ead6 Document CMAKE_<LANG>_COMPILER_(ID|VERSION) values 8be51f6 Test variables CMAKE_(C|CXX|Fortran)_COMPILER(|_ID|_VERSION) ec22a9b Cleanly enable a language in multiple subdirectories 66cb335 VS: Detect the compiler id and tool location 89595d6 VS10: Define CMAKE_VS_PLATFORM_TOOLSET variable 965a69d Xcode: Detect the compiler id and tool location 9a9e1ee CMakeDetermineCompilerId: Prepare to detect IDE compiler id b8b5c83 Re-order C/C++/Fortran compiler determination logic
| * Test variables CMAKE_(C|CXX|Fortran)_COMPILER(|_ID|_VERSION)Brad King2012-08-224-0/+56
| | | | | | | | | | | | Add tests CMakeOnly.CompilerId(C|CXX|Fortran) to check that the basic compiler tool path, vendor, and version variables have been set as expected.
* | Add FindHg module to find MercurialBrad King2012-08-141-1/+1
|/ | | | Also teach the CMakeOnly.AllFindModules to verify Hg version detection.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-133-19/+19
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-132-44/+44
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* find_library: Fix mixed lib->lib64 (non-)conversion cases (#13419)Brad King2012-07-201-2/+2
| | | | | | | | When a search path contains multiple "lib/" instances we previously converted all or none. This fails for cases where only some of the multiple instances must be converted. Teach AddArchitecturePaths to generate all combinations that exist. Uncomment these cases in the CMakeOnly.find_library test now that they work.
* find_library: Add test covering lib->lib64 casesBrad King2012-07-2013-0/+63
| | | | | | | Add a "CMakeOnly.find_library" test covering various cases involving lib->lib64 (non-)conversion. Comment out cases involving mixed path components "lib" and "lib64", such as lib/A/lib64 and lib64/A/lib, as these are known to be broken currently.
* Add FindLibLZMA ModuleMario Bensi2012-05-311-1/+1
|
* FindPkgConfig.cmake: fix documented output variable not set (#13125,#13132)Rolf Eike Beer2012-04-151-2/+1
| | | | | The real fix is from Yury G. Kudryashov while I added the surrounding cleanups. An additional hint to really get this fixed came from Rex Dieter.
* Tests: Relax restrictions on version variable contentsDavid Cole2012-03-201-3/+13
| | | | | | | | | | | | | | | | | Our only expectation of version number variables should be that they begin with a decimal digit for VERSION_LESS, VERSION_EQUAL and VERSION_GREATER comparison purposes. If people put extra blah blah after a version number like "1.2.3 (this is some super special extra information about our funky proprietary build of the official 1.2.3 release)" then we should be ok with that. So: now we have the following expectations for version number variable content for the purposes of the AllFindModules test: - it should start with a decimal digit (match "^[0-9]") - it should not be empty - it should not be VERSION_EQUAL 0 - it should not be NOT VERSION_GREATER 0
* AllFindModules test: do not require TCLSH versionRolf Eike Beer2012-03-021-1/+1
|
* Merge topic 'allfindmodules-versions'David Cole2012-03-021-18/+24
|\ | | | | | | | | 9271d2f AllFindModules test: once again expand version checking