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