Commit Graph

403 Commits

Author SHA1 Message Date
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