summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefile.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Enforce global target name uniqueness.Brad King2008-02-111-0/+39
| | | | | | | | - 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
* ENH: Add cmMakefile::NeedBackwardsCompatibility method to pass through to ↵Brad King2008-02-111-0/+15
| | | | cmLocalGenerator::NeedBackwardsCompatibility for convenience.
* BUG: Fix misuse of stl vector that caused definitions to be dropped by ↵Brad King2008-01-301-1/+8
| | | | cmMakefile::PushScope.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-31/+56
| | | | | | | | | | | | | | | | | | 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
* ENH: Added cmMakefile::NeedCacheCompatibility method and support for it in ↵Brad King2008-01-241-20/+6
| | | | cmCacheManager. This will allow commands to modify their behavior when running with a cache loaded from an earlier CMake version.
* ENH: add return and break support to cmake, also change basic command ↵Ken Martin2008-01-231-8/+14
| | | | invocation signature to be able to return extra informaiton via the cmExecutionStatus class
* BUG: don't crash if cmMakefile::RaiseScope() is called from a cmake file inAlexander Neundorf2008-01-181-2/+2
| | | | | | the top level directory in normal code (i.e. not within a function) Alex
* ENH: Make per-configuration COMPILE_DEFINITIONS_<CONFIG> directory property ↵Brad King2008-01-181-3/+28
| | | | initialized from parent.
* BUG: COMPILE_DEFINITIONS directory property needs to be inherited from ↵Brad King2008-01-181-0/+4
| | | | parent when a directory is created.
* ENH: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into ↵Brad King2008-01-181-0/+102
| | | | a COMPILE_DEFINITIONS directory property.
* ENH: Add AppendProperty methods for use by C++ code in CMake. Simplify ↵Brad King2008-01-171-0/+36
| | | | implementation of SET_PROPERTY command by using them.
* STYLE: Spelling fixes on documentationAmitha Perera2008-01-101-1/+1
|
* ENH: change raise_scope signature to be safer for returned varuablesKen Martin2008-01-031-2/+5
|
* BUG: Make RAISE_SCOPE function work when variable is not defined.Brad King2008-01-021-2/+16
|
* ENH: add ability to have manifest files and incremental linking with make ↵Bill Hoffman2008-01-011-1/+5
| | | | and nmake
* STYLE: nicer error message:Alexander Neundorf2007-12-191-1/+1
| | | | | | | "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
* ENH: add functions and raise scopeKen Martin2007-12-031-17/+58
|
* ENH: different way of testing propertiesKen Martin2007-11-061-12/+6
|
* COMP: fix for when STRICT is defined, and fix for props that have no docsKen Martin2007-10-231-2/+4
|
* ENH: change to make the documentation class more generic, about halfway ↵Ken Martin2007-10-221-0/+20
| | | | there, also provides secitons for Variables now
* COMP: explicitely cast to int to silence warning with msvc8Alexander Neundorf2007-08-281-1/+1
| | | | Alex
* COMP: parent is not used anymore with this patch, since now the name isAlexander Neundorf2007-08-261-5/+3
| | | | | | given as a vector of components Alex
* BUG: fix #4057 (which had several duplicates): handle recursivew source ↵Alexander Neundorf2007-08-241-77/+71
| | | | | | groups better, i.e. multiple sourcegroups with the same end component work now Alex
* ENH: set UNIX, WIN32 and APPLE in cmMakefile.cxx as it was before, so itAlexander Neundorf2007-08-101-0/+15
| | | | | | | works for scripts, then reset them in CMakeSystemSpecificInformation.cxx, so the platform modules can set them again for the target system Alex
* ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set inAlexander Neundorf2007-08-091-11/+4
| | | | | | | | | | | | | | 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
* BUG: Target exclusion-from-all tests should always use the root local ↵Brad King2007-08-031-4/+4
| | | | generator associated with the all target being tested.
* STYLE: even more output when --debug-output is usedAlexander Neundorf2007-07-201-1/+12
| | | | Alex
* STYLE: fix line lengthsAlexander Neundorf2007-07-201-1/+1
| | | | Alex
* STYLE: fix some typos, nicer debug outputAlexander Neundorf2007-07-191-3/+3
| | | | Alex
* ENH: produce a lot more output when running with --debug-outputAlexander Neundorf2007-07-171-12/+19
| | | | | | -try to fix build error on HPUX Alex
* BUG: GET_DIRECTORY_PROPERTY(INCLUDE_DIRECTORIES|LINK_DIRECTORIES) wasn'tAlexander Neundorf2007-07-161-35/+30
| | | | | | | | | | | | | | 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
* ENH: change the way #cmakedefine is changed to #undef, so it is similar toAlexander Neundorf2007-07-111-3/+2
| | | | | | | | | | | | | | | | | | | | | | | 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
* ENH: some cleanup of get property commandsKen Martin2007-07-101-0/+73
|
* ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to doAlexander Neundorf2007-06-281-3/+5
| | | | | | | | | | | | | 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
* ENH: some property cleanup and added GetPropertyKen Martin2007-06-251-0/+35
|
* ENH: add IMPORT keyword to ADD_LIBRARY, dependencies are not yet workingAlexander Neundorf2007-06-221-21/+18
| | | | | | 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
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-199/+23
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* BUG: More problems with cmMakefile copy-constructor. It seems the regular ↵Brad King2007-06-111-6/+9
| | | | expression class cannot be assigned but does not enforce this limitation at compile time.
* BUG: Copy constructor needs to copy regular expression members.Brad King2007-06-081-0/+3
|
* ENH: add cmExternalMakefileProjectGenerator, which should make it easier toAlexander Neundorf2007-06-081-157/+157
| | | | | | | | | 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
* BUG: Fixed @ONLY configuration to not try to parse ${} syntax at all. This ↵Brad King2007-06-061-4/+56
| | | | fixes the original fix to bug#4393 and adds a test.
* ENH: Made cmTarget::GetSourceLists return a reference to const so that all ↵Brad King2007-05-281-4/+4
| | | | additions of sources must go through access methods in cmTarget.
* ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create ↵Brad King2007-05-231-2/+0
| | | | 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.
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-39/+53
| | | | | | | | | | "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
* BUG: All variable accesses should produce watch callbacks, including ↵Brad King2007-05-171-3/+23
| | | | 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.
* BUG: Do not complain about missing watched variables when they are accessd ↵Brad King2007-05-171-1/+7
| | | | with IF(DEFINED VAR).
* COMP: GCC 2.95 does not have std::string::clear() method.Brad King2007-05-171-1/+1
|
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | -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
* ENH: now target names can be used in add_custom_command() andAlexander Neundorf2007-05-091-12/+0
| | | | | | | | | | 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
* COMP: fix warning on VS8: conversion unsigned int -> size_tAlexander Neundorf2007-05-041-1/+1
| | | | Alex