| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all
tests can build with the selected generator toolset, if any.
|
| |
|
| |
|
|\
| |
| |
| |
| | |
d1f3bfe Tests: add MajorVersionSelection tests
|
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | | |
86a184d Add module FindIcotool
|
| | |
| | |
| | |
| | |
| | |
| | | |
This module looks for icotool.
Signed-off-by: Aleksey Avdeev <solo@altlinux.ru>
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Add tests CMakeOnly.CompilerId(C|CXX|Fortran) to check that the basic
compiler tool path, vendor, and version variables have been set as
expected.
|
|/
|
|
| |
Also teach the CMakeOnly.AllFindModules to verify Hg version detection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|\
| |
| |
| |
| | |
9271d2f AllFindModules test: once again expand version checking
|
| | |
|
|\ \
| |/
|/|
| |
| |
| | |
2557a08 Fix typo in error message, and remove redundent test.
9090572 Add ability to include a file in a project via a cache variable.
|
| | |
|
| |
| |
| |
| |
| |
| | |
If a variable exists called CMAKE_PROJECT_<projectName>_INCLUDE,
the file pointed to by that variable will be included as the last step
of the project command.
|
|\ \
| | |
| | |
| | |
| | | |
540db7e AllFindModules test: expect more modules to have a version number available
|
| |/
| |
| |
| |
| |
| | |
For all current build machines the modules FindPkgConfig, FindFreetype, and
FindLibXslt return a version number. Enforce this to early catch when this
is not always the case.
|
|/ |
|
|\
| |
| |
| |
| | |
2f306a9 AllFindModules test: do not enforce GNUPLOT version
|
| |
| |
| |
| |
| | |
Ancient Gnuplot versions like 3.7.1 don't know about "--version". Disable this
check so it doesn't break on machines with this version.
|
|/
|
|
|
|
| |
Define a "check_language(<lang>)" macro to test whether <lang> can be
enabled. Cache the result in CMAKE_<lang>_COMPILER. Add a test case
covering expected results.
|
|\
| |
| |
| |
| |
| |
| |
| | |
ed1b126 CMakeOnly.AllFindModules: require version for some modules
2dee929 CMakeOnly.AllFindModules: suppress two modules from testing
3c4b4ff CMakeOnly.AllFindModules: always check FindQt
9d72b25 CMakeOnly.AllFindModules: clean up the Qt3/Qt4 code
|
| | |
|
| |
| |
| |
| |
| | |
FindPackageHandleStandardArgs and FindPackageMessage match the glob
expression but are nothing that will usually be fed into find_package().
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
8de3b3d CheckCXXCompilerFlag test: make it a CMakeOnly test
|
| |/ |
|
|/ |
|
| |
|
| |
|
|
|
|
|
| |
This allows easy spotting of modules that output crappy messages and the
like.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 183b9509 (Follow all dependencies of shared library private
dependencies, 2011-12-14) we honor LINK_INTERFACE_LIBRARIES when
following dependent shared libraries. The link interface properties may
form a cycle if set incorrectly by a project. Furthermore, the property
LINK_DEPENDENT_LIBRARIES may form a cycle if set incorrectly by hand
(though CMake should never generate one). In either case, do not follow
the cycle forever when following the dependent shared library closure.
We only need to add dependency edges to the constraint graph once.
Add "LinkInterfaceLoop" test to cover this case.
|
|/
|
|
|
| |
Now that we think that CheckSymbolExists really works for all cases it is time
to prove that. If this code fails too many other things will break.
|
|
Some tests only need to run CMake to configure and generate a build
tree, but not actually perform the build. Add a new "Tests/CMakeOnly"
directory dedicated for this purpose. Add a helper script to drive each
test by creating a fresh build tree and running CMake on it. Add macro
"add_CMakeOnly_test" to help create tests using the script.
|