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