Commit Graph

15617 Commits

Author SHA1 Message Date
Stephen Kelly 311c0b9897 Eclipse: Skip generator expressions in COMPILE_DEFINITIONS (#14722)
This is a hot-fix for the bug. It seems like a good idea to generally
reform the generator to care about targets instead of directories,
but this patch at least makes the reported error go away.
2014-02-09 23:44:21 +01:00
Kitware Robot 1cc3e9f2e7 CMake Nightly Date Stamp 2014-02-09 00:01:05 -05:00
Kitware Robot d582809497 CMake Nightly Date Stamp 2014-02-08 00:01:06 -05:00
Kitware Robot 53cffda228 CMake Nightly Date Stamp 2014-02-07 00:01:05 -05:00
Brad King d5c54d0069 Merge topic 'fix-Qt-autogen'
8f8edeb0 QtAutogen: Only add source files to the target if AUTORCC is ON.
2014-02-06 11:10:18 -05:00
Kitware Robot 5f7d7bdd67 CMake Nightly Date Stamp 2014-02-06 00:01:06 -05:00
Brad King 4e4104c4dd Merge topic 'no-policy-tweak-version'
101057b5 Drop tweak version component from CMake Policies
2014-02-05 09:34:34 -05:00
Brad King 43a78f5b29 Merge topic 'FeatureSummary-no-transitive'
a6971f65 FeatureSummary: Don't list transitive package dependencies
2014-02-05 09:34:23 -05:00
Stephen Kelly 8f8edeb09b QtAutogen: Only add source files to the target if AUTORCC is ON.
The qtx_add_resources() macro adds the resource file to the output list
to maintain file-level dependencies.  Having the qrc file in a target
sources is a precondition for AUTORCC to function.

When processing the source files of a target, only add the generated
qrc_<file>.cpp to the target sources if AUTORCC is ON.  This avoids
pre-porting conflict with the macro.

Reported-by: Micha Hergarden
2014-02-05 10:13:39 +01:00
Kitware Robot 2233ddf5ae CMake Nightly Date Stamp 2014-02-05 00:01:06 -05:00
Brad King 101057b500 Drop tweak version component from CMake Policies
Since commit v2.8.2~105^2~2 (Teach CMake Policies about tweak version
component, 2010-04-23), cmPolicies has known how to handle a policy
introduced in a tweak version.  This was done back when we introduced
policies with the current development date version and later updated it
to the release version.  Now we always introduce policies using the next
expected release version and explicitly set the policy to test the NEW
behavior.

CMake Policies (or any other features) should never be introduced in a
tweak (bugfix) release, so drop the infrastructure that allows this.
2014-02-04 16:14:26 -05:00
Brad King f748b59e20 Merge topic 'fix-Qt-autogen'
6053ce22 QtAutogen: Make uic work even when the source is in a subdir.
1fc9ecfa FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
2014-02-04 13:34:54 -05:00
Brad King 01a41bc98c Merge topic 'osx-rpath-unique'
028a5285 OS X: Make sure RPATHs are unique to avoid possible corruption.
2014-02-04 13:34:52 -05:00
Stephen Kelly 6053ce22f6 QtAutogen: Make uic work even when the source is in a subdir.
Modify the includedUis to store the path to the file which includes
the ui file. Reuse that path to generate the output file from the
uic process.
2014-02-04 13:21:43 -05:00
Kitware Robot 5414b0e919 CMake Nightly Date Stamp 2014-02-04 00:01:05 -05:00
Stephen Kelly a6971f6510 FeatureSummary: Don't list transitive package dependencies
Set a global property in the find_package implementation.  Track and
reset that property in the find_dependency macro.  Read the property
in FeatureSummary when determining whether to print output.

This means that packages which are found only as dependencies are not
listed by FeatureSummary, but if a project uses find_package elsewhere
directly, then it will be listed by FeatureSummary.

Suggested-by: Alex Merry

 http://thread.gmane.org/gmane.comp.kde.devel.frameworks/10640
2014-02-03 20:20:42 +01:00
Brad King e863496aca Merge topic 'minor-cleanups'
dcd443d4 cmTarget: Clean up the InsertCompileDefinition implementation.
2014-02-03 11:11:16 -05:00
Brad King 6e43138c3f Merge topic 'constify'
f054201d cmMakefile: Return containers by const reference.
d1ac6ffd cmMakefile: Fix minor indentation inconsistency.
2014-02-03 11:11:13 -05:00
Brad King cdadec9f24 Merge topic 'fix-visibility-inlines-hidden'
efdcebdd VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources
2014-02-03 11:11:11 -05:00
Brad King 7ab204509e Merge topic 'codelite-generator-multi-jobs-bug-fix'
75c05113 CodeLite: Use make -jN switch when generating Unix/MinGW makefiles
2014-02-03 11:11:09 -05:00
Brad King a7f5a6ee12 Merge topic 'project-version-variables'
41d2f2c4 write_basic_package_version_file: use PROJECT_VERSION
7e142c5a project: Manage VERSION variables
16d040c9 project: Add optional LANGUAGES keyword
00007dcc Help: Format project command and variable documentation
2014-02-03 11:10:58 -05:00
Eran Ifrah 75c051139a CodeLite: Use make -jN switch when generating Unix/MinGW makefiles 2014-02-03 10:56:48 -05:00
Clinton Stimpson 028a5285d8 OS X: Make sure RPATHs are unique to avoid possible corruption.
When using link_directories() and including CMAKE_CFG_INTDIR,
one can end up with duplicate RPATHs in the binary which
install_name_tool cannot fix without corrupting the binary.
Also, the cmake_install.cmake file has been fixed to correctly
handle these generator specific variables.
2014-02-03 07:04:54 -07:00
Kitware Robot ee8e63d0c4 CMake Nightly Date Stamp 2014-02-03 00:01:05 -05:00
Stephen Kelly dcd443d4aa cmTarget: Clean up the InsertCompileDefinition implementation.
It accepts a before parameter but is never called with before=true.

compile definitions are sorted by std::set, so it wouldn't make sense
to allow user sorting.
2014-02-02 22:15:07 +01:00
Stephen Kelly f054201d12 cmMakefile: Return containers by const reference.
They are not implicitly shared.
2014-02-02 10:52:35 +01:00
Stephen Kelly d1ac6ffd4a cmMakefile: Fix minor indentation inconsistency. 2014-02-02 10:49:33 +01:00
Kitware Robot cd711ed052 CMake Nightly Date Stamp 2014-02-02 00:01:08 -05:00
Nils Gladitz efdcebddbd VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources 2014-02-01 09:55:24 +01:00
Kitware Robot 6385c71516 CMake Nightly Date Stamp 2014-02-01 00:01:05 -05:00
Kitware Robot f35c01e2a5 CMake Nightly Date Stamp 2014-01-31 00:01:05 -05:00
Kitware Robot 078e9e2c39 CMake Nightly Date Stamp 2014-01-30 00:01:06 -05:00
Brad King bbc82d85e5 Merge topic 'fix-Qt-autogen'
f7ae1d8a QtAutogen: Short-circut some logic when moc is not available.
4b989d5f QtAutogen: Separate source file processing from AUTOMOC.
c48d877d QtAutogen: Make some methods appropriately file-static.
394e86df QtAutogen: Fix autouic target options in the presence of a config.
964d7f2a QtAutogen: Remove unused variables.
0d934efd QtAutogen: Remove read of SKIP_AUTOUIC target property.
321e348e QtAutogen: Use Qt 4 IMPORTED targets to find executable locations.
e96683b0 Qt4: Use IMPORTED executable names with custom commands.
e6182f5d Qt4: Create IMPORTED executable targets for all Qt executables.
2014-01-29 10:05:04 -05:00
Brad King 7e142c5ac2 project: Manage VERSION variables
Teach the project() command to set variables

  {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK}

holding the project version number and its components.  Add project()
command option "VERSION" to specify the version explicitly, and default
to the empty string when it is not given.

Since this clears variables when no VERSION is given, this may change
behavior for existing projects that set the version variables themselves
prior to calling project().  Add policy CMP0048 for compatibility.

Suggested-by: Alex Neundorf <neundorf@kde.org>
2014-01-29 09:45:18 -05:00
Brad King 16d040c958 project: Add optional LANGUAGES keyword
Teach the project() command to recognize an optional "LANGUAGES"
keyword after the project name and prior to the list of languages.
Do not allow multiple copies of the keyword.  If the keyword is
specified and no languages are listed, imply NONE.
2014-01-29 09:40:51 -05:00
Kitware Robot 5d08ba94cf CMake Nightly Date Stamp 2014-01-29 00:01:08 -05:00
Stephen Kelly f7ae1d8ad6 QtAutogen: Short-circut some logic when moc is not available.
This is the case when AUTOMOC is false.  This prevents creating rules
to moc the files in the absense of moc.
2014-01-28 21:04:40 +01:00
Stephen Kelly 4b989d5f15 QtAutogen: Separate source file processing from AUTOMOC.
This will allow using AUTOUIC without using AUTOMOC for example.
2014-01-28 21:04:40 +01:00
Stephen Kelly c48d877d31 QtAutogen: Make some methods appropriately file-static. 2014-01-28 21:04:11 +01:00
Stephen Kelly 394e86df2a QtAutogen: Fix autouic target options in the presence of a config.
Read the correct variable.  Add scopes to prevent escape of variables.
2014-01-28 21:04:10 +01:00
Stephen Kelly 964d7f2ae9 QtAutogen: Remove unused variables. 2014-01-28 21:04:10 +01:00
Stephen Kelly 0d934efd59 QtAutogen: Remove read of SKIP_AUTOUIC target property.
Skipping AUTOUIC for a target is achieved by setting the AUTOUIC
target property go OFF.
2014-01-28 21:04:10 +01:00
Stephen Kelly 321e348e13 QtAutogen: Use Qt 4 IMPORTED targets to find executable locations.
Avoid using the moc from Qt 5 with Qt 4 based targets. Moc generates
a version check to ensure that such generated code does not compile.

The Qt4And5Automoc unit test should have been testing this, but it
was not because the test was broken. In that unit test, moc was run
on trivial files which have no significant content, and in particular
no Q_OBJECT macro.  Therefore moc was generating empty files which
do not even contain the version check.  Fix this by generating files
for input to moc at cmake time.
2014-01-28 21:04:10 +01:00
Kitware Robot 2dfb517f73 CMake Nightly Date Stamp 2014-01-28 00:01:05 -05:00
Brad King ddb792daab Merge topic 'constify'
bde0dab1 cmMakefile: Make ConfigureString const.
bf1e1bf1 cmMakefile: Make FindSourceGroup const.
01d7ceda cmMakefile: Trivially constify some methods.
9073318f cmMakefile: Remove non-const version of method
9b05bc4f cmMakefile: Remove method declarations with no implementation.
c6c0bd9d cmMakefile: Consify custom command API.
d6d4eaac cmMakefile: Constify policies accessors.
2a6e56e0 cmCacheManager: Consify version accessors.
5cc9fb02 cmSourceGroup: Fix method name capitalization.
fe8b0330 cmMakefile: Constify some cmSourceGroup related code.
e68a3ead cmSourceFile: Use a const cmMakefile.
b6292402 cmSourceFileLocation: Use a const cmMakefile.
b33ea578 cmMakefile: Make GetProperty const.
2014-01-27 13:03:39 -05:00
Brad King 5781842bc2 Merge topic 'ctest-update-p4-unknown-revision'
243cfc2f ctest_update: Handle P4 unknown revisions more robustly
2014-01-27 13:03:37 -05:00
Brad King adf309cd0d Merge topic 'ninja-normalize-cmake-rerun-deps'
2c426bfb Ninja: Normalize paths of CMake re-run rule dependencies
2014-01-27 13:03:35 -05:00
Brad King 20263b719f Merge topic 'robust-ep-download-verify'
a432b93b file DOWNLOAD: Display the curl result status when a hash mismatch occurs.
1cb9ef81 file DOWNLOAD: Test non-zero return status.
f73f0fb3 file DOWNLOAD: Add test for bad hash.
b5e2265f ExternalProject: Reattempt download when verification fails.
2014-01-27 13:03:33 -05:00
Kitware Robot d31e68a26e CMake Nightly Date Stamp 2014-01-27 00:01:05 -05:00
Kitware Robot c6d20adaf2 CMake Nightly Date Stamp 2014-01-26 00:01:05 -05:00