| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
73d28d2 CheckStructHasMember: Add support for C++
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>])
|
|/ |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|\ |
|