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