Brad King
d602a3db85
BUG: Enforce matching policy PUSH/POP in all files
...
The documentation of cmake_policy PUSH and POP states that they must
always match. Previously we enforced this only for the top scope of
each CMakeLists.txt file. This enforces the requirement for all files.
2009-01-15 14:37:14 -05:00
Brad King
35e391c93b
ENH: Provide variable CMAKE_VERSION
...
This creates the variable CMAKE_VERSION containing the full version of
cmake in "major.minor.patch" format. It is particularly useful with the
component-wise version comparison provided by the if() command.
2009-01-15 08:57:44 -05:00
Brad King
ed3bb743f4
ENH: Improve test property speed with a map
...
Previously we stored a vector of tests to preserve their order.
Property set/get operations would do a linear search for matching tests.
This uses a map to efficiently look up tests while keeping the original
order with a vector for test file generation.
2009-01-05 15:00:57 -05:00
Bill Hoffman
0c24570ee4
BUG: fix issue with -D and cache force
2008-11-21 16:32:39 -05:00
Brad King
0d425cd501
BUG: Finish fix to old DEFINITIONS property
...
The cmMakefile::DefineFlagsOrig ivar was created to help preserve the
old DEFINITIONS property behavior now that definitions are moved from
DefineFlags to the COMPILE_DEFINITIONS directory property. This fixes
propagation of the original value into subdirectories.
2008-10-09 13:52:25 -04:00
Brad King
0ad5eb177b
ENH: Return utility target after creation
...
After creating a utility target with AddUtilityCommand, return a pointer
to the cmTarget instance so the caller may further modify the target as
needed.
2008-10-09 11:00:54 -04:00
Bill Hoffman
ecf312ccc8
STYLE: fix line length stuff for KWStyle
2008-10-01 09:04:27 -04:00
Brad King
5f57efb417
BUG: Skip a command if its arguments fail to parse
...
If the arguments to a command fail to parse correctly due to a syntax
error, the command should not be invoked. This avoids problems created
by processing of commands with bad arguments. Even though the build
system will not be generated, the command may affect files on disk that
persist across CMake runs.
2008-09-24 08:51:33 -04:00
Brad King
d524f3675e
ENH: Improve argument parsing error messages
...
Previously error messages produced by parsing of command argument
variable references, such as bad $KEY{VAR} syntax or a bad escape
sequence, did not provide good context information. Errors parsing
arguments inside macro invocations gave no context at all. Furthermore,
some errors such as a missing close curly "${VAR" would be reported but
build files would still be generated.
These changes teach CMake to report errors with good context information
for all command argument parsing problems. Policy CMP0010 is introduced
so that existing projects that built despite such errors will continue
to work.
2008-09-24 08:51:19 -04:00
Brad King
33e865c041
ENH: Add unset() command.
...
This introduces the unset() command to make it easy to unset CMake
variables, environment variables, and CMake cache variables. Previously
it was not even possible to unset ENV or CACHE variables (as in
completely remove them). Changes based on patch from Philip Lowman.
See issue #7507 .
2008-08-25 10:31:29 -04:00
Brad King
8ee5c92015
BUG: Linking to modules is for 2.2 compat only
...
The compatibility check to allow linking to modules should test for
CMake 2.2, not the unreleased 2.3. See issue #7500 . Furthermore, the
message should be more clear about fixing the code instead of setting
CMAKE_BACKWARDS_COMPATIBILITY unless one is just trying to build an
existing project.
2008-08-19 10:28:22 -04:00
Brad King
f50ed1fd88
ENH: Improve errors when a policy is REQUIRED
...
In the future some policies may be set to REQUIRED_IF_USED or
REQUIRED_ALWAYS. This change clarifies the error messages users receive
when violating the requirements.
2008-08-18 16:29:00 -04:00
Bill Hoffman
6f31b0dfbd
ENH: add a --trace option
2008-07-31 10:33:25 -04:00
Brad King
b9b11903ab
BUG: Fix computed directory property DEFINITIONS.
...
- The property tracks the value formed by add_definitions
and remove_definitions command invocations.
- The string should be maintained for use in returning for the
DEFINITIONS property value.
- It is no longer used for any other purpose.
- The DEFINITIONS property was recently documented as deprecated.
- See bug #7239 .
2008-06-26 13:30:10 -04:00
Brad King
d8e05b43a1
ENH: Update documentation of computed directory properites.
...
- Fix documentation of get_directory_property command.
- Convert its list of computed directory properties to be
defined/documented directory properties.
2008-06-26 10:58:44 -04:00
Brad King
2ca9a70fd1
BUG: Fix PARENT_DIRECTORY property in top-level to not crash.
2008-06-26 10:58:16 -04:00
Bill Hoffman
02ff910044
BUG: fix for bug 7239, DEFINITIONS property not backwards compatible to 2.4
2008-06-25 09:44:56 -04:00
Brad King
7fc72e6471
ENH: Allow custom commands with VERBATIM option to have $(SomeVar) make variable replacement.
2008-06-04 12:10:52 -04:00
Ken Martin
0080c2b9b5
COMP: fix warning
2008-06-02 09:39:13 -04:00
Ken Martin
d0d3c6c212
ENH: make end of file checking for close if, foreach, macro, functions etc enabled. Not sure why it was disabled to start with, but I suspect I will find out. In reponse to Bill email about a ctest -S script with a function that waqs not closed. Closure was only checked for regular listfiles not other files.
2008-05-31 08:15:00 -04:00
Brad King
a1bb7e90ef
ENH: Allow users to specify macro-like #include line transforms for dependency scanning.
...
- Define IMPLICIT_DEPENDS_INCLUDE_TRANSFORM property on targets and directories.
- Make the directory version inherited.
- See issue #6648 .
2008-05-14 11:54:52 -04:00
Brad King
1381aab4b7
BUG: Remove check for files written by file(WRITE) being loaded.
...
- CMake 1.8 and below did not do the check but could get in
infinite loops due to the local generate step.
- CMake 2.0 added the check but failed to perform it in directories
with no targets (see bug #678 ).
- CMake 2.2 removed the local generate which fixed the problem but
did not remove the check.
- Between CMake 2.4 and 2.6.0rc6 the check was fixed to work even
when no targets appear in a directory (see bug #6923 ).
- Bottom line: the check is no longer needed.
2008-04-30 13:42:40 -04:00
Bill Hoffman
10c91ded4f
ENH: add support for Intel Fortran Visual studio IDE
2008-04-30 13:26:04 -04:00
Brad King
fb8c255c2d
ENH: In cmMakefile::IssueMessage report the directory-level context even if no list file is currently being processed.
2008-04-29 14:17:28 -04:00
Brad King
e3666a1de5
ENH: Allow policy CMP0000 to be set explicitly
...
- Message for missing cmake_minimum_required is not issued
until the end of processing the top CMakeLists.txt file
- During processing a cmake_policy command may set behavior
- OLD behavior is to silently ignore the problem
- NEW behavior is to issue an error instead of a warning
2008-03-31 13:33:09 -04:00
Brad King
3374d12ff0
BUG: Fix impl of CMP0005 regex to match value-less definitions.
2008-03-13 17:38:51 -04:00
Brad King
9a83ce6efc
ENH: Add policy CMP0005 to decide whether add_definitions should escape defs.
2008-03-13 17:11:57 -04:00
Brad King
fb0296656d
ENH: Improve error message when invalid policy is given.
2008-03-13 14:13:44 -04:00
Brad King
f7f03347a6
ENH: Improve new error/warning message generation
...
- Add cmListFileBacktrace to record stack traces
- Move main IssueMessage method to the cmake class instance
(make the backtrace an explicit argument)
- Change cmMakefile::IssueMessage to construct a backtrace
and call the cmake instance version
- Record a backtrace at the point a target is created
(useful later for messages issued by generators)
2008-03-13 13:48:57 -04:00
Ken Martin
73df9a5cd4
ENH: change CMP_ to CMP
2008-03-13 11:38:46 -04:00
Bill Hoffman
5ab6c0f0ed
ENH: remove abort calls and replace with an IssueMessage INTERANL_ERROR, better to not crash on the end user.
2008-03-12 21:06:32 -04:00
Bill Hoffman
c559ce8f6f
STYLE: fix line len
2008-03-12 09:25:14 -04:00
Bill Hoffman
84cea9806f
ENH: fix warning message a bit
2008-03-11 17:27:24 -04:00
Bill Hoffman
a547ff61cd
ENH: add a way to suppress the new policy warnings, still need ccmake and gui's
2008-03-11 15:17:58 -04:00
Bill Hoffman
dc9245df6c
ENH: add enum to IssueMessage
2008-03-11 10:29:56 -04:00
Brad King
7f2bf83132
ENH: Enforce matching PUSH/POP calls for cmake_policy.
2008-03-10 15:41:07 -04:00
Brad King
eb6b300978
ENH: Add directory-level context information to error/warning messages when no call stack is present.
2008-03-10 15:40:57 -04:00
Brad King
b2d7a839a4
COMP: Avoid using operator-> on const_reverse_iterator to help old compilers.
2008-03-08 09:21:30 -05:00
Brad King
192de486df
ENH: Cleanup policy generic documentation. Cleanup some policy error/warning messages.
2008-03-08 09:13:13 -05:00
Brad King
46bf0347a3
ENH: Finish creating, documenting, and enforcing policy CMP_0002.
2008-03-07 16:36:57 -05:00
Brad King
d4f66dfa32
ENH: In cmMakefile::IssueMessage use cmDocumentationFormatterText to format the message nicely.
2008-03-07 16:01:22 -05:00
Brad King
5233b75a77
ENH: Improve handling of old-style compatibility.
...
- Remove CMP_0001 (no slash in target name) and restore
old CMAKE_BACKWARDS_COMPATIBILITY check for it
- Replace all checks of CMAKE_BACKWARDS_COMPATIBILITY
with cmLocalGenerator::NeedBackwardsCompatibility calls
- Create new CMP_0001 to determine whether or not
CMAKE_BACKWARDS_COMPATIBILITY is used.
(old = use, new = ignore)
- Show CMAKE_BACKWARDS_COMPATIBILITY in cache only when
CMP_0001 is set to OLD or WARN
- Update documentation of cmake_policy and cmake_minimum_required
to indicate their relationship and the 2.4 version boundary
- When no cmake policy version is set in top level makefile
implicitly call cmake_policy(VERSION 2.4) which restores
CMAKE_BACKWARDS_COMPATIBILITY and other 2.4 compatibility
- Fix tests MakeClean and Preprocess to call
cmake_policy(VERSION 2.6) because they depend on new policies
2008-03-07 15:30:35 -05:00
Brad King
52ad7a5a97
BUG: Do not produce whitespace-only lines when indenting messages in new error/warning format.
2008-03-07 09:09:21 -05:00
Brad King
680104a490
ENH: New format for warning and error messages
...
- Add cmMakefile methods IssueError and IssueWarning
- Maintain an explicit call stack in cmMakefile
- Include context/call-stack info in messages
- Nested errors now unwind the call stack
- Use new mechanism for policy warnings and errors
- Improve policy error message
- Include cmExecutionStatus pointer in call stack
so that errors deeper in the C++ stack under
a command invocation will become errors for the
command
2008-03-07 08:40:36 -05:00
Ken Martin
adddcea5d7
BUG: change the handling of CMAKE_MINIMUM_REQUIRED and BACKWARDS_COMPATIBILITY and extend the documentaiton quite a bit
2008-03-06 10:57:59 -05:00
Brad King
49549560b2
ENH: Improve cmake_policy command signature
...
- Replace NEW and OLD modes with a SET mode for clarity
- Enforce VERSION argument validity (major.minor[.patch])
2008-03-05 18:21:10 -05:00
Ken Martin
f2c6e9e480
BUG: some fixes, still a few to go
2008-03-05 11:41:25 -05:00
Brad King
ddd6ce04ec
BUG: Make sure at least one policy stack entry is created for every cmMakefile instance.
2008-03-04 18:57:14 -05:00
Ken Martin
7b5d1c4c1e
COMP: fix warning
2008-03-02 09:11:26 -05:00
Ken Martin
6f6b80fded
BUG: bad loop index unsigned compared to zero
2008-03-01 16:21:41 -05:00
Ken Martin
d7db2d086c
COMP: fix some warnings
2008-03-01 15:44:17 -05:00
Ken Martin
d49ef18f8a
ENH: add first cut and policies still need to add the doc support
2008-03-01 15:20:35 -05:00
Bill Hoffman
f386c2aae0
ENH: make CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS the default and remove the property. If any value is specified in an endif, endforeach, endwhile, etc then make sure it matches the start string. If no values are given then it is no longer an error.
2008-02-29 12:18:11 -05:00
Brad King
1c0595c73f
ENH: Add global property ALLOW_DUPLICATE_CUSTOM_TARGETS to help existing projects that depend on having duplicate custom targets. It is allowed only for Makefile generators. See bug#6348.
2008-02-14 16:42:29 -05:00
Brad King
5b02a4a864
ENH: Re-enable diagnosis of non-unique target names.
...
- Re-enable enforcement in cmMakefile::EnforceUniqueName
- Improve error message to help user resolve the problem
- Fix Modules/CTestTargets.cmake to not duplicate testing targets
- Move commands used by the changes to Modules/CTestTargets.cmake
to build during bootstrap: DEFINE_PROPERTY, GET_PROPERTY
2008-02-14 11:58:32 -05:00
Brad King
8175b10078
BUG: Disable enforcement of unique target names until CTestTargets can be fixed.
2008-02-12 10:19:38 -05:00
Brad King
ac0e58dcfb
ENH: Enforce global target name uniqueness.
...
- Error if imported target is involved in conflict
- Error for non-imported target conflict unless
CMAKE_BACKWARDS_COMPATIBILITY <= 2.4
- Include OUTPUT_NAME property in error message
- Update add_executable and add_library command documentation
2008-02-11 13:35:39 -05:00
Brad King
739a463539
ENH: Add cmMakefile::NeedBackwardsCompatibility method to pass through to cmLocalGenerator::NeedBackwardsCompatibility for convenience.
2008-02-11 13:35:30 -05:00
Brad King
45d0dd1344
BUG: Fix misuse of stl vector that caused definitions to be dropped by cmMakefile::PushScope.
2008-01-30 08:37:38 -05:00
Brad King
5594ad4885
ENH: Updated exporting and importing of targets to support libraries and configurations.
...
- Created cmExportFileGenerator hierarchy to implement export file generation
- Installed exports use per-config import files loaded by a central one.
- Include soname of shared libraries in import information
- Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
- Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
- Import files compute the installation prefix relative to their location when loaded
- Add mapping of importer configurations to importee configurations
- Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
- Scope IMPORTED targets within directories to isolate them
- Place all properties created by import files in the IMPORTED namespace
- Document INSTALL(EXPORT) and EXPORT() commands.
- Document IMPORTED signature of add_executable and add_library
- Enable finding of imported targets in cmComputeLinkDepends
2008-01-28 08:38:36 -05:00
Brad King
7213408287
ENH: Added cmMakefile::NeedCacheCompatibility method and support for it in cmCacheManager. This will allow commands to modify their behavior when running with a cache loaded from an earlier CMake version.
2008-01-24 07:37:08 -05:00
Ken Martin
0e69d38004
ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class
2008-01-23 10:28:26 -05:00
Alexander Neundorf
52b96e5bd9
BUG: don't crash if cmMakefile::RaiseScope() is called from a cmake file in
...
the top level directory in normal code (i.e. not within a function)
Alex
2008-01-18 17:11:50 -05:00
Brad King
9d57dbd098
ENH: Make per-configuration COMPILE_DEFINITIONS_<CONFIG> directory property initialized from parent.
2008-01-17 20:34:10 -05:00
Brad King
7f589c9f23
BUG: COMPILE_DEFINITIONS directory property needs to be inherited from parent when a directory is created.
2008-01-17 19:50:39 -05:00
Brad King
433099ecdd
ENH: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into a COMPILE_DEFINITIONS directory property.
2008-01-17 19:29:43 -05:00
Brad King
caca9b8065
ENH: Add AppendProperty methods for use by C++ code in CMake. Simplify implementation of SET_PROPERTY command by using them.
2008-01-17 18:13:55 -05:00
Amitha Perera
4d9259c15b
STYLE: Spelling fixes on documentation
2008-01-09 22:09:19 -05:00
Ken Martin
ac4c2f675a
ENH: change raise_scope signature to be safer for returned varuables
2008-01-03 11:22:33 -05:00
Brad King
dcd9a1b59f
BUG: Make RAISE_SCOPE function work when variable is not defined.
2008-01-02 17:49:16 -05:00
Bill Hoffman
b479c6a8a9
ENH: add ability to have manifest files and incremental linking with make and nmake
2008-01-01 15:13:41 -05:00
Alexander Neundorf
3a304f8e1b
STYLE: nicer error message:
...
"Command options() is not scriptable" is IMO better to understand than
"Command options not scriptable" (with all uppercase commands it was easier to see)
Alex
2007-12-19 16:46:15 -05:00
Ken Martin
f4b1c3880b
ENH: add functions and raise scope
2007-12-03 13:35:41 -05:00
Ken Martin
433a914910
ENH: different way of testing properties
2007-11-06 14:16:00 -05:00
Ken Martin
923b51ece0
COMP: fix for when STRICT is defined, and fix for props that have no docs
2007-10-23 10:40:49 -04:00
Ken Martin
6cdf032505
ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now
2007-10-22 12:49:09 -04:00
Alexander Neundorf
fc9f19b202
COMP: explicitely cast to int to silence warning with msvc8
...
Alex
2007-08-28 16:27:10 -04:00
Alexander Neundorf
f55dd81190
COMP: parent is not used anymore with this patch, since now the name is
...
given as a vector of components
Alex
2007-08-26 03:17:11 -04:00
Alexander Neundorf
9220e97401
BUG: fix #4057 (which had several duplicates): handle recursivew source groups better, i.e. multiple sourcegroups with the same end component work now
...
Alex
2007-08-24 14:21:49 -04:00
Alexander Neundorf
512e0d40ef
ENH: set UNIX, WIN32 and APPLE in cmMakefile.cxx as it was before, so it
...
works for scripts, then reset them in CMakeSystemSpecificInformation.cxx, so
the platform modules can set them again for the target system
Alex
2007-08-10 09:07:39 -04:00
Alexander Neundorf
176fe63d15
ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set in
...
cmMakefile.cxx, but now in the platform files and are now valid for the
target platform, not the host platform.
New variables CMAKE_HOST_WIN32, CMAKE_HOST_UNIX, CMAKE_HOST_APPLE and
CMAKE_HOST_CYGWIN have been added in cmMakefile.cxx (...and have now to be
used in all cmake files which are executed before
CMakeSystemSpecificInformation.cmake is loaded). For compatibility the old
set is set to the new one in CMakeDetermineSystem.cmake and reset before the
system platform files are loaded, so custom language or compiler modules
which use these should still work.
Alex
2007-08-09 14:45:23 -04:00
Brad King
d7118006de
BUG: Target exclusion-from-all tests should always use the root local generator associated with the all target being tested.
2007-08-03 15:44:25 -04:00
Alexander Neundorf
581518919b
STYLE: even more output when --debug-output is used
...
Alex
2007-07-20 08:48:32 -04:00
Alexander Neundorf
55303d6dd2
STYLE: fix line lengths
...
Alex
2007-07-20 08:36:16 -04:00
Alexander Neundorf
8c77fe55dc
STYLE: fix some typos, nicer debug output
...
Alex
2007-07-19 11:13:01 -04:00
Alexander Neundorf
95a8331edb
ENH: produce a lot more output when running with --debug-output
...
-try to fix build error on HPUX
Alex
2007-07-17 09:25:08 -04:00
Alexander Neundorf
fac8604810
BUG: GET_DIRECTORY_PROPERTY(INCLUDE_DIRECTORIES|LINK_DIRECTORIES) wasn't
...
working, for both the result was always empty, since
cmMakefile::GetProperty() recognized it as a special property, constructed a
correct return value and called cmMakefile::SetProperty() with this list of
directories, which then didn't actually set the property, but applied it to
the internal vector of include/link directories. The following
getPropertyValue in cmMakefile::GetProperty() then still didn't find it and
returned nothing. Now for all special property the static string output is
used and its content is returned. I'm not sure it is the right way to fix
this problem but at least it seems to work and it fixes the Paraview3 build
Alex
2007-07-16 13:26:56 -04:00
Alexander Neundorf
ab10b43ec5
ENH: change the way #cmakedefine is changed to #undef, so it is similar to
...
what autoconf does. This makes porting software from autoconf to cmake
easier, since it's easier to diff the resulting config headers.
Now the following
#cmakedefine HAVE_STRING_H 1
#cmakedefine HAVE_STRLCAT 1
produce:
#define HAVE_STRING_H 1
/* #undef HAVE_STRLCAT */
whereas before they produced:
#define HAVE_STRING_H 1
/* #undef HAVE_STRLCAT 1 */
Since it's commented out anyway, it's now change in behaviour.
Alex
2007-07-11 15:50:32 -04:00
Ken Martin
8c641677e9
ENH: some cleanup of get property commands
2007-07-10 13:52:41 -04:00
Alexander Neundorf
43de8c8628
ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to do
...
something like this:
ENABLE_LANGUAGE(ASM-ATT)
IF(CMAKE_ASM-ATT_COMPILER_WORKS)
... do assembler stufff
ELSE(CMAKE_ASM-ATT_COMPILER_WORKS)
... fallback to generic C/C++
ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS)
Alex
2007-06-28 09:09:26 -04:00
Ken Martin
509f1fb9cb
ENH: some property cleanup and added GetProperty
2007-06-25 09:51:37 -04:00
Alexander Neundorf
f7d4f27c2a
ENH: add IMPORT keyword to ADD_LIBRARY, dependencies are not yet working
...
STYLE: fix line lengths and indentation, use enum as argument to AddLibrary() instead of int (which was initialized from a bool in some cases)
Alex
2007-06-22 09:58:10 -04:00
Brad King
35936433e1
ENH: Merging changes from branch CMake-SourceFile2-b between tags
...
CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk. This
commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and
CMake-SourceFile2-b-mp1-post on the trunk.
The changes re-implement cmSourceFile and the use of it to allow
instances to be created much earlier. The use of cmSourceFileLocation
allows locating a source file referenced by a user to be much simpler
and more robust. The two SetName methods are no longer needed so some
duplicate code has been removed. The strange "SourceName" stuff is
gone. Code that created cmSourceFile instances on the stack and then
sent them to cmMakefile::AddSource has been simplified and converted
to getting cmSourceFile instances from cmMakefile. The CPluginAPI has
preserved the old API through a compatibility interface.
Source lists are gone. Targets now get real instances of cmSourceFile
right away instead of storing a list of strings until the final pass.
TraceVSDependencies has been re-written to avoid the use of
SourceName. It is now called TraceDependencies since it is not just
for VS. It is now implemented with a helper object which makes the
code simpler.
2007-06-18 11:59:23 -04:00
Brad King
28e94533dd
BUG: More problems with cmMakefile copy-constructor. It seems the regular expression class cannot be assigned but does not enforce this limitation at compile time.
2007-06-11 10:25:40 -04:00
Brad King
5e0da0b0eb
BUG: Copy constructor needs to copy regular expression members.
2007-06-08 17:44:36 -04:00
Alexander Neundorf
0ddc9f62e5
ENH: add cmExternalMakefileProjectGenerator, which should make it easier to
...
write generators for IDE projects, which use already existing makefiles
(current the kdevelop generator)
-first stept of the export interface, iniitial export() command
-more replacements for the FIND_XXX docs
Alex
2007-06-08 11:57:16 -04:00
Brad King
db0f26e852
BUG: Fixed @ONLY configuration to not try to parse ${} syntax at all. This fixes the original fix to bug#4393 and adds a test.
2007-06-06 16:20:02 -04:00
Brad King
d2f62e6ac3
ENH: Made cmTarget::GetSourceLists return a reference to const so that all additions of sources must go through access methods in cmTarget.
2007-05-28 09:59:08 -04:00
Brad King
ba7780a3c4
ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create targets. No targets of type cmTarget::INSTALL_FILES or cmTarget::INSTALL_PROGRAMS are created, so we do not need to check for them everywhere anymore.
2007-05-23 15:40:12 -04:00
Alexander Neundorf
4878c00905
ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates an
...
"imported" executable target. This can then be used e.g. with
ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for
"imported" targets, and FindTarget() now takes an additional argument bool
useImportedTargets to specify whether you also want to search in the
imported targets or only in the "normal" targets.
Alex
2007-05-22 10:24:59 -04:00
Brad King
9a5b4eba97
BUG: All variable accesses should produce watch callbacks, including IF(DEFINED <var>) ones. Instead we define a new access type for IF(DEFINED) so that the error does not show up for backward compatibility variables.
2007-05-17 17:40:59 -04:00
Brad King
b8928b0c8e
BUG: Do not complain about missing watched variables when they are accessd with IF(DEFINED VAR).
2007-05-17 15:12:13 -04:00
Brad King
bdc7792e40
COMP: GCC 2.95 does not have std::string::clear() method.
2007-05-17 14:47:18 -04:00
Alexander Neundorf
61d3444f93
ENH: merge CMake-CrossCompileBasic to HEAD
...
-add a RESULT_VARIABLE to INCLUDE()
-add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain
-have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system)
-use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to
run the executables if they have a different suffix because they are
probably crosscompiled, but nevertheless it should be able to find them
-make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE
-support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.)
-move ranlib on OSX from the file command to a command in executed in cmake_install.cmake
-add support for stripping during install in cmake_install.cmake
-split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools
-remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms
-create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these
-add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a
list of directories which will be prepended to all search directories, right
now as a cmake variable, turning it into a global cmake property may need
some more work
-remove cmTestTestHandler::TryExecutable(), it's unused
-split cmFileCommand::HandleInstall() into slightly smaller functions
Alex
2007-05-17 13:20:44 -04:00
Alexander Neundorf
7f11536704
ENH: now target names can be used in add_custom_command() and
...
add_custom_target() as COMMAND, and cmake will recognize them and replace
them with the actual output path of these executables. Also the dependency
will be added automatically. Test included.
ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(),
so it is done now in one central place
Alex
2007-05-09 08:25:45 -04:00
Alexander Neundorf
16b1f05fc2
COMP: fix warning on VS8: conversion unsigned int -> size_t
...
Alex
2007-05-04 09:50:39 -04:00
Alexander Neundorf
ef0b9ff2cc
BUG: fix cmake listfile stack: if a file could not be opened, remove it from
...
the stack (usually CMakeCInformation.cmake and CMakeCXXInformation.cmake
which both put Linux-gcc.cmake on the stack without removing it again:
INCLUDE(... OPTIONAL) )
STYLE: better readable output formatting of the listfile stack, now in the
same order as in gdb or with include files
Alex
2007-05-01 11:46:47 -04:00
Andy Cedilnik
f9f1ccadb3
ENH: Add variable watch command
2007-04-11 15:13:05 -04:00
Brad King
cc13a060c6
STYLE: Fix line-too-long.
2007-04-05 09:19:29 -04:00
Andy Cedilnik
6fb9e2781a
ENH: Add variable for the current list file
2007-04-04 12:05:10 -04:00
Brad King
5a32aa5919
ENH: Added target property ENABLE_EXPORTS for executable targets. It enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210 .
2007-03-22 09:45:25 -04:00
Ken Martin
f52d37c26f
BUG: change in how set cache overrides local definitions. Should mainly be a NOP change for most cases
2007-03-15 13:48:15 -04:00
Ken Martin
c53b26baf2
ENH: some more cleanup
2007-03-13 15:18:27 -04:00
Bill Hoffman
5891ba16ce
ENH: add project to target map, not used yet, but created
2007-03-13 14:23:08 -04:00
Ken Martin
b99129d2d8
ENH: some code cleanup
2007-03-12 10:26:59 -04:00
Ken Martin
bfb3598c4b
BUG: improve bad argument handling for INCLUDE_DIRECTORIES and ADD_DEFINITIONS bug 4364
2007-03-07 11:03:57 -05:00
Ken Martin
e5e2e6a3b3
BUG: cleanup paths in GetSourceFile to handle bug 2724
2007-02-28 14:45:58 -05:00
Andy Cedilnik
8ad3430931
ENH: Make EXCLUDE_FROM_ALL a target and directory properties. Also, make IsInAll use EXCLUDE_FROM_ALL. Also, enable the test that tests this
2007-02-23 09:46:27 -05:00
Bill Hoffman
0e95a190bc
ENH: add atonly support to cmCommandArgumentParserHelper.cxx and remove old non-yacc parser code from cmMakefile.cxx
2007-02-09 13:44:37 -05:00
Ken Martin
5d11564c35
ENH: allow source file properties to chain to Directories and up
2006-12-13 12:19:59 -05:00
Ken Martin
27379d7b08
ENH: make properties a bit more formal with documentation and chaining
2006-12-07 09:45:32 -05:00
Bill Hoffman
3a32cec969
ENH: merge in changes for beos support
2006-12-04 17:26:41 -05:00
Ken Martin
2915f24274
COMP: fix compile issue on Sun hopefully
2006-11-29 17:10:29 -05:00
Bill Hoffman
ccb77b65c6
ENH: unify version stuff, get rid of it out of cmake and cmMakefile and only use cmVersion
2006-11-29 15:59:16 -05:00
Ken Martin
d6219588c0
COMP: fix compile issue on Sun
2006-11-29 15:45:49 -05:00
Ken Martin
daa6d2bc04
ENH: updated handling of debug and optimized target link libraries
2006-11-29 11:00:17 -05:00
Bill Hoffman
e9a80cd8a9
ENH: add rc to version stuff
2006-11-28 16:09:21 -05:00
Bill Hoffman
2852600648
ENH: fix for when a library is tagged both debug and optimized
2006-11-20 13:57:12 -05:00
Bill Hoffman
f405014a8d
BUG: undo bug fix 2722, still replace @foo@ in cmake files
2006-11-17 15:35:09 -05:00
Ken Martin
786fdbc196
ENH: fix a bug with useing debuf optimized libs from other builds
2006-11-16 10:57:00 -05:00
Brad King
c11cf31c9b
ENH: Adding SYSTEM option to INCLUDE_DIRECTORIES command. This addresses bug #3462 .
2006-10-05 08:55:59 -04:00
Brad King
5a6b0792cd
ENH: Added COMMENT option to ADD_CUSTOM_TARGET. This addresses bug#3461.
2006-10-04 18:10:30 -04:00
Brad King
523075ded5
BUG: Do not replace @VAR@ syntax in list files. This addresses bug #2722 .
2006-10-04 14:37:42 -04:00
Brad King
1d9f287af7
ENH: Added NOT_IN_ALL option for ADD_LIBRARY and ADD_EXECUTABLE to avoid building the targets by default.
2006-10-02 11:14:00 -04:00
Brad King
e4ec89d036
ENH: Added SYMBOLIC source file property to mark custom command outputs that are never actually created on disk. This is used by the Watcom WMake generator to generate the .SYMBOLIC mark on the files in the make system.
2006-10-02 10:20:53 -04:00
Brad King
9a1d4e92eb
BUG: Fix/cleanup custom commands and custom targets. Make empty comment strings work. Fix ZERO_CHECK target always out of date for debugging. Fix Makefile driving of custom commands in a custom target. Fix dependencies on custom targets not in ALL in VS generators.
2006-09-28 16:40:35 -04:00
Brad King
7d2de52c1a
ENH: Cleaned up signature of cmMakefile::AddUtilityCommand. It is not valid to have an output from a utility rule and no calls to the method asked for an output anyway. The argument has been removed.
2006-09-28 13:55:26 -04:00
Brad King
d01b6f1281
ENH: Added VERBATIM option to ADD_CUSTOM_COMMAND and ADD_CUSTOM_TARGET commands. This option enables full escaping of custom command arguments on all platforms. See bug#3786.
2006-09-28 11:30:49 -04:00
Brad King
ff9c167e64
BUG: Reverting previous change until it is further tested.
2006-08-26 14:43:08 -04:00
Brad King
7a31bc8521
BUG: ConfigureFile must read/write in binary mode to avoid windows newline trouble. The problem occurred when configuring a file in cygwin from a path starting with a windows drive letter instead of a posix path.
2006-08-26 14:37:31 -04:00
Brad King
e46829b3f1
ENH: Added platform identifier for QNXNTO. This partially addresses bug#3556.
2006-08-01 14:33:10 -04:00
Brad King
8dda3a2f6e
ENH: Adding .hh file as a C++ header file extension. Remove duplicate code from implementation of unique object name computation for VS generators. This addresses bug#3565.
2006-08-01 10:48:40 -04:00
Andy Cedilnik
a9c0929d39
COMP: Handle both ansi and non-ansi C
2006-07-26 11:46:22 -04:00
Andy Cedilnik
fbdac25f81
ENH: Add a copy constructor to copy the values
2006-07-09 13:19:36 -04:00
Ken Martin
f16b03ec07
ENH: fix subdir issue
2006-06-26 11:27:21 -04:00
Andy Cedilnik
99f4edb4e4
ENH: DIsplay the list file stack when displaying errors
2006-06-22 15:31:19 -04:00
Brad King
c4dcfd2ed0
ENH: Provide access to CMAKE_PATCH_VERSION in CMake code.
2006-06-15 16:42:42 -04:00
Brad King
640c90f068
ENH: Unknown command invocations should be fatal errors.
2006-06-15 10:24:46 -04:00
Ken Martin
8e9a6beccc
ENH: centralized locaiton of CMakeFiles setting
2006-06-14 12:28:32 -04:00
Bill Hoffman
85c5a7dbc0
ENH: fix for replacement of @var @ only legal variable names should be replaced
2006-06-06 09:39:21 -04:00
Brad King
9a74185695
BUG: Fix REMOVE_DEFINITIONS command to not remove substrings.
2006-05-23 12:51:26 -04:00
Bill Hoffman
677fcd1174
ENH: fix line length
2006-05-21 14:06:58 -04:00
Bill Hoffman
0f2f074978
ENH: fix for vtk 4.4 and other projects that may try to link to a module
2006-05-19 13:02:12 -04:00
Ken Martin
47c7108111
STYLE: fix line length
2006-05-12 12:29:09 -04:00
Bill Hoffman
a468872ccd
ENH: add a check to make sure targets only link to libraries and not utility targets to avoid seg faults, bug 3194
2006-05-04 17:54:31 -04:00
Bill Hoffman
fa415043d8
ENH: fix re-run of cmake based on configured files that are done with copy if different and never change
2006-04-11 22:39:12 -04:00
Ken Martin
535acdc7a0
ENH: some performance optimizations
2006-04-11 12:51:20 -04:00
Brad King
d5719f22c1
ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds.
2006-04-11 11:06:19 -04:00
Bill Hoffman
8c06f8e294
ENH: add support for re-running cmake if the cmakefiles change
2006-04-10 13:53:00 -04:00
Andy Cedilnik
a2d8447fb9
BUG: Fix logic. If the variable is not set, then it is always ok to write the file
2006-03-22 14:45:12 -05:00
Andy Cedilnik
ee1975570e
ENH: Allow blocking of writing into the source tree
2006-03-22 14:40:36 -05:00
Ken Martin
10efe3b079
ENH: added some new functionality
2006-03-22 14:06:52 -05:00
Andy Cedilnik
3806c1050d
ENH: Remove things from bootstrap
2006-03-22 09:58:11 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Brad King
6018c27993
BUG: Clarified confusing error message.
2006-03-14 09:37:50 -05:00
Bill Hoffman
0db4cb0d96
ENH: removed unused methods after find changes
2006-03-02 15:03:36 -05:00
Andy Cedilnik
c4156b4531
COMP: Even more global target fixes
2006-02-24 17:35:35 -05:00
Andy Cedilnik
ea5564624c
ENH: Add a notion of a global target
2006-02-23 10:03:24 -05:00
Brad King
96f0266228
ENH: Created new install script generation framework. The INSTALL command creates the generators which are later used by cmLocalGenerator to create the cmake_install.cmake files. A new target installation interface is provided by the INSTALL command which fixes several problems with the INSTALL_TARGETS command. See bug#2691. Bugs 1481 and 1695 are addressed by these changes.
2006-02-19 15:25:27 -05:00
Bill Hoffman
c59937a4a8
ENH: put the system path ahead of the command path
2006-02-17 12:49:09 -05:00
Brad King
f8a8e88a08
BUG: Need to include empty arguments when parsing prefix/suffix lists for FindLibrary.
2006-02-09 19:03:50 -05:00
Brad King
33587ce376
ENH: Added platform settings CMAKE_FIND_LIBRARY_PREFIXES and CMAKE_FIND_LIBRARY_SUFFIXES to allow customized searching for libraries.
2006-02-09 15:05:13 -05:00
Bill Hoffman
347c5f4b46
ENH: add working directory support
2006-02-08 10:58:36 -05:00
Brad King
9163af8745
BUG: Fixed finding of MinGW libraries with a windows build of CMake.
2006-02-07 17:09:41 -05:00
Andy Cedilnik
4259971961
ENH: Since list file cache does not make much sense any more (because of proper list file parsing), and it actually adds unnecessary complications and make ctest scripting not work, take it out
2006-02-07 08:49:42 -05:00
Brad King
938890757a
ENH: Improved support for user-configured search paths. Paths given in the CMAKE_LIBRARY_PATH cmake variable are searched first, then those in the CMAKE_LIBRARY_PATH environment variable, then those listed in the call to the FIND_LIBRARY command and finally those listed in the PATH environment variable. The support is similar for finding include files with FIND_PATH, but the variable is CMAKE_INCLUDE_PATH.
2006-01-27 18:20:55 -05:00
Brad King
22c62c9e65
BUG: Sweeping changes to cleanup computation of target names. This should
...
fix many bugs related to target names being computed inconsistently.
- Centralized computation of a target's file name to a method in
cmTarget. Now that global knowledge is always available the
*_CMAKE_PATH cache variables are no longer needed.
- Centralized computation of link library command lines and link
directory search order.
- Moved computation of link directories needed to link CMake targets
to be after evaluation of linking dependencies.
This also removed alot of duplicate code in which each version had its
own bugs.
This commit is surrounded by the tags
CMake-TargetNameCentralization1-pre
and
CMake-TargetNameCentralization1-post
so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Bill Hoffman
7b1440ab9f
ENH: fix bundles for Mac and Xcode
2006-01-05 09:13:06 -05:00
Bill Hoffman
2c73d2e0f3
ENH: add new cmakedefine01 feature from bug report 2603
2006-01-03 16:40:51 -05:00
Bill Hoffman
9e5c219b87
ENH: change framework order
2006-01-02 11:07:57 -05:00
Bill Hoffman
452925649a
ENH: add better support for framework linking
2005-12-26 13:14:19 -05:00
Brad King
163e3ff56c
ENH: Removed cmMakefile arguments from cmTarget methods because cmTarget has the ivar m_Makefile now. Re-implemented cmLocalUnixMakefileGenerator3::AppendAnyDepend to use the new global knowledge and avoid the need to look at the cache for information about other targets. This should fix problems with custom commands and executables with the OUTPUT_NAME set. Also the <target>_LIBRARY_TYPE cache variable is no longer needed at all and has been removed.
2005-12-14 10:47:33 -05:00
Andy Cedilnik
1578bebdad
ENH: Add variable for debugging. This variable CMAKE_PARENT_LIST_FILE holds the parent CMake list file of the current cmake list file.
2005-11-30 13:46:48 -05:00
Brad King
102dd34bdc
BUG: Do not expand escape sequences when re-expanding variables in include directories, link directories, and link libraries.
2005-11-22 17:03:07 -05:00
Ken Martin
345fb993aa
ENH: some fixes for better backwards compatibility
2005-10-10 11:49:17 -04:00
Andy Cedilnik
bebc745824
ENH: Add set and get test propety command
2005-07-31 11:51:42 -04:00
Brad King
6873773487
BUG: InitializeFromParent should copy include file regular expressions.
2005-07-27 17:23:39 -04:00
Bill Hoffman
a9692f0a18
BUG: fix for bug 1850 wrapping can leave out files if they are a substring of another file
2005-07-14 15:12:02 -04:00
Bill Hoffman
aa47caab2d
FIX: apply patch from bug# 1965
2005-07-13 11:21:30 -04:00
Ken Martin
13e99490fb
BUG: library return values were not UNIX slashes on Win98
2005-07-07 15:06:57 -04:00
Ken Martin
c5bfdf6917
ENH: cleaned up some old methods and vars
2005-07-07 11:44:36 -04:00
Ken Martin
121fa374a9
BUG: dont pass unverified char * to streams
2005-06-27 15:59:16 -04:00
Ken Martin
369308ca76
ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk
2005-06-22 09:06:46 -04:00
Ken Martin
e6f9ea3d13
BUG: goof in new feature fixed
2005-06-20 16:24:37 -04:00
Ken Martin
26c53fe14c
ENH: modified GET_TARGET_PROPERTIES to work with all targets
2005-06-20 14:00:48 -04:00
Andy Cedilnik
1bbccc5bef
ENH: Improve handling of escaped characters
2005-06-17 15:50:08 -04:00
Andy Cedilnik
f7ddfbe1fd
ENH: Add extra argument
2005-06-16 16:33:24 -04:00
Andy Cedilnik
29f7e505a5
ENH: Use the new parser that supports nested variables
2005-06-13 11:00:29 -04:00
Ken Martin
8f8b72164a
ENH: remove old 1.2 compatability from cmake 2.2
2005-06-10 11:27:41 -04:00
Ken Martin
80f796039c
ENH: remove old 1.2 compatability from cmake 2.2
2005-06-10 10:45:43 -04:00
Andy Cedilnik
a9b729128f
BUG: If there is a fatal error, stop processing list file
2005-05-05 10:40:37 -04:00
Andy Cedilnik
d395b563ed
ENH: Improve internal test handling by creating a test class. Command cmEnableTesting now only sets CMAKE_TESTING_ENABLED and cmAddTest only adds a test to the list. The actual test files are written by local generator. This way we can at some point in the future replace DartTestfile with some XML file
2005-04-24 15:59:51 -04:00
Andy Cedilnik
826405a1b6
ENH: Speedup by storing source name without last extension
2005-04-13 16:35:26 -04:00
Bill Hoffman
1004073942
ENH: performance improvements
2005-04-12 13:27:07 -04:00
Brad King
738bbc767b
BUG: Do not repeat paths when trying the lib/ to lib64/ replacement.
2005-04-07 14:41:34 -04:00
Brad King
0d494a031c
ENH: Adding automatic generation of several 64-bit search path forms.
2005-04-07 14:30:48 -04:00
Bill Hoffman
5e0a796acc
ENH: better fix for 64 bit, add 64 to the name of all directories in the search path
2005-04-06 11:56:04 -04:00
Bill Hoffman
3ca1081419
BUG: try to address Bug 1673 .
2005-04-05 17:06:00 -04:00
Andy Cedilnik
86cebea79a
ENH: More ctest changes and move SetupTest to superclass
2005-04-01 15:48:46 -05:00
Ken Martin
62969492b0
ENH: removed GetParentProjects
2005-03-29 15:34:27 -05:00
Brad King
aa69a14495
BUG: Initializing from parent should copy link directories as well.
2005-03-22 10:23:04 -05:00
Ken Martin
345cf04012
ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings
2005-03-18 10:41:41 -05:00
Ken Martin
791aa6052b
ENH: add support for out of source source
2005-03-14 11:29:15 -05:00
Ken Martin
3ff6722934
ENH: cleanup by removing all the olf local generate junk that i not longer needed
2005-03-10 13:39:38 -05:00
Brad King
c1ca511331
COMP: HP compiler does not like initializing a const std::string & with a const char* (which requires the reference to be bound to a temporary with the scope of the reference).
2005-02-24 13:45:37 -05:00
Brad King
df301a2542
BUG: Fixed GetCacheMinorVersion to not always return 0.
2005-02-24 10:31:17 -05:00
Brad King
39af9ee1e4
ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues.
2005-02-22 10:32:44 -05:00
Brad King
ffb2c0c0e5
BUG: cmSourceFile instances should delete their own custom commands when a new one is set.
2005-02-18 16:19:09 -05:00
Bill Hoffman
cb73410ccb
ENH: more tests are passing
2005-02-16 16:35:32 -05:00
Ken Martin
b1c5f1a7ba
ENH: fix for relative paths
2004-12-03 09:05:07 -05:00
Bill Hoffman
e75992a871
BUG: fix for 1369 before include directories need to be always added
2004-12-02 13:14:14 -05:00
Bill Hoffman
b69606da4c
ENH: look in the windows LIB env variable for libraries
2004-10-27 16:00:54 -04:00
Andy Cedilnik
56234aed4b
PERF: Remove several classes from the bootstrap and so making bootstrap smaller and faster
2004-10-27 10:47:14 -04:00
Bill Hoffman
5bf55d1590
ENH: shorten the symbols a bit and remove maps of std::string for map of cmStdString
2004-09-29 16:07:07 -04:00
Bill Hoffman
692ba48c4e
ENH: major changes to support addition of languages from cmake modules directory.
2004-09-22 14:42:05 -04:00
Bill Hoffman
b5bdf2cb0a
ENH: add better error reporting for file open failures
2004-09-07 16:55:25 -04:00
Bill Hoffman
c2ef51e181
ENH: define language extensions in cmake files and not hard coded, also fix trycompile problem
2004-09-03 12:03:41 -04:00
Bill Hoffman
731369ef9c
ENH: try to initialize all languages at the same time
2004-08-27 08:41:07 -04:00
Bill Hoffman
63e6237600
BUG: fix bug where custom command generated .h files do not get the header_file_only flag set
2004-08-09 13:03:41 -04:00
Bill Hoffman
9655299f08
ENH: initial fortran support
2004-08-06 14:51:41 -04:00
Brad King
3c5bccf8a1
BUG: Fix crash when adding a custom command to a source file that cannot be created.
2004-08-04 17:24:21 -04:00
Brad King
9b1771aef4
BUG: CMAKE_TRY_COMPILE_CONFIGURATION should be obtained from the cmMakefile instance for the listfile containing the TRY_COMPILE call, not the top level listfile.
2004-08-04 16:33:10 -04:00
Brad King
f99d948916
ERR: Removed duplicate default arguments.
2004-08-04 14:34:03 -04:00
Brad King
b6da1d1271
ENH: Added support for special variables CMAKE_CURRENT_LIST_FILE and CMAKE_CURRENT_LIST_LINE that evaluate to the file name and line number in which they appear. This implements the feature request from bug 1012.
2004-08-04 10:45:11 -04:00
Bill Hoffman
c8101e8e47
BUG: fix for bug 998, fix spelling errors
2004-07-26 16:59:55 -04:00
Andy Cedilnik
42ea896d22
ENH: When running cmake with PreLoad make sure CMAKE_CURRENT_SOURCE/BINARY_DIR works
2004-07-20 11:07:37 -04:00
Bill Hoffman
5b63b1843e
BUG: fix spelling errors BUG 952
2004-07-09 14:18:44 -04:00
Bill Hoffman
40fbba22a4
ENH: add CMAKE_FILE_PATH, CMAKE_PROGRAM_PATH, CMAKE_LIBRARY_PATH, and search them first, PATH second, and last the paths listed in the FIND call
2004-06-30 11:31:41 -04:00
Andy Cedilnik
d1470b7d7c
ENH: Detect if there were problems writing file
2004-05-27 12:53:15 -04:00
Andy Cedilnik
3031467e33
ENH: Implement additional make clean files as a directory property instead of cmake variable
2004-05-20 16:56:34 -04:00
Andy Cedilnik
e09e1679ab
ENH: Add method to get definition even if it does not exists
2004-04-27 11:30:31 -04:00
Bill Hoffman
8b0b749a11
ENH: add SUBDIR PREORDER and fix clean for non-relative paths
2004-04-23 12:52:48 -04:00
Bill Hoffman
d59e06595c
BUG: fix for 301 CMAKE_LIBRARY_PATH and CMAKE_INCLUDE_PATH env vars now used in FIND_LIBRARY and FIND_PATH in addtion to and before PATH
2004-04-22 13:24:20 -04:00
Andy Cedilnik
55a71ba572
ENH: Add check for infinite loops. Make sure that files written using WRITE_FILE and FILE WRITE are not used as input files. Fixes Bug #678 - WRITE_FILE and FILE(WRITE...) lead to infinite loops
2004-04-18 14:41:46 -04:00
Andy Cedilnik
504d0bc3b3
ENH: ADD REMOVE_DEFINITION command. Fix feature request: Bug #182 - Add opposite to ADD_DEFINITIONS
2004-04-15 13:58:10 -04:00
Andy Cedilnik
4a1f15c344
ENH: If configure file fails do not create directory
2004-03-28 16:00:57 -05:00
Bill Hoffman
ddb815c125
ENH: add new subdirectory exclude from top option
2004-03-09 16:28:44 -05:00
Andy Cedilnik
f93b1e6d48
ENH: Try to remove warning
2004-03-09 07:50:45 -05:00
Andy Cedilnik
3f752ea4cd
ENH: Move implementation of configure_file to cmMakefile, so that other classes can use it
2004-03-08 19:05:04 -05:00
Brad King
1dd718457f
ENH: Moved variable and #cmakedefine replacement from cmConfigureFileCommand.cxx to a ConfigureString method on cmMakefile. This will give other commands access to the configuration code.
2004-03-03 18:18:47 -05:00
Andy Cedilnik
07bd2d8264
ERR: Fix GetModulesFile
2004-02-29 15:13:01 -05:00
Andy Cedilnik
b1a7421840
ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE
2004-02-28 18:59:19 -05:00
Bill Hoffman
5ccfaefb48
ENH: generate a sln and dsw file for each sub project in a project
2003-11-26 14:29:53 -05:00
Bill Hoffman
eff0a824c4
BUG: hack fix for problem of MS vs 6 and custom target commands
2003-11-03 15:57:56 -05:00
Andy Cedilnik
ac2859aaa3
ENH: Start includding the scripting support
2003-10-29 09:45:26 -05:00
Ken Martin
3baca1e34f
added beta release support
2003-08-11 14:45:16 -04:00
Ken Martin
072db6ad70
removed redundent includes
2003-08-10 18:30:54 -04:00
Ken Martin
6a2f1926d8
removed duplicate include
2003-08-10 16:00:27 -04:00
Andy Cedilnik
a6567329d7
ENH: When fixing cache value with uninitialized type, collapse full paths for PATH and FILEPATH. Closes Bug #82 - Specifying relative path when entering path can break things
2003-08-08 10:07:09 -04:00
Andy Cedilnik
2003b4987a
ENH: Handle untyped but initialized values for boolean AddCacheDefinition. Closes Bug #118 - Specifying cache entries with -D should not need the type
2003-08-08 09:26:55 -04:00
Andy Cedilnik
d0b3391642
ENH: oops, initialize variable
2003-08-06 19:19:17 -04:00
Andy Cedilnik
96d561aabc
ENH: Add option to retrieve list of macros. Close Bug #25 - Get_CMAKE_PROPERTIES
2003-08-06 18:54:13 -04:00
Andy Cedilnik
32bfe66b5d
BUG: Fix problem with uninitialized variables
2003-08-02 09:33:23 -04:00
Andy Cedilnik
2f98c791fa
ENH: Allow specifying cmake variables on the command line without specifying the type Bug #118 - Specifying cache entries with -D should not need the type
2003-08-01 14:10:26 -04:00
Ken Martin
0e067f9223
bug fix for bug # 117
2003-07-31 14:46:17 -04:00
Brad King
48aedb2ba3
ENH: Fully implemented SOURCE_GROUP command.
2003-07-23 15:32:54 -04:00
Andy Cedilnik
18c6f9e0c5
ENH: Initial framework for deprecated commands
2003-07-21 14:44:00 -04:00
Brad King
53510fa603
BUG: Custom commands should have variables expanded before comparing with previously added custom commands.
2003-07-14 10:33:09 -04:00
Brad King
1a4ec91593
BUG#65: Fixed inheritance of CMAKE_CURRENT_SOURCE_DIR and CMAKE_CURRENT_BINARY_DIR.
2003-07-08 13:27:34 -04:00
Ken Martin
e315bff47b
performance improvements
2003-06-24 15:23:34 -04:00
Brad King
38482b46d1
ENH: Merged use of the kwsys RegularExpression class instead of cmRegularExpression.
2003-06-23 14:10:12 -04:00
Brad King
dc3fd5c267
ENH: Merged use of kwsys library.
2003-06-23 08:58:58 -04:00
Ken Martin
aaf2795050
fix to expand variables in custom command outputs and main dependencies
2003-06-20 20:33:43 -04:00
Ken Martin
454c7ad2b6
bug in not expanding variables for custom commands in targets
2003-06-20 13:56:51 -04:00
Ken Martin
e9e312b441
minor perf improvement
2003-06-20 11:23:47 -04:00
Ken Martin
70c65ea016
bug fix for finding source files
2003-06-19 14:27:39 -04:00
Bill Hoffman
5394a75340
BUG: fix not being able to find generated files in the binary tree
2003-06-18 09:13:39 -04:00
Brad King
a5d930a686
BUG: Fixed translation of relative path names to full path names.
2003-06-13 16:59:42 -04:00
Ken Martin
61a3e4fb80
more custom command
2003-06-05 16:45:06 -04:00
Ken Martin
f698e306a7
more changes to support full paths
2003-06-05 16:12:25 -04:00
Ken Martin
5c217cf83f
perf improvement
2003-06-05 15:28:51 -04:00
Ken Martin
adbb5c5e79
more changes to handle full paths correctly
2003-06-05 15:18:16 -04:00
Ken Martin
703242071f
more crazt changes source files now must match with full path
2003-06-05 14:40:25 -04:00
Ken Martin
b53b467414
hopeful fix for backwards compat
2003-06-04 19:04:35 -04:00
Ken Martin
72be61fb57
tricky fix for backwards compat
2003-06-04 16:06:33 -04:00
Bill Hoffman
11a698558e
better error reporting
2003-06-04 14:01:46 -04:00
Bill Hoffman
620b832da3
ENH: allow duplicate commands with the same output to be reduced automatically to one command
2003-06-04 14:00:30 -04:00
Bill Hoffman
fc0a916eee
ENH: allow duplicate commands with the same output to be reduced automatically to one command
2003-06-04 13:42:42 -04:00
Ken Martin
40123f1fce
compielr errors on como
2003-06-04 08:40:09 -04:00
Ken Martin
0b3b21fa63
warning fixes
2003-06-03 14:55:20 -04:00
Ken Martin
ba68f771b3
yikes added new custom command support
2003-06-03 10:30:23 -04:00
Bill Hoffman
5945a5a448
ENH: add some includes for borland 6
2003-05-23 16:40:55 -04:00
Bill Hoffman
90169d041c
make sure M is after m
2003-03-14 11:58:56 -05:00
Brad King
0b6ae58a06
BUG: c extension must come before C.
2003-03-14 10:54:53 -05:00
Ken Martin
2f927a538b
allow the same subdir to be added twice
2003-03-13 12:59:46 -05:00
Andy Cedilnik
ce23446000
Fix regular expressions
2003-03-13 12:48:52 -05:00
Andy Cedilnik
84d15bf00e
Synchronize extension lists
2003-03-13 12:24:16 -05:00
Andy Cedilnik
ce750180ba
Add method which returns a list of all variables
2003-03-06 11:19:28 -05:00
Brad King
1fe42129d4
ENH: Centralized setting of CMake version number to top-level CMake listfile.
2003-02-13 21:57:05 -05:00
Brad King
cde384411d
Several fixes/improvements:
...
- Fixed CollapseFullPath to work on relative paths with base paths
not in the current working directory.
- INCLUDE command now supports relative paths (using above fix).
- Added ABSOLUTE option to GET_FILENAME_COMPONENT command to
unwind symlinks and relative paths.
- Fixed libName_EXPORTS macro definition to be valid C identifier.
- Added DEFINE_SYMBOL target propterty for customizing the export symbol.
- Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7.
Several of these fixes were contributed by Gareth Jones.
2003-02-07 14:04:16 -05:00
Bill Hoffman
94b11a6ee4
ENH: fix warning
2003-02-01 16:39:39 -05:00
Bill Hoffman
f58d7df66a
ENH: add checking for NOTFOUND
2003-01-31 13:50:42 -05:00
Bill Hoffman
2f4ea98a4c
add a fatal error, and make sure c and c++ compilers work before using them
2003-01-21 12:50:48 -05:00
Brad King
d4d04b46cd
BUG: Fix for custom commands with spaces in paths. The arguments were not having spaces escaped.
2003-01-20 19:17:17 -05:00
Andy Cedilnik
5147742a83
Make GetCMakeInstance private and clean cxx file
2003-01-14 09:53:13 -05:00
Ken Martin
bd217452cd
more option on var watches
2003-01-09 11:35:27 -05:00
Andy Cedilnik
829f8382e0
Add option of watching variables
2003-01-08 12:59:52 -05:00
Brad King
54541bd40a
ENH: Improved filename/line number reporting in error message. Macro invocations now chain up the error message.
2002-12-12 11:36:28 -05:00
Brad King
4888c088ae
ENH: Moved ExpandListVariables out of individual commands. Argument evaluation rules are now very consistent. Double quotes can always be used to create exactly one argument, regardless of contents inside.
2002-12-11 18:13:33 -05:00
Andy Cedilnik
3893ee72d2
Add comment support, so that you can see in build process what the custom command does
2002-12-10 16:47:37 -05:00
Bill Hoffman
b0f4a4cb39
ENH: fix IntDir jump and build problem
2002-12-06 15:35:22 -05:00
Ken Martin
cdf3fb6e7b
fix purify FMR
2002-12-03 12:59:40 -05:00
Bill Hoffman
952c2f2d64
add project command even if inheriting
2002-12-02 16:15:36 -05:00
Ken Martin
9e526f797a
removed cmMakefile depend from cmSystemTools
2002-12-02 15:59:59 -05:00
Bill Hoffman
ddbc9e6292
ENH: remove cerr calls
2002-12-02 15:37:27 -05:00
Bill Hoffman
27110975c2
ENH: add PROJECT command if there is not one
2002-12-02 15:30:59 -05:00
Amitha Perera
939035ad91
BUG: the dependency analysis would incorrectly alphabetically re-order the
...
link lines, which affects external libraries pulled up from deep within
the dependency tree. Fixed by preserving order everywhere.
2002-11-19 18:01:05 -05:00
Ken Martin
20b7e6b222
ENH: space fixes and add a status option to message command
2002-11-13 15:59:40 -05:00
Bill Hoffman
f5d95fb078
Complete rework of makefile generators expect trouble
2002-11-08 15:46:08 -05:00
Andy Cedilnik
384fda81a9
Try to remove some warnings
2002-10-24 10:23:11 -04:00
Brad King
1f6a3c67b1
ENH: Added reference to Copyright.txt. Removed old reference to ITK copyright. Changed program name to CMake instead of Insight in source file header. Also removed tabs.
2002-10-23 18:03:27 -04:00
Andy Cedilnik
a518fed4e3
Try to improve source group interface
2002-10-04 18:16:13 -04:00
Ken Martin
85896b3460
minor memory fix
2002-09-26 13:52:12 -04:00
Andy Cedilnik
202600f95a
Add GetLocal on cmMakefile and on local builds do not perform tests
2002-09-20 15:01:00 -04:00
Andy Cedilnik
157e2b4ac3
Add option of TRY_COMPILE to store the output of compilation so that if the output fails you can display it or store it in the file
2002-09-20 13:15:56 -04:00
Andy Cedilnik
c91629109b
Remove unnecessary disabling of output
2002-09-19 16:09:57 -04:00
Andy Cedilnik
f5c6dfcb1c
When doing try compile disable output
2002-09-19 14:35:20 -04:00
Ken Martin
610ff11cf3
now Try compile can include CMAKE_FLAGS
2002-09-18 11:37:40 -04:00
Brad King
aa29bbc326
ENH: Added RemoveDefinition method.
2002-09-18 10:39:41 -04:00
Ken Martin
2a68d21e85
cleaned up some of the cmake interface
2002-09-17 13:59:58 -04:00
Ken Martin
a4ca3229ff
renamed GenerateMakefile to ConfigureFinalPass
2002-09-15 08:52:24 -04:00
Ken Martin
ee592e9b98
some fixes for try compile
2002-09-13 13:48:14 -04:00
Ken Martin
6132184cc3
better trycompile and enable langiages
2002-09-13 10:42:50 -04:00
Ken Martin
2aea6d528e
added a flag if a cmake is in try compile
2002-09-12 11:08:06 -04:00
Andy Cedilnik
bef93dc5c1
Couple of changes: cache variables now have a map of properties. ADVANCED and HELPSTRING are now properties of cache variable, IsAdvanced is gone, so is GetCacheEntry, since cache entries are now all private. To access them, you use the iterator. -ADVANCED cache entries are gone and are replaced by the property of cache variables. The cache file still looks the same, but the -ADVANCED cache entries are created when writing file. MarkAsAdvanced and VariableRequires are fixed. So are curses gui and wizard
2002-09-11 14:05:45 -04:00
Ken Martin
19323b6bac
minor fix in try compile code
2002-09-11 12:52:11 -04:00
Ken Martin
bea21587cf
updated makefile moved commands into cmake and fixed try compile
2002-09-10 16:52:39 -04:00
Brad King
eb1ff5f968
ERR: Fixes for comeau compiler. NULL is a pointer of type void*, and cannot be compared directly with other pointer types. We use 0 instead.
2002-09-10 15:37:28 -04:00
Ken Martin
25ff4552b3
new arch
2002-09-06 13:06:23 -04:00
Ken Martin
d0be2896d7
changed cache manager and registered generators to no longer be singletons
2002-08-28 14:51:10 -04:00
Ken Martin
9f870d3efb
minor bug
2002-08-21 13:16:07 -04:00
Ken Martin
6deb5bbe70
better IF ELSE handling
2002-08-09 12:00:49 -04:00
Ken Martin
3c9206fdd8
makefile now does not ignore NOTFOUND libs and includes
2002-07-25 09:16:17 -04:00
Ken Martin
8a3b2ad92e
makefile now ignores NOTFOUND libs and includes
2002-07-25 08:00:03 -04:00
Ken Martin
8d8470c30e
full variable replacement and removal or empty arguments
2002-07-19 14:42:34 -04:00
Ken Martin
fcc410de44
fixed if statements inside a foreach
2002-07-17 10:48:39 -04:00
Bill Hoffman
ed7a32ebe4
BUG: fix for compile with hp
2002-07-11 14:20:39 -04:00
Ken Martin
32ad30e883
better error handling with if statements
2002-07-10 11:38:38 -04:00
Ken Martin
2a7e4539e6
fixed warning
2002-07-02 08:24:36 -04:00
Ken Martin
c24d201c39
minor cleanup
2002-06-28 08:57:25 -04:00
Ken Martin
ca2fdeb640
performance inprovements
2002-06-27 21:17:25 -04:00
Ken Martin
6eb671097d
bug fix
2002-06-27 16:47:38 -04:00
Ken Martin
4b12e5a306
bug fix
2002-06-27 16:42:57 -04:00
Ken Martin
44a7cd55ff
removed all source lists from the system and made them vectors. Also appended _CMAKE_PATH to the end of the automatic cache entries for executables and libraries. Odds of all these changes working are slim but cmake builds and passes all its tests. VTK40 starts building
2002-06-27 15:57:09 -04:00
Brad King
28895b0f9f
ERR: Fixed compiler warnings.
2002-06-18 17:20:27 -04:00
Bill Hoffman
e5668ea656
ENH: only add _LIB_DEPEND information for libraries and modules
2002-06-03 10:25:55 -04:00
Bill Hoffman
cdf550de13
ENH: rework library depend stuff
2002-05-03 16:34:05 -04:00
Bill Hoffman
a80153b5cb
make it backwards compatible with old cmake
2002-05-02 15:56:13 -04:00
Bill Hoffman
2242006ca1
Debug optimized cache fixes
2002-05-02 15:10:19 -04:00
Bill Hoffman
27fe57b716
ENH: change LINK_LIBRARY to add to targets
2002-05-02 13:17:10 -04:00
Amitha Perera
099436db26
ENH: Make the LinkLibraries command contribute dependencies towards AddLibraries.
2002-05-01 16:33:27 -04:00
Amitha Perera
1f8df8585e
ENH: Add library dependency analysis.
2002-05-01 14:00:21 -04:00
Berk Geveci
d0d25bb989
Reformatted the error printed by cmMakefile.
2002-05-01 10:12:48 -04:00
Bill Hoffman
fd22157e55
ENH: improve speed of GetSource function
2002-04-30 12:58:57 -04:00
Bill Hoffman
ecbc720829
BUG: make sure link directories are not duplicated
2002-04-29 10:23:29 -04:00
Brad King
5a418b0e00
ENH: Removed out-of-date commands CABLE_WRAP_TCL CABLE_CLASS_SET and CONFIGURE_GCCXML
2002-04-17 14:54:48 -04:00
Bill Hoffman
789267c949
ENH: speed improvements
2002-04-11 17:02:10 -04:00
Bill Hoffman
4ea0f6b949
ENH: add enable language support for PROJECT command, this means that a C only project can be built with cmake, even without a cxx compiler
2002-04-02 15:43:23 -05:00
Bill Hoffman
8b3b49a010
ENH: major change, the cmMakefile now contains a master list of cmSourceFile objects, the source lists reference the list via pointers, also you can now set properties on a file, like compile flags, abstract, etc.
2002-03-29 10:06:30 -05:00
Sebastien Barre
437a8c9816
FIX: foreach function-blockers were using expanded args. Add virtual func to specify if function blocker needs them expanded or not.
2002-03-26 16:45:52 -05:00
Bill Hoffman
93474efd8b
ENH: add .in as a header file type, as it can not be compiled
2002-03-14 16:04:02 -05:00
Bill Hoffman
809b32fe59
ENH: remove several compiler warnings
2002-03-13 10:25:11 -05:00
Bill Hoffman
4651dbcfc6
ENH: expand variables in arguments before the commands get them
2002-03-05 18:41:24 -05:00
Sebastien Barre
2649962d65
FIX: although a CMakeLists.txt file could be searched up 'n' level in the directory tree, ReadListFile() always implied a CMakeLists.txt file was up *one* level.
2002-02-25 15:06:18 -05:00
Brad King
8ed3ce29bf
ERR: Removed cmCacheManager::DefineCache method. It is no longer needed.
2002-01-22 10:17:37 -05:00
Will Schroeder
a6a43d5320
ENH:Updated copyright
2002-01-21 15:30:43 -05:00
Amitha Perera
1859209282
BUG: .txx are not source files. They contain template code which can only
...
be compiled when included in a regular .cxx file. By themselves, they cause
do not cause code to be generated.
2001-12-28 15:56:15 -05:00
Brad King
fd37e46eb3
ENH: Added option to IF command to test if a command exists. Syntax is IF(COMMAND name-of-command).
2001-12-18 09:39:26 -05:00
Brad King
dca0fd0859
BUG: Existing projects have cache entries with the same name as the command they adjust (VTK_WRAP_JAVA in VTK, for example). Setting the command name as a variable is too dangerous.
2001-12-18 09:16:48 -05:00
Brad King
1b6ca3eba0
ENH: Each cmake command now adds a cmake variable of its own name, set
...
to ON. This allows constructs in CMakeLists.txt files like:
IF(FOO_COMMAND)
FOO_COMMAND()
ENDIF(FOO_COMMAND)
This provides the option to add CMake commands for extra functionality
without breaking compatability with earlier versions of CMake.
2001-12-17 16:19:27 -05:00
Brad King
ee31c3e0a4
ENH: SUBDIR_DEPENDS command now does nothing. The parallel build functionality is now automatic. Dependencies are setup to force the same build order as a single threaded build, but multiple files in the same directory can be built simultaneously. Also fixed bug with inheriting CMakeLists.txt files when a directory level is skipped.
2001-12-10 11:03:44 -05:00
Berk Geveci
1944e1887d
ENH: expand variables in a command before escaping spaces in the command
2001-11-27 17:32:33 -05:00
Bill Hoffman
41017cbc88
ENH: clean up warnings
2001-11-13 12:38:53 -05:00
Sebastien Barre
ef74458b34
Add optional BEFORE param to INCLUDE_DIRECTORIES so that include dirs can be specified before the actual include dirs
2001-11-02 22:32:39 -05:00
Bill Hoffman
091e95f26d
ENH: add an option to configure file command that allows for only expansion of at variables and not dollar variables
2001-10-30 14:05:07 -05:00
Bill Hoffman
8591786867
ENH: add better error reports in parsing cmake files, like what file has the error
2001-10-02 17:28:55 -04:00
Bill Hoffman
baa28efd10
ENH: change InitialPass to take a const reference to the argument string, to avoid changes to the file cache
2001-09-20 15:08:30 -04:00
Ken Martin
b9d56e8497
BUG: make a copy of the arguments before passing them to Execute
2001-09-20 13:44:27 -04:00
Ken Martin
0fe42a9857
various windows fixes
2001-09-10 15:11:15 -04:00
Bill Hoffman
cc5c1fa6f7
ENH: separate command from its arguments in the custom command. This allows the generator on windows to change the slashes for just the command
2001-09-04 16:07:54 -04:00
John Biddiscombe
0645a50061
ENH: ExpandVariables functions return a char * for convenience
2001-09-01 16:12:52 -04:00
Bill Hoffman
3091e9b8f6
BUG: fix incorrect deletion of function blockers
2001-08-30 17:32:48 -04:00
Bill Hoffman
94337f8015
clean up a bit
2001-08-29 09:57:49 -04:00
Bill Hoffman
5edd7673e1
ENH: add caching for the input CMakeList.txt files, 2X speed up
2001-08-28 18:28:31 -04:00
Yves Starreveld
247c1640da
Changes to allow MODULE type target for a shared library
2001-08-28 18:02:59 -04:00
Bill Hoffman
f709e5588e
ENH: change expand variables to use GetDefinition
2001-08-27 14:44:15 -04:00
Bill Hoffman
538ff79e2f
ENH: improve coverage
2001-08-23 18:02:30 -04:00
Bill Hoffman
a4f40c31f1
ENH: add dump documentation test
2001-08-23 17:40:07 -04:00
Yves Starreveld
a159c2d306
Added support for .mm source files (ObjC++)
2001-08-21 11:04:38 -04:00
Sebastien Barre
afba045028
gcc and MSVC clash on basic_string::compare(), let's try substr()
2001-08-19 12:14:24 -04:00