Commit Graph

515 Commits

Author SHA1 Message Date
David Cole 0c28b48d9b CMake: Add SaveCache at the end of successful Generate calls
Without this call, recent refactoring changes in the Visual
Studio generators yield no GUIDs saved in the cache. Putting
the SaveCache here *once* avoids scattering many calls to it
in specific generators.
2011-09-01 08:49:00 -04:00
David Cole 28cba226b3 Merge topic 'UsingCMakeLikePkgConfig2'
59238dc Fix --find-package mode on Cygwin, where enable_language(RC) is called
98472e4 Require the current cmake version in --find-package mode
a6ccf3c Use $(CXXFLAGS) and $(LDFLAGS) in the --find-package test Makefile
4386918 Fix line length
7d69310 Only enable the test when using GNU make
3011149 Make the test harder by always having a space in the include dirs
ab57ff6 Make the --find-package test harder
626fc71 Much improved test, should now be executed on all UNIXes
ec6982d Disable any STATUS output in --find-package mode
e552ae7 Dont check for -isysroot and -mmacosx-version on OSX in --find-package mode
e589589 Rename helper macros print_compile_flags() to set_compile_flags_var()
aecfc1f Fix test on OpenBSD with BSD make
6bb4ca3 The makefile for the test was kindof wrong
fd15b5e Only run the test if we are using a makefile generator under UNIX
9fc87c6 Add a test for the new --find-package mode
d3ae0ff Improve documentation for --find-package mode
bf07375 Add a cmake.m4 for using cmake in autoconf projects instead of pkgconfig
b0e3578 Use the file-utility to test for 64bit if there is no /usr/lib64
53edfb2 Better support for lib64 and Debian multiarch
b8fdaa1 Fix copyright notice in new CMakeFindPackageMode.cmake
7690edf Replace cmake::GetScriptMode() with GetWorkingMode()
e4f603b Implement find-package mode of cmake
a91d662 Add find-package mode, which does nothing yet
b976e70 Make clLocalGenerator::GetTargetFlags() public
2011-08-25 15:40:49 -04:00
Alex Neundorf 43869188af Fix line length
Alex
2011-08-18 18:39:05 +02:00
Alex Neundorf 71c29d11b3 Fix bootstrap test with automoc
Alex
2011-08-17 17:08:50 +02:00
Alex Neundorf 126c6ead77 Add the cmake module required currently for automoc
Alex
2011-08-14 15:58:00 +02:00
Alex Neundorf d1c0a5fce6 Start implementing skeleton for automoc in cmake
Alex
2011-08-14 15:45:13 +02:00
Alex Neundorf 7690edffd9 Replace cmake::GetScriptMode() with GetWorkingMode()
GetWorkingMode() returns a new enum WorkingMode, which is one of
NORMAL_MODE, SCRIPT_MODE and FIND_PACKAGE_MODE.

Alex
2011-08-09 16:32:45 +02:00
Alex Neundorf a65011baf1 Start work on automoc: add empty cmQtAutomoc class
Alex
2011-08-07 12:02:46 +02:00
David Cole 2444d6f55e Merge topic 'split-stdout-stderr'
a343bc1 RunSingleCommand: Avoid assignment in condition
642f100 RunSingleCommand: Add a OUTPUT_NORMAL flag.
856a9e4 RunSingleCommand: Replace verbose boolean with enum
4096066 RunSingleCommand: Fix indentation
2011-08-02 15:09:57 -04:00
Johan Björk 642f10066a RunSingleCommand: Add a OUTPUT_NORMAL flag.
OUTPUT_NORMAL does no processing of the output streams, it just passes
them through the same streams as they were received on.
2011-07-28 10:43:09 -04:00
Johan Björk 856a9e499f RunSingleCommand: Replace verbose boolean with enum
No behaviour change, this prepares for adding a flag to skip the merging
of output streams.
2011-07-28 10:42:03 -04:00
Brad King 119dce33d3 Merge topic 'SetPropertyAppendString'
9dbba1b Fix #12342: Add APPEND_STRING option to set_property()
2011-07-26 14:57:32 -04:00
Alex Neundorf 9dbba1b464 Fix #12342: Add APPEND_STRING option to set_property()
set_property() has APPEND, which creates a list. E.g. when
appending to COMPILE_FLAGS a string is needed, not a list.
With the APPEND_STRING option the value is append as string,
not as list.

