summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.h
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-0/+21
| | | | | | | | | | | | | | | | | separation. See bug #3832 - This is purely an implementation improvement. No interface has changed. - Create cmComputeLinkInformation class - Move and re-implement logic from: cmLocalGenerator::ComputeLinkInformation cmOrderLinkDirectories - Link libraries to targets with their full path (if it is known) - Dirs specified with link_directories command still added with -L - Make link type specific to library names without paths (name libfoo.a without path becomes -Wl,-Bstatic -lfoo) - Make directory ordering specific to a runtime path computation feature (look for conflicting SONAMEs instead of library names) - Implement proper rpath support on HP-UX and AIX.
* ENH: Moved global inter-target dependency analysis and cycle-prevention code ↵Brad King2007-12-231-4/+15
| | | | up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
* ENH: Add a depends check step to custom targets. Add support for the ↵Brad King2007-12-211-3/+0
| | | | IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
* ENH: add GetCleanTargetName() which returns "clean" for makefiles, so it canAlexander Neundorf2007-11-251-0/+1
| | | | | | be used by the eclipse generator Alex
* ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual ↵David Cole2007-11-161-0/+8
| | | | Studio macro to reload a solution file automatically if CMake makes changes to .sln files or .vcproj files. Add code to call the macro automatically for any running Visual Studio instances with the .sln file open at the end of the Visual Studio Generate call. Only call the macro if some .sln or .vcproj file changed during Generate. Also, add handling for REG_EXPAND_SZ type to SystemTools::ReadRegistryValue - returned string has environment variable references expanded.
* ENH: add guess progress for first time configuring a project.Bill Hoffman2007-11-131-0/+1
|
* ENH: Finish up the Framework creation code restructuring. Frameworks build ↵David Cole2007-10-101-0/+4
| | | | and install now. More work needed on the packaging step. See Tests/Framework for example use.
* ENH: add support for Fortran to the KDevelop generatorAlexander Neundorf2007-08-311-1/+1
| | | | | | -minor optimization for GetLanguageEnabled() Alex
* ENH: add install files generators for targets which have PUBLIC_HEADER,Alexander Neundorf2007-08-271-1/+3
| | | | | | | PRIVATE_HEADER or RESOURCE_FILES property, use the destination for the public headers as include directory property for exported libraries Alex
* ENH: Handle FRAMEWORK and BUNDLE arguments in the INSTALL TARGETS command. ↵David Cole2007-08-221-1/+3
| | | | Work in progress... More to come.
* ENH: move the code for the NOTFOUND checking into its own function, soAlexander Neundorf2007-08-161-0/+1
| | | | | | | | | | Configure() gets easier to overview -improve the error message, now it also says in which directories and for which targets the missing variables are used -minor speedup: the include directories don't have to be checked per target, per directory is enough Alex
* BUG: Target exclusion-from-all tests should always use the root local ↵Brad King2007-08-031-2/+3
| | | | generator associated with the all target being tested.
* STYLE: fix line lengthsAlexander Neundorf2007-07-201-2/+5
| | | | Alex
* ENH: produce a lot more output when running with --debug-outputAlexander Neundorf2007-07-171-0/+7
| | | | | | -try to fix build error on HPUX Alex
* ENH: second try for handling the linker language with integer priority ↵Alexander Neundorf2007-07-121-2/+2
| | | | | | values (returning a pointer to a string on the stack is no good idea) Alex
* COMP: revert last commit for now, broke Visual StudioAlexander Neundorf2007-07-111-2/+2
| | | | Alex
* ENH: CMAKE_<LANG>_LINKER_PREFERENCE is now an integer priority, not aAlexander Neundorf2007-07-111-2/+2
| | | | | | | | | | | | | | | | | | | two-step priority (None or Prefered) Current order: ASM 0, C 10, Fortran 20, CXX 30, Java 40 This is the same order as automake choses: http://www.gnu.org/software/automake/manual/html_node/How-the-Linker-is-Chosen.html This change should be backward compatible: if there is a project using fortran and CXX, they had to set the LINKER_LANGUAGE explicitely, otherwise cmake complained (but still generated the project files). Explicitely setting the linker language still overrides automatic detection. If somebody has a custom language for cmake and the PREFERENCE starts with "P", its changed to 100, which gives it preference over all other languages (except the other custom languages which have also "Prefered"). "None" is converted to 0. Alex
* ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to doAlexander Neundorf2007-06-281-1/+1
| | | | | | | | | | | | | 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: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,Alexander Neundorf2007-06-191-1/+14
| | | | | | tests still have to be added Alex
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* STYLE: minor fixesAlexander Neundorf2007-06-151-3/+2
| | | | Alex
* STYLE: remove duplicate non-const accessors GetLocalGenerator(int) andAlexander Neundorf2007-06-151-4/+2
| | | | | | | | | | | | 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
* ENH: split cmGlobalGenerator::SetLanguageEnabled() in two parts, where theAlexander Neundorf2007-06-111-0/+3
| | | | | | | | second part copies the values from the cmake variables into internal maps. So this can now be done after the compiler-specific information has been loaded, which can now overwrite more settings. Alex
* COMP: less warningsAlexander Neundorf2007-06-081-1/+1
| | | | Alex
* ENH: add cmExternalMakefileProjectGenerator, which should make it easier toAlexander Neundorf2007-06-081-0/+13
| | | | | | | | | 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
* ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-4/+4
| | | | | | | | | | "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
* ENH: add install/strip target for makefile generators if strip was foundAlexander Neundorf2007-05-181-0/+1
| | | | Alex
* BUG: fix problem for non-C/CXX languages with Visual Studio, theAlexander Neundorf2007-05-091-2/+0
| | | | | | | dependencies for the custom commands added for java were not handled correctly. Needs more work. Alex
* ENH: now target names can be used in add_custom_command() andAlexander Neundorf2007-05-091-0/+2
| | | | | | | | | | 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
* ENH: some code consolidation and cleanupKen Martin2007-04-121-0/+5
|
* ENH: add project to target map, not used yet, but createdBill Hoffman2007-03-131-1/+2
|
* ENH: Moved ConvertToRelativePath from cmGlobalGenerator to cmLocalGenerator. ↵Brad King2007-03-071-21/+0
| | | | This is in preparation for setting up each local generator to have its own RelativePathTopSource and RelativePathTopBinary based on its ancestor directories.
* BUG: Removed legacy SetupTests method that was causing RUN_TESTS to test twice.Brad King2007-03-051-1/+0
|
* BUG: fixes so that --build-and-test will honor timeoutsKen Martin2007-01-301-2/+3
|
* ENH: commit fix for putting everything in the build on vsBill Hoffman2006-11-091-0/+3
|
* ENH: Added SYMBOLIC source file property to mark custom command outputs that ↵Brad King2006-10-021-0/+5
| | | | 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.
* ENH: Do not generate install target unless some INSTALL or INSTALL_* ↵Brad King2006-08-311-0/+2
| | | | commands have been used. This addresses bug#2827.
* ENH: Adding install/local global target for Makefile generators. This runs ↵Brad King2006-08-291-0/+1
| | | | installation only in the current directory and not subdirectories.
* BUG: Delay relative path configuration until as late as possible to make ↵Brad King2006-06-191-0/+1
| | | | sure the source/binary dir are set. This is a work-around for lack of a more structured way of creating the global generator.
* ENH: Added generation of link rules into script files executed by a cmake -E ↵Brad King2006-06-151-0/+4
| | | | command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells.
* BUG: cmGlobalGenerator::Build should not always use the /fast target name ↵Brad King2006-06-011-2/+2
| | | | because dependency checking is often required. It now takes an argument specifying whether to use the /fast target name, and the argument is currently only true for try-compiles.
* BUG: Updated Makefile dependency scanning to provide a full local generator ↵Brad King2006-05-251-1/+1
| | | | to the dependency scanner to do proper path conversions. This allows the rules written into the depend.make files to use the same relative path conversion as those written into the build.make files. Several previous changes added more and more information for use by the dependency scanner and it was converging to having the full local generator anyway.
* STYLE: fix line lengthKen Martin2006-05-111-1/+2
|
* ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support ↵Brad King2006-04-271-2/+2
| | | | for color is automatically detected when messages are printed. Also made color scheme more readable on both black and white backgrounds. This option can be enabled by setting CMAKE_COLOR_MAKEFILE to true in the project.
* ENH: Add packaging of source code (make package_source)Andy Cedilnik2006-04-171-0/+1
|
* ENH: fix compile issue on HP hopefullyKen Martin2006-04-121-2/+1
|
* ENH: some performance optimizationsKen Martin2006-04-111-0/+6
|
* ENH: Added support for multiple outputs generated by a single custom ↵Brad King2006-04-111-0/+3
| | | | 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.
* ENH: Add support for preinstall for cmake generated projects when packaging themAndy Cedilnik2006-04-101-8/+8
|
* ENH: Added global TargetManifest computation between Configure and Generate ↵Brad King2006-04-041-0/+8
| | | | steps. This allows generators to know what other targets will exist on disk when the build completes.