Brad King
a541cac325
ENH: Improve response to bad if or elseif
...
Previously bad arguments to an if() or elseif() would cause some
subsequent statements in the corresponding block to execute. This
teaches CMake to stop processing commands with a fatal error. It also
provides context to bad elseif() error messages.
2009-01-20 14:35:22 -05:00
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
9551cafd69
BUG: Pop a function scope even on error
...
This uses an automatic variable to push and pop variable scope inside a
function call. Previously if the function failed its scope would not be
popped. This approach guarantees a balanced push/pop.
2009-01-14 15:14:06 -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
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
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
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
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
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
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
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
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
Bill Hoffman
dc9245df6c
ENH: add enum to IssueMessage
2008-03-11 10:29:56 -04: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
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
d49ef18f8a
ENH: add first cut and policies still need to add the doc support
2008-03-01 15:20:35 -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
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
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
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
Ken Martin
ac4c2f675a
ENH: change raise_scope signature to be safer for returned varuables
2008-01-03 11:22:33 -05:00
Ken Martin
f4b1c3880b
ENH: add functions and raise scope
2007-12-03 13:35:41 -05: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
55303d6dd2
STYLE: fix line lengths
...
Alex
2007-07-20 08:36:16 -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
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
Alexander Neundorf
1cf1780f6e
STYLE: GetProjectName() is const
...
Alex
2007-06-20 23:01:36 -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
Alexander Neundorf
6d200fa6be
STYLE: minor fixes
...
Alex
2007-06-15 16:07:16 -04:00
Alexander Neundorf
9d4f3a0686
STYLE: remove duplicate non-const accessors GetLocalGenerator(int) and
...
GetLocaGenerators(cmLocalGenerators) from cmGlobalGenerator(). Now there is
one const accessor which is even faster since it returns a reference
(instead of copying a vector)
-more const to ensure that this the returned local generators don't actually
get modified
-removed duplicated code in GetCTestCommand() and GetCPackCommand()
-added some const accessors
Alex
2007-06-15 10:10:24 -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
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
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
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
Ken Martin
c53b26baf2
ENH: some more cleanup
2007-03-13 15:18:27 -04:00
Ken Martin
b99129d2d8
ENH: some code cleanup
2007-03-12 10:26:59 -04: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
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
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
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
Andy Cedilnik
fbdac25f81
ENH: Add a copy constructor to copy the values
2006-07-09 13:19:36 -04:00
Andy Cedilnik
99f4edb4e4
ENH: DIsplay the list file stack when displaying errors
2006-06-22 15:31:19 -04:00
Ken Martin
47c7108111
STYLE: fix line length
2006-05-12 12:29:09 -04:00
Bill Hoffman
25d4127e2d
ENH: fix .. in the path of subdirs
2006-04-20 15:49:56 -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
Brad King
b613cf0be8
BUG: Fixed typo in new cmake-rerun code.
2006-04-11 10:04:55 -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
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
4102949bf9
STYLE: minor comment cleanups
2006-03-16 10:53:14 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Bill Hoffman
6b47b28867
ENH: fix line length style stuff
2006-03-10 11:13:15 -05:00
Bill Hoffman
0db4cb0d96
ENH: removed unused methods after find changes
2006-03-02 15:03:36 -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
Brad King
b8a33fb424
ENH: Added INSTALL command as a placeholder for a future generic install specification interface. Currently it supports only a SCRIPT option specifying a script to run during the install stage.
2006-02-10 13:54:36 -05:00
Bill Hoffman
347c5f4b46
ENH: add working directory support
2006-02-08 10:58:36 -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
Bill Hoffman
2c73d2e0f3
ENH: add new cmakedefine01 feature from bug report 2603
2006-01-03 16:40:51 -05:00
Andy Cedilnik
bebc745824
ENH: Add set and get test propety command
2005-07-31 11:51:42 -04:00
Bill Hoffman
aa47caab2d
FIX: apply patch from bug# 1965
2005-07-13 11:21:30 -04:00
Ken Martin
c5bfdf6917
ENH: cleaned up some old methods and vars
2005-07-07 11:44:36 -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
Andy Cedilnik
1bbccc5bef
ENH: Improve handling of escaped characters
2005-06-17 15:50:08 -04:00
Brad King
65e2c18d73
ENH: Enabling ability for CMAKE_MINIMUM_REQUIRED version to include patch level. Submitted by Alexander Neundorf.
2005-06-17 09:49:06 -04:00
Andy Cedilnik
f7ddfbe1fd
ENH: Add extra argument
2005-06-16 16:33:24 -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
Bill Hoffman
1004073942
ENH: performance improvements
2005-04-12 13:27:07 -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
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
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
Bill Hoffman
cb73410ccb
ENH: more tests are passing
2005-02-16 16:35:32 -05:00
Brad King
1d1bd31933
ENH: Added GetComplainRegularExpression method.
2005-02-07 15:09:22 -05: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
891c273062
ENH: remove warning
2004-08-27 09:55: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
9655299f08
ENH: initial fortran support
2004-08-06 14:51:41 -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
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
Andy Cedilnik
aff8c7bcd6
ENH: Add GET/SET_DIRECTORY_PROPERTY/PROPERTIES commands so that we can change include directories and get all sorts of things. Closes Bug #25 - Get_CMAKE_PROPERTIES
2004-04-23 16:20:36 -04:00
Bill Hoffman
8b0b749a11
ENH: add SUBDIR PREORDER and fix clean for non-relative paths
2004-04-23 12:52:48 -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
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
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
Ken Martin
072db6ad70
removed redundent includes
2003-08-10 18:30:54 -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
Ken Martin
e315bff47b
performance improvements
2003-06-24 15:23:34 -04:00
Ken Martin
61a3e4fb80
more custom command
2003-06-05 16:45:06 -04:00
Ken Martin
ba68f771b3
yikes added new custom command support
2003-06-03 10:30:23 -04:00
Andy Cedilnik
ce750180ba
Add method which returns a list of all variables
2003-03-06 11:19:28 -05:00
Bill Hoffman
ae5a80c795
spelling errors
2003-02-14 09:54:15 -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
Bill Hoffman
c4fa5d1fdf
ENH: add a new command that allows exports of library dependencies from a project to a file
2003-01-20 16:59:02 -05:00
Andy Cedilnik
5147742a83
Make GetCMakeInstance private and clean cxx file
2003-01-14 09:53:13 -05:00
Andy Cedilnik
829f8382e0
Add option of watching variables
2003-01-08 12:59:52 -05:00
Ken Martin
85549bf496
update version
2003-01-06 09:39:38 -05:00
Ken Martin
e90d2dd9f8
updated version
2003-01-06 09:36:27 -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
Ken Martin
9e526f797a
removed cmMakefile depend from cmSystemTools
2002-12-02 15:59:59 -05:00
Ken Martin
20b7e6b222
ENH: space fixes and add a status option to message command
2002-11-13 15:59:40 -05: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
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
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
a4ca3229ff
renamed GenerateMakefile to ConfigureFinalPass
2002-09-15 08:52:24 -04:00
Ken Martin
bea21587cf
updated makefile moved commands into cmake and fixed try compile
2002-09-10 16:52:39 -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
499bd45d4d
removed shared lib support
2002-08-23 16:13:34 -04:00
Ken Martin
9f870d3efb
minor bug
2002-08-21 13:16:07 -04:00
Ken Martin
6158aa7fd6
dll support
2002-08-21 12:01:55 -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
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
Ken Martin
11cff6ef6a
updated rev
2002-06-05 13:30:54 -04:00
Bill Hoffman
a80153b5cb
make it backwards compatible with old cmake
2002-05-02 15:56:13 -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
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
Will Schroeder
a6a43d5320
ENH:Updated copyright
2002-01-21 15:30:43 -05:00
Brad King
4688198996
ERR: Missing forward declaration of cmMakeDepend added.
2002-01-17 10:48:37 -05:00
Ken Martin
48f77f9de1
next release
2002-01-15 15:50:35 -05:00
Ken Martin
d41b42a019
next release
2002-01-15 15:46:34 -05:00
Ken Martin
79d9bd8a59
added release verison to cmMakefile
2002-01-02 16:44:44 -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
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
Ken Martin
95fa88b7bc
version rev
2001-12-07 16:06:08 -05:00
Ken Martin
ab3b0c04aa
release 10
2001-12-07 16:01:32 -05:00
Ken Martin
cf8003f03f
up version
2001-12-05 12:07:34 -05:00
Ken Martin
d4bb11cd8b
up version
2001-12-05 11:59:18 -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
1c5c899fd7
add dependency for configure files and use short path in WIN32 cmake test
2001-10-26 15:42:02 -04:00
Ken Martin
c9caf2390c
version
2001-10-01 13:36:27 -04:00
Ken Martin
8e505ebf53
version
2001-10-01 13:35:44 -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
1bf6afaabf
version rev to 95
2001-09-19 14:20:53 -04:00
Ken Martin
ccc1c3d50a
version rev to 94
2001-09-19 14:20:37 -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
Ken Martin
22025945c8
version rev
2001-08-30 16:19:46 -04:00
Ken Martin
4798e61fa0
version rev
2001-08-30 16:19:04 -04:00
Brad King
222199b3cd
ENH: Added a const version of GetLinkLibraries().
2001-08-29 10:47:01 -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
a4f40c31f1
ENH: add dump documentation test
2001-08-23 17:40:07 -04:00
Bill Hoffman
ddd5a7d729
ENH: change all maps of string to be maps of cmStdString, to reduce symbol length in object files.
2001-08-22 11:58:17 -04:00
Bill Hoffman
032106c337
BUG: shorten length of symbols
2001-08-22 11:26:54 -04:00
Ken Martin
0b471134c3
now creates output directories
2001-08-10 15:54:19 -04:00
Ken Martin
c71a860978
updated version
2001-08-09 11:09:18 -04:00
Ken Martin
d0c306058c
updated version
2001-08-09 11:08:35 -04:00
Bill Hoffman
db1303aa7d
ENH: big change, only allow commands access to the cache via the cmMakefile class and GetDefinition, also the cmMakefile is the only way for commands to add to the cache. Also, some changes to configure.in that check for for scoping
2001-08-08 11:54:46 -04:00
Brad King
8a03ccda07
ENH: Added SUBDIR_DEPENDS command and corresponding support code. This command allows specification that a set of subdirectories be built before a particular directory.
2001-08-01 16:14:16 -04:00
Brad King
ddec29c52d
BUG: Changed include and link directory paths in cmMakefile back to std::vector because there is an order dependency. Only cmMakefile::AddIncludeDirectory and cmMakefile::AddLinkDirectory should be called to add directories to the paths. They make sure the paths are unique as they are inserted.
2001-07-30 11:34:03 -04:00
Ian Scott
b24861d895
Removed the Uniquification of the include and link directory list in FinalPass,
...
and achieved the same effect by makein m_LinkDirectores and m_IncludeDirectories
a set rather than vector
2001-07-30 07:18:38 -04:00
Ian Scott
4878ed3d29
MAkefile now strips duplicate directores from the libraries and include paths
2001-07-27 13:06:05 -04:00
Ken Martin
f8f4560ab4
fixed warnings
2001-07-26 08:36:54 -04:00
Bill Hoffman
a5eac44d18
ENH: rework GUI with configure/OK/Cancel
2001-07-25 18:30:27 -04:00
Ken Martin
4ab2650802
added for each command
2001-07-25 16:53:13 -04:00
Ken Martin
0136329482
updated version
2001-07-18 16:45:49 -04:00
Amitha Perera
e169953e92
ENH: Source and header file extensions are in variables in cmMakefile.
...
AUX_SOURCE_DIRECTORY will only add files that have a "source" extension.
2001-07-16 18:40:42 -04:00
Ken Martin
df79a0bc47
version num
2001-07-11 13:31:47 -04:00
Ken Martin
ec50160652
version num
2001-07-11 13:30:59 -04:00
Brad King
e693d47253
ENH: Added support for selection of static/shared build on a per-library basis.
2001-07-02 15:38:02 -04:00
Ken Martin
2a7fc5750b
updated version to 0.3
2001-06-27 16:18:14 -04:00
Ken Martin
ac12186742
updated version to 0.2
2001-06-27 16:17:35 -04:00
Ken Martin
43793f7df4
added escape quotes option in replace strings
2001-06-22 11:14:32 -04:00
John Biddiscombe
e1e7b8adca
ENH: Added RemoveSource(...) to complement AddSource. New command
...
SOURCE_FILES_REMOVE uses it and can be used to take files out of the build
2001-06-22 09:47:02 -04:00
Brad King
cf82992964
ENH: Extended INCLUDE_REGULAR_EXPRESSION to allow selective complaints about missing dependencies.
2001-06-21 15:02:52 -04:00
Ken Martin
ead17fbd9d
added some const versions of get methods
2001-06-11 16:47:15 -04:00
Bill Hoffman
4f77d737c9
ENH: move utilities to targets from makefile, and add versioning to cache
2001-06-07 14:52:29 -04:00
Ken Martin
37801ddaae
added enable testing deprecated some commands
2001-06-06 13:58:18 -04:00
Jim Miller
84dc25e9f5
ENH: Added AddTest, and GenerateTestfile routines
2001-06-05 20:34:01 -04:00
Ken Martin
ad92f34fea
added version number
2001-05-24 11:47:21 -04:00
Brad King
a5480276d5
ENH: Added cmData and corresponding DataMap in cmMakefile to allow commands to register arbitrary extra data with the makefile without modifying the cmMakefile class definition.
2001-05-16 09:19:46 -04:00
Ken Martin
639f1fa239
added registry entry support and windows app support
2001-05-11 10:53:17 -04:00
Bill Hoffman
885e37da22
ENH: call configure from cmake
2001-05-07 18:11:16 -04:00
Ken Martin
089aa3e106
option to make utilities in the all target
2001-05-04 15:50:26 -04:00
Ken Martin
fc1562f004
system config uses cmake commands now
2001-05-03 08:52:32 -04:00
Bill Hoffman
96ec40943c
ENH: implement ADD_TARGET command, and add an ALL_BUILD target
2001-05-01 16:55:32 -04:00
Brad King
73644c3acd
ERR: Removed a conflict that was checked in.
2001-04-30 11:29:30 -04:00
Anonymous
d6fae5faf0
New command: INCLUDE(somefile.txt)
2001-04-30 10:52:58 -04:00
Ken Martin
2da0c57d46
added TARGET_LINK_LIBRARY command and support for debug and release libraries to link against
2001-04-30 10:44:00 -04:00
Will Schroeder
54cfe84f3f
ENH:New copyright
2001-04-27 08:01:17 -04:00
Ken Martin
41e1270413
support for debug and opt libraries
2001-04-26 16:22:53 -04:00
Ken Martin
30ad61805b
bug fixes
2001-04-26 09:38:31 -04:00
Ken Martin
73f04d1409
many fixes and cleanup and features
2001-04-24 16:49:12 -04:00
Bill Hoffman
818b0e5bc1
BUG: fix build directory problem
2001-04-24 12:40:37 -04:00
Ken Martin
b5f62159ca
added if else endif add definition
2001-04-19 17:39:03 -04:00
Ken Martin
7b362bdb1f
fixed cable package issue
2001-04-16 10:01:13 -04:00
Ken Martin
e40aaa57c3
some bug fixes
2001-04-12 15:34:09 -04:00
Ken Martin
865ec96644
major changes to support multiple libraries and source lists
2001-04-11 14:59:02 -04:00
Brad King
8c087d0e7a
ENH: Added SOURCE_GROUP command and corresponding support code. This command allows CMakeLists files to specify how sources are organized into groups in the generated DSP files and makefiles.
2001-03-20 13:20:59 -05:00
Brad King
be4db9150c
ENH: Added INCLUDE_REGULAR_EXPRESSION command to set regular expression used in dependency checking.
2001-03-15 18:09:16 -05:00
Brad King
f84972610e
BUG: Moved definition of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR to be as soon as their information is known.
2001-03-15 14:33:47 -05:00
Brad King
5fc8300476
ENH: Added utility dependency support. Now a project can depend on other executables as well as link libraries.
2001-03-09 10:53:32 -05:00
Brad King
4666b01710
ENH: Added UTILITY_SOURCE command for specifying where a 3rd party utility's source is located when it is included in the distribution of a project.
2001-03-08 10:30:18 -05:00
Brad King
8859bd5ac8
ENH: Added GetUsedCommands() method.
2001-02-26 17:58:54 -05:00
Ken Martin
acbd160dd2
a variety of fixes and enhancements
2001-02-26 17:17:34 -05:00
Bill Hoffman
0b0d1b1d43
ENH: add CMakeCache.txt support
2001-02-22 19:24:43 -05:00
Ken Martin
43859e36cf
ENH: add new commands fro find library and find program
2001-02-16 11:34:23 -05:00
Ken Martin
fce56c57c4
some cleanup and fixes
2001-02-15 13:30:13 -05:00
Bill Hoffman
dd36c5f296
ENH: add configure style @var@ expansion
2001-02-13 16:48:00 -05:00
Bill Hoffman
db267f533b
ENH: get rid of special msc configure file
2001-02-12 19:49:52 -05:00
Will Schroeder
658614ff6a
ENH:Reworked CMake for consistency
2001-01-18 11:20:24 -05:00
Will Schroeder
b3480795c4
ENH:Simple program dumps out internal documentation for CMake
2001-01-12 12:43:00 -05:00
Will Schroeder
88bbc0c30d
ENH:Documentation and cleanups
2001-01-11 14:47:38 -05:00
Bill Hoffman
c54a05bfc7
ENH: rework cmake, added ruleMaker classes and changed the syntax of the CMakeLists.txt files.
2001-01-05 11:41:20 -05:00
Bill Hoffman
74c1345333
ENH: change ME to LIBRARY and added PROJECT, also remove ITK stuff and replaced with CMake
2000-09-27 15:01:19 -04:00
Bill Hoffman
1e3ba0f1d7
ENH: clean up code, and varible names
2000-09-21 13:45:08 -04:00
Bill Hoffman
aa3ca2b432
ENH: CMake and configure now use SUBDIRS in CMakeLists.txt to find all the directories of the system.
2000-09-12 05:30:35 -04:00
Bill Hoffman
077c31484e
ENH: move from tools and create working CMake program
2000-08-30 13:35:41 -04:00
Bill Hoffman
1f42f521ce
NEW: move from tools and config to create CMake
2000-08-29 15:26:29 -04:00