Alex
2011-07-15 20:57:33 +02:00
Alex Neundorf e4f603b698 Implement find-package mode of cmake
In find-package mode, cmake executes Modules/CMakeFindPackage.cmake,
which calls find_package(), and this is then evaluated in cmake.cxx,
which prints an appropriate message to stdout, so it can be used
e.g. in a normal Makefile:

$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=EXIST
JPEG found.
$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=COMPILE

$ /opt/cmake-HEAD/bin/cmake --find-package -DNAME=JPEG
 -DCOMPILER_ID=GNU -DLANGUAGE=C -DMODE=LINK
-rdynamic -ljpeg

Alex
2011-07-02 23:14:28 +02:00
Alex Neundorf a91d662f46 Add find-package mode, which does nothing yet
-add command line argument --find-package and handle it,
 i.e. call an empty function cmake::FindPackage()
-add basic help

Alex
2011-07-02 17:50:05 +02:00
Matej Hribernik aed92ccea6 Add VisualStudio 9 and 10 generators for Itanium platform 2011-06-20 08:31:13 -04:00
Brad King cc214c68dd Merge topic 'MoreGraphVizFeatures'
08fa5dd Also generate dependers-graphviz files.
4f96a76 GRAPHVIZ_IGNORE_TARGETS is now a list of regular expressions
5698ad2 Make it possible to exlude external libs from dot files
2011-04-19 14:07:36 -04:00
Brad King 0506e37499 Merge topic 'cleanup-unused-variable-check'
a4335a6 Fix unused cache warning after multiple configure iterations
a75ebe3 Refine unused cache variable warning
2011-03-31 13:22:54 -04:00
Brad King a4335a621e Fix unused cache warning after multiple configure iterations
The curses dialog (ccmake) allows variables to be specified on the
command line.  If any of these variables is used during any configure
iteration or during generate we must not warn about it.

The Qt dialog (cmake-gui) allows variables to be added and removed in
the GUI interactively.  If a variable is added, removed, and then added
again we must still warn if it is unused.
2011-03-24 09:45:33 -04:00
Brad King a75ebe3ea4 Refine unused cache variable warning
List all unused variables in one warning.  Cleanup implementation to run
the check exactly once at the end of generation.
2011-03-24 09:45:33 -04:00
Brad King 6250c7324f Merge topic 'fix-2828-more-info-in-script-mode'
a58ace6 Fix KWStyle line-too-long complaint (#2828)
106958c Add CMAKE_ARGC and CMAKE_ARGV0..N-1 variables (#2828)
94d1684 Add CMAKE_SCRIPT_MODE_FILE variable (#2828)
2011-02-22 14:32:48 -05:00
Brad King cc5bbed52a Merge topic 'fix-10704-manifest-no-vs10'
fbca267 VS: Only use /MANIFEST if hasManifest is true (#11216)
98b448e VS2010: Fixed GenerateManifest flag (#10704)
2011-02-22 14:31:55 -05:00
Brad King 45efcc8fa6 Merge topic 'disallow-funny-path-names'
8704525 Reject directory names containing '=' (#11689)
2011-02-22 14:31:07 -05:00
David Cole fbca267331 VS: Only use /MANIFEST if hasManifest is true (#11216)
Thanks to Jrg Riedel for the patch.
2011-02-09 13:01:31 -05:00
Alex Neundorf 08fa5ddb1c Also generate dependers-graphviz files.
With this commit, the --graphviz option now also generates dot files
which show which other targets depend on some target.
So, now there is
* a global dot-file which shows all targets and dependencies
* a dot file which shows on what a target Foo depends
* a dot file which shows which other targets depend on Foo

Alex
2011-02-06 18:34:48 +01:00
David Cole 1019d82727 Documentation: Sync two differing copies of -E docs (#10446)
Alphabetize both lists. Put platform-specific docs in both places too.
2011-02-04 11:45:26 -05:00
David Cole a58ace68ce Fix KWStyle line-too-long complaint (#2828) 2011-02-04 10:38:22 -05:00
David Cole 106958c047 Add CMAKE_ARGC and CMAKE_ARGV0..N-1 variables (#2828)
For now, these variables are only available in -P script mode.
2011-02-02 21:19:01 -05:00
David Cole 94d1684a8f Add CMAKE_SCRIPT_MODE_FILE variable (#2828)
New CMake variable is set when processing a -P script file,
but not when configuring a project.
2011-02-02 18:18:14 -05:00
Brad King dd2f81491e Merge branch 'dev/add_test-working-directory' into dev/strict-mode
Conflicts:
	Tests/CMakeLists.txt
2011-01-27 14:39:55 -05:00
Brad King 8704525f20 Reject directory names containing '=' (#11689)
Some characters are not well-supported by native build systems.  Reject
paths containing such characters before even trying to configure a
project.
2011-01-14 10:03:22 -05:00
Ben Boeckel 8354413463 Add method to unwatch a manual variable 2011-01-13 17:58:04 -05:00
Ben Boeckel 8ed3c85c47 Give a better message for unused variables 2011-01-13 17:56:18 -05:00
Brad King ad25a968b9 Merge branch 'ImprovedDotSupport2' into dev/strict-mode
Conflicts:
	Source/cmake.cxx
2010-12-17 10:32:01 -05:00
Brad King 9bcaff02ff Merge branch 'cmake-guiRememberAdvancedCheckbox' into dev/strict-mode
Conflicts:
	Source/QtDialog/CMakeSetupDialog.cxx
2010-12-17 10:31:19 -05:00
Bill Hoffman cddcad5102 Fix incremental linking for VS2010 with nmake or make.
VS2010 deprecated /INCREMENTAL:YES.  This change makes
/INCREMENTAL the flag to use for incremental linking with
VS2010.
2010-12-09 13:32:48 -05:00
Ben Boeckel 88cd4c1e92 Use 'CMake Warning' versus 'warning' for CDash 2010-12-07 14:40:21 -05:00
David Cole 5b00b2a201 Merge topic 'dev/fix-cache-variable-parsing-ambiguity'
8b143fa Condense parsing of cache entries
122ebf1 Support manual cache entries
90abc3a Use cmCacheManager to load entries from the cache
6fe8624 Fix parsing of cache variables without a type
2010-11-23 16:12:24 -05:00
Ben Boeckel 8b143fab66 Condense parsing of cache entries
If a cache line is being parsed, it shouldn't matter whether it has a
type or not; just parse it however possible.
2010-11-22 15:45:30 -05:00
Ben Boeckel 447a04c31c Don't warn during configure when doing everything
This prevents warnings from being generated after configure *and* after
generation if both are going to be run anyways.
2010-11-15 11:03:48 -05:00
Ben Boeckel c18c977ce8 When checking for variables, specify a reason
Allow reasons to begiven for checking for unused variables.
2010-11-15 10:32:15 -05:00
Alex Neundorf 84ce612c65 Move the code for generating dot-files into separate class cmGraphVizWriter
Alex
2010-11-09 21:37:51 +01:00
Alex Neundorf a60b09927d Generate separate dot files for each target, and a big one with everything.
The big all-in-one file is basically unusable for e.g. kdelibs, it contains
around 1000 nodes and the created image is huuuuge !
Too big actually to be displayable or viewable or comprehensable.

Alex
2010-10-31 17:40:46 +01:00
Alex Neundorf 487bd571d5 Properly insert all targets, also those which don't link to anything.
Alex
2010-10-31 16:23:40 +01:00
Alex Neundorf de2b2bf9ef Move the code for collecting targets and libraries into separate functions
Found bug: targets which don't link to anything don't get inserted in
the dot file.

Alex
2010-10-31 15:58:18 +01:00
Alex Neundorf f7d56df39e Remove trailing whitespace and minor formatting changes for the dot-code
Alex
2010-10-31 14:46:09 +01:00
Ben Boeckel a267b99cd6 Fix line lengths 2010-10-06 15:00:52 -04:00
Brad King dacc47853d Merge topic 'vs-project-groups'
fd3249e New USE_FOLDERS property OFF by default. (#3796)
2010-10-05 15:31:49 -04:00
Ben Boeckel 5aa535bdcb Add argument to arg parsing to not set directories
Argument parsing sets the source/build directories, but they may have
been (meaningfully) set before hand. Let's not overwrite them.
2010-10-05 13:44:28 -04:00
David Cole fd3249e11a New USE_FOLDERS property OFF by default. (#3796)
Visual Studio Express editions do not support solution folders,
so default behavior should be as if USE_FOLDERS global property
is OFF.

Also, allow folder names to be the same as target names: internally,
use a prefix to distinguish folder GUIDs from target GUIDs. Add
a target and folder with the same name in the ExternalProject
test to exercise this code.

For CMake itself, provide a new option CMAKE_USE_FOLDERS that
defaults to ON so that Visual Studio users get a nicely organized
CMake project. Express edition users will have to turn off the
CMAKE_USE_FOLDERS option in order to build CMake in the VS Express
IDE.
2010-10-02 14:31:02 -04:00