Brad King
d35651fb6c
ENH: Extend GG::Build method for pre-parsed args
...
This adds an argument to the cmGlobalGenerator::Build method to pass a
vector of arguments for the native build tool programatically.
2009-03-04 15:38:47 -05:00
Brad King
1d3308156e
ENH: Enforce unique binary directories
...
The second argument of add_subdirectory must name a unique binary
directory or the build files will clobber each other. This enforces
uniqueness with an error message.
2009-02-27 11:23:14 -05:00
Brad King
7590ad17ad
BUG: Fix logic of LabelFiles.txt generation
...
This fixes a dumb logic error which causes generation of LabelFiles.txt
to try to open the file once for every target with labels.
2009-02-12 13:25:15 -05:00
Brad King
13f9bb646d
ENH: Define target and source property LABELS
...
This creates a new LABELS property for targets and source files. We
write the labels of each target and its source files in target-specific
locations in the build tree for future use.
2009-02-10 08:50:21 -05:00
Brad King
fd40f27420
COMP: Fix rule hash code during bootstrap
...
During bootstrap we do not bother with rule hashing. This updates the
dummy implementation to account for the recent change in rule hash
method signatures.
2009-02-02 14:36:45 -05:00
Brad King
ac9b7ec155
ENH: Refactor custom command rule hashing
...
This simplifies computation of custom command rule hashes to hash
content exactly chosen as the custom commands are generated.
Unfortunately this will change the hashes of existing build trees from
earlier CMake versions, but this is not a big deal. The change is
necessary so that in the future we can make optional adjustments to
custom command lines at generate time without changing the hashes every
time the option is changed.
2009-02-02 13:28:12 -05:00
Bill Hoffman
7d1bbb872c
BUG: fix package_source target
2008-11-10 13:42:52 -05:00
Bill Hoffman
1777bb502a
BUG: 4244, add a --build option to cmake that can build projects configured by CMake
2008-10-15 13:56:07 -04:00
Bill Hoffman
049e3da2ec
STYLE: fix hidden variable warning
2008-10-01 12:45:49 -04:00
Bill Hoffman
ab409fec89
BUG: fix for 7738, allow for spaces in the package target path to CPackConfig files
2008-10-01 09:50:11 -04:00
Brad King
4719984553
ENH: Make dir content cache work during configure
...
Previously the cmGlobalGenerator::GetDirectoryContent method would work
safely only during build system generation. These changes make it safe
to use during each configure step by flushing it at the beginning.
2008-09-22 10:56:48 -04:00
Brad King
f49f1d2973
ENH: Simplify NOTFOUND variable check
...
When looking for NOTFOUND libraries, use the direct dependencies of a
target instead of all dependencies. At least one target will trigger
the NOTFOUND error anyway because at least one must directly link it.
This removes another use of the old-style link line computation.
2008-09-15 13:46:56 -04:00
Bill Hoffman
513f7d1869
BUG: fix for 7496, do not just report configure done when there is an error during configure
2008-08-19 13:48:21 -04:00
Brad King
578e83501b
BUG: Fix crash on circular target dependencies
...
After reporting an error about circular target dependencies do not try
to continue generation because the dependency computation object is not
in a useful state.
2008-08-06 17:48:44 -04:00
Bill Hoffman
beeebcdc40
BUG: fix for bug 7427, preinstall target name hard coded
2008-07-30 15:18:19 -04:00
Brad King
2bc9acb1ca
BUG: Fix try_compile during EnableLanguage
...
- The source-file signature of try_compile looks up the language
of the source file using the extension-to-language map so that
it knows what language to enable in the generated project.
- This map needs to be filled before loading a file specified by
CMAKE_USER_MAKE_RULES_OVERRIDE
CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>
so that the user file may call the try_compile() source-file
signature.
- It must still be re-filled after loading CMake<LANG>Information.cmake
in case the compiler- or platform-specific files added anything.
- See bug #7340 .
2008-07-16 11:03:58 -04:00
Bill Hoffman
70662e7f86
COMP: fix warning
2008-07-05 09:29:33 -04:00
Bill Hoffman
bb7b27e417
ENH: add initial ctest -j feature
2008-07-03 09:31:33 -04:00
Alexander Neundorf
3e909b5908
BUG: -fail with error if the CMake<LANG>Information.cmake file wasn't found
...
ENH: -if no compiler has been found, don't test it, and also remove the compiler
information file again. This makes optionally enabling a language work
better.
Alex
2008-06-10 18:28:01 -04:00
Brad King
2453164126
COMP: Fix bootstrap build after previous change to signature of AddRuleHash.
2008-06-03 10:02:18 -04:00
Brad King
e79b73d61f
BUG: Include less content as input to "rule hash" computation.
...
- The rule hash should use only commands specified by the user.
- No make output (echo and progress) rules should be included.
- No outputs or dependencies need be included. The native build tool
will take care of them.
2008-06-03 09:55:28 -04:00
Brad King
6be09c3667
ENH: Introduce "rule hashes" to help rebuild files when rules change.
...
- In CMake 2.4 custom commands would not rebuild when rules changed.
- In CMake 2.6.0 custom commands have a dependency on build.make
which causes them to rebuild when changed, but also when any
source is added or removed. This is too often.
- We cannot have a per-rule file because Windows filesystems
do not deal well with lots of small files.
- Instead we add a persistent CMakeFiles/CMakeRuleHashes.txt file
at the top of the build tree that is updated during each
CMake Generate step. It records a hash of the build rule for
each file to be built. When the hash changes the file is
removed so that it will be rebuilt.
2008-06-02 16:44:58 -04:00
Brad King
1c0ffdc11c
BUG: Fix crash on repeated configure steps and exported targets.
...
- In cmGlobalGenerator the ExportSets ivar must be cleared at
the beginning of each Configure.
- See issue #7101 .
2008-05-27 11:18:01 -04:00
Brad King
771bdb7ef8
BUG: Make sure all source files are found before generating.
...
- Previously this was done implicitly by the check for a target
link language which checked all source full paths.
- The recent change to support computing a link language without
finding all the source files skipped the implicit check.
- This change adds an explicit check to find all source files.
2008-05-12 17:43:45 -04:00
Brad King
1381aab4b7
BUG: Remove check for files written by file(WRITE) being loaded.
...
- CMake 1.8 and below did not do the check but could get in
infinite loops due to the local generate step.
- CMake 2.0 added the check but failed to perform it in directories
with no targets (see bug #678 ).
- CMake 2.2 removed the local generate which fixed the problem but
did not remove the check.
- Between CMake 2.4 and 2.6.0rc6 the check was fixed to work even
when no targets appear in a directory (see bug #6923 ).
- Bottom line: the check is no longer needed.
2008-04-30 13:42:40 -04:00
Brad King
53e0ed3273
BUG: Fix crash when CMAKE_BACKWARDS_COMPATIBILITY is not set.
2008-03-04 18:41:52 -05:00
Brad King
1c0595c73f
ENH: Add global property ALLOW_DUPLICATE_CUSTOM_TARGETS to help existing projects that depend on having duplicate custom targets. It is allowed only for Makefile generators. See bug#6348.
2008-02-14 16:42:29 -05:00
Brad King
523ddedac5
ENH: Analyze inter-target dependencies to safely fix cycles
...
- Cycles may be formed among static libraries
- Native build system should not have cycles in target deps
- Create cmComputeTargetDepends to analyze dependencies
- Identify conneced components and use them to fix deps
- Diagnose cycles containing non-STATIC targets
- Add debug mode property GLOBAL_DEPENDS_DEBUG_MODE
- Use results in cmGlobalGenerator as target direct depends
2008-02-05 23:10:41 -05:00
Ken Martin
22835a71cd
ENH: really Bill, using Ken's checkout, fix output in ctest so clean output in build and test is not lost, also display the command lines used
2008-02-01 16:05:40 -05:00
Bill Hoffman
48b554dee8
ENH: remove a const cast
2008-01-31 12:19:00 -05:00
Bill Hoffman
6903d2df8b
ENH: remove const
2008-01-30 22:56:34 -05:00
Bill Hoffman
8a83f09637
ENH: fix for bug 3218 dependant projects are written out automatically if they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
2008-01-30 12:04:38 -05:00
Brad King
28ea034737
ENH: Support exporting/importing of Framework targets.
...
- Imported frameworks have the FRAMEWORK property set
- Added cmTarget::IsFrameworkOnApple method to simplify checks
- Also remove separate IMPORTED_ENABLE_EXPORTS property and just use ENABLE_EXPORTS since, like FRAMEWORK, it just represents the target type.
- Document FRAMEWORK keyword in INSTALL command.
- Updated IMPORTED_LOCATION property documentation for Frameworks
2008-01-28 13:05:58 -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
96fd5909d9
ENH: Implement linking with paths to library files instead of -L and -l 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.
2008-01-22 09:13:04 -05:00
David Cole
546c839d04
ENH: Add a dependency from the PACKAGE target to the ALL target so that "make package" will first (essentially) do a "make all"... A similar chunk of code already existed for the make install target. This change makes it easy to build an installer package as part of a dashboard run simply by setting CTEST_BUILD_TARGET to "package".
2007-12-31 17:29:20 -05:00
Brad King
70f73adccb
COMP: Fix build on VS6.
2007-12-24 11:15:45 -05:00
Brad King
430296dc96
ENH: Moved global inter-target dependency analysis and cycle-prevention code up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also.
2007-12-23 15:03:42 -05:00
Brad King
d83b4cd255
ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
2007-12-21 12:22:12 -05:00
Brad King
eee575283d
STYLE: Fixed line-too-long. COMP: Fixed warnings about lossy conversions.
2007-11-20 11:10:11 -05:00
David Cole
867de7fc67
ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual 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.
2007-11-16 07:01:58 -05:00
Bill Hoffman
a2ff3928de
ENH: add f stuff to avoid warnings
2007-11-12 22:36:26 -05:00
Bill Hoffman
d9d40942a0
ENH: add guess progress for first time configuring a project.
2007-11-12 22:33:00 -05:00
Ken Martin
6cdf032505
ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now
2007-10-22 12:49:09 -04:00
David Cole
8e4c7b99e1
ENH: Finish up the Framework creation code restructuring. Frameworks build and install now. More work needed on the packaging step. See Tests/Framework for example use.
2007-10-10 11:06:15 -04:00
Alexander Neundorf
b7527db958
STYLE: the temporary variable is not necessary
...
Alex
2007-08-31 13:45:02 -04:00
Alexander Neundorf
d338e69c01
ENH: add support for Fortran to the KDevelop generator
...
-minor optimization for GetLanguageEnabled()
Alex
2007-08-31 13:42:21 -04:00
Alexander Neundorf
3e12a6cb91
ENH: add install files generators for targets which have PUBLIC_HEADER,
...
PRIVATE_HEADER or RESOURCE_FILES property, use the destination for the
public headers as include directory property for exported libraries
Alex
2007-08-27 16:04:57 -04:00
David Cole
ef22ad6bec
ENH: Handle FRAMEWORK and BUNDLE arguments in the INSTALL TARGETS command. Work in progress... More to come.
2007-08-22 11:32:48 -04:00
Alexander Neundorf
e8ced6a0e2
COMP: include windows.h first, as it is done in the other source files
...
Alex
2007-08-17 10:14:32 -04:00
Alexander Neundorf
950c1359fa
COMP: quick windows name mangling fix (otherwise the compiler complains about cmMakefile::GetCurrentDirectoryA(), which doesn't exist)
...
Alex
2007-08-16 16:50:27 -04:00
Alexander Neundorf
12f6383561
ENH: move the code for the NOTFOUND checking into its own function, so
...
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
2007-08-16 15:33:17 -04:00
Alexander Neundorf
1059a8891d
STYLE: I think the comment (and the book) were wrong about the naming of
...
this file
Alex
2007-08-07 15:09:21 -04:00
Brad King
d7118006de
BUG: Target exclusion-from-all tests should always use the root local generator associated with the all target being tested.
2007-08-03 15:44:25 -04:00
Alexander Neundorf
55303d6dd2
STYLE: fix line lengths
...
Alex
2007-07-20 08:36:16 -04:00
Alexander Neundorf
95a8331edb
ENH: produce a lot more output when running with --debug-output
...
-try to fix build error on HPUX
Alex
2007-07-17 09:25:08 -04:00
Alexander Neundorf
021ceea1b0
ENH: second try for handling the linker language with integer priority values (returning a pointer to a string on the stack is no good idea)
...
Alex
2007-07-12 08:37:10 -04:00
Alexander Neundorf
16705a3e87
COMP: revert last commit for now, broke Visual Studio
...
Alex
2007-07-11 17:29:27 -04:00
Alexander Neundorf
bea1a5de77
ENH: CMAKE_<LANG>_LINKER_PREFERENCE is now an integer priority, not a
...
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
2007-07-11 16:22:04 -04:00
Alexander Neundorf
33e9becd6f
COMP: fix warning about unused parameter
...
Alex
2007-06-28 15:28:00 -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
b1aac1fb0d
ENH: use CMAKE_SYSTEM instead of CMAKE_SYSTEM_NAME, since
...
CMAKE_SYSTEM_NAME may already have been set when crosscompiling
Alex
2007-06-26 19:54:00 -04:00
Alexander Neundorf
b459ac2a1e
COMP: fix broken tests for now
...
Alex
2007-06-26 17:14:13 -04:00
Alexander Neundorf
5fb7dab541
ENH: check for CMAKE_HOST_SYSTEM_NAME to decide whether to load
...
CMakeDetermineSystem.cmake, since CMAKE_SYSTEM_NAME might already be preset
when using cmake for cross compiling
use type STRING instead of FILEPATH since otherwise a strange filename was
generated
Alex
2007-06-26 13:00:42 -04:00
Alexander Neundorf
c0d000d234
ENH: add INSTALL(EXPORT ...) mode and INSTALL( TARGETS ... EXPORT <set> ) ,
...
tests still have to be added
Alex
2007-06-19 13:10:21 -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
3ca8c8d946
COMP: remove warning about unused variable
...
Alex
2007-06-12 08:23:24 -04:00
Alexander Neundorf
6c02ec1a40
STYLE: add a comment about SetLanguageEnabled()
...
-add a Generic.cmake for target platforms without operating system
Alex
2007-06-11 15:47:35 -04:00
Alexander Neundorf
422dc631b6
ENH: split cmGlobalGenerator::SetLanguageEnabled() in two parts, where the
...
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
2007-06-11 15:31:42 -04:00
Alexander Neundorf
1b68e41b08
STYLE: determineLanguageCalled removed, now the conditional code is directly
...
called in the only place where it could be set to true
Alex
2007-06-11 14:28:31 -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
Alexander Neundorf
ae035f7c90
BUG: fix #5137 , now with the modified CMakeDetermineSystem.cmake the
...
CMAKE_HOST_SYSTEM_xxx variables have to be preset, not the CMAKE_SYSTEM_xxx
ones
Alex
2007-06-07 09:37:54 -04:00
Bill Hoffman
8cba2c55f9
BUG: fix crash, bug 5121
2007-06-01 09:18:08 -04:00
Brad King
775f012fae
BUG: Need to create global targets before AddHelperCommands is called. We should investigate creating global targets at the beginning of the configure step even if their commands are not populated or if they will not actually be generated later.
2007-05-25 15:51:33 -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
Alexander Neundorf
df8f550029
ENH: add install/strip target for makefile generators if strip was found
...
Alex
2007-05-18 13:43:39 -04:00
Alexander Neundorf
8245f437b6
BUG: fix problem for non-C/CXX languages with Visual Studio, the
...
dependencies for the custom commands added for java were not handled
correctly. Needs more work.
Alex
2007-05-09 14:41:38 -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
Bill Hoffman
32aecc84a1
ENH: fix seg fault in ccmake when hitting configure twice
2007-04-24 12:30:25 -04:00
Ken Martin
2a1e2456ae
ENH: some code consolidation and cleanup
2007-04-12 15:46:14 -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
Brad King
fc19882e8f
ENH: Moved ConvertToRelativePath from cmGlobalGenerator to cmLocalGenerator. This is in preparation for setting up each local generator to have its own RelativePathTopSource and RelativePathTopBinary based on its ancestor directories.
2007-03-07 15:15:46 -05:00
Brad King
73a5c33f9b
BUG: Removed legacy SetupTests method that was causing RUN_TESTS to test twice.
2007-03-05 13:01:02 -05:00
Bill Hoffman
d999d0240d
ENH: get rid of some extra erase calls
2007-02-21 14:07:33 -05:00
Ken Martin
49085f7fed
BUG: fixes so that --build-and-test will honor timeouts
2007-01-30 11:35:17 -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
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
Bill Hoffman
dd8d1e8c8d
ENH: remove warning
2006-11-10 09:32:27 -05:00
Bill Hoffman
3b7005c554
BUG: fix for broken borland compiler
2006-11-10 08:11:37 -05:00
Bill Hoffman
b0bc59f709
ENH: commit fix for putting everything in the build on vs
2006-11-09 09:57:23 -05:00
Andy Cedilnik
897a2a9029
ENH: Cleanup of install component list. There was already the list in the global generator. Use that one
2006-10-31 14:28:48 -05:00
Andy Cedilnik
7ded253013
ENH: Add support for displaying the list of components
2006-10-30 15:59:54 -05:00
Andy Cedilnik
d5f31292b2
BUG: Use variable instead of retrieving again. Fixes bug: Bug #3476
2006-10-12 15:30:01 -04:00
Bill Hoffman
4f304e7a07
BUG: fix for bug #3517 seg fault with enable language before project command
2006-10-04 11:11:21 -04:00
Bill Hoffman
18e302a377
ENH: fix dashbaord error do not exclude root project from itself.
2006-10-03 17:53:07 -04:00
Bill Hoffman
f851821cc7
BUG: fix for bug#3714 execlude_from_all not working on vs
2006-10-03 15:12:25 -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
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
57eb30087f
STYLE: Fixed line-too-long warning.
2006-09-01 09:51:28 -04:00
Brad King
239fce5caa
ENH: Do not generate install target unless some INSTALL or INSTALL_* commands have been used. This addresses bug#2827.
2006-08-31 10:47:00 -04:00
Brad King
eef327b944
ENH: Adding install/local global target for Makefile generators. This runs installation only in the current directory and not subdirectories.
2006-08-29 10:03:47 -04:00
Brad King
ed6791c898
BUG: Make sure targets of type GLOBAL_TARGET have a makefile set.
2006-08-25 22:56:36 -04:00
Brad King
15ca72a862
BUG: Delay relative path configuration until as late as possible to make sure the source/binary dir are set. This is a work-around for lack of a more structured way of creating the global generator.
2006-06-19 14:57:57 -04:00
Brad King
0bbcb49f65
ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells.
2006-06-15 16:17:11 -04:00
Ken Martin
8e9a6beccc
ENH: centralized locaiton of CMakeFiles setting
2006-06-14 12:28:32 -04:00
Brad King
87d4d0e039
BUG: cmGlobalGenerator::Build should not always use the /fast target name 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.
2006-06-01 15:51:24 -04:00
Brad King
ec2104cd31
BUG: Updated Makefile dependency scanning to provide a full local generator 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.
2006-05-25 09:47:30 -04:00
Brad King
e838bb31e3
BUG: Make sure RUN_TESTS target passes the desired configuration to ctest.
2006-05-13 12:28:06 -04:00
Ken Martin
01c25dd378
STYLE: fix line length
2006-05-12 10:46:50 -04:00
Ken Martin
b8483cf109
STYLE: fix line length
2006-05-11 10:40:28 -04:00
Ken Martin
3023eb7ccb
ENH: Makefile performance improvements
2006-05-02 09:56:42 -04:00
Brad King
4494c29078
ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support 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.
2006-04-26 21:31:39 -04:00
Bill Hoffman
0952ff6f4b
ENH: don't add package target if no package file is around
2006-04-20 15:49:37 -04:00
Andy Cedilnik
71b370c79c
BUG: Verify the global target name exists before using it. Fixes VS and Xcode
2006-04-17 16:06:31 -04:00
Andy Cedilnik
1e608c912c
ENH: Add packaging of source code (make package_source)
2006-04-17 15:26:54 -04:00
Ken Martin
17ebcb1bcd
COMP: fix warning
2006-04-12 11:56:27 -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
2301a025ea
ENH: Added global TargetManifest computation between Configure and Generate steps. This allows generators to know what other targets will exist on disk when the build completes.
2006-04-04 11:48:19 -04:00
Bill Hoffman
6e217924ce
ENH: use correct addcache call to fix build tools
2006-04-03 22:05:58 -04:00
Bill Hoffman
ae10b3578d
ENH: add a wrapper for xcodebuild to get around bug and verbose output
2006-03-31 13:17:23 -05:00
Brad King
eb31755eb2
ENH: Implemented VT100 terminal escape sequences. If CMAKE_COLOR_MAKEFILE is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060.
2006-03-30 15:39:03 -05:00
Bill Hoffman
5a2668b326
ENH: add support for win64 for visual studio 2005 ide and nmake, also fix warnings produced by building for win64
2006-03-30 13:49:56 -05:00
Brad King
08b14163ee
ENH: Added named component installation implementation. Installation behavior should be unchanged unless -DCOMPONENT=<name> is specified when cmake_install.cmake is invoked.
2006-03-30 13:33:48 -05:00
Ken Martin
7b3be313ee
ENH: modified the relative path code to not do relative paths between bin and source
2006-03-30 09:17:02 -05:00
Brad King
94cc5898e7
BUG: When generating the install rules for CMake itself the per-configuration subdirectory must be used to specify the executable location.
2006-03-16 18:24:26 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Brad King
c21a61c91a
BUG: Check for whether to add -C to package rule should check for a . in the first character not the second.
2006-03-07 14:38:52 -05:00
Brad King
93c95f1cc5
BUG: Fixed installation of MacOSX Bundle executables and the corresponding install_name remapping support. Extended the BundleTest test to check that this all works. Part of these fixes required changing the signature of AppendDirectoryForConfig in all generators. It now accepts prefix and suffix strings to deal with whether leading or trailing slashes should be included with the configuration subdirectory.
2006-03-03 12:58:48 -05:00
Bill Hoffman
2f78d874a7
ENH: fix for bug 2921, move _OVERRIDE variable to a better position to allow changing _INIT variables
2006-03-02 07:52:52 -05:00
Brad King
007421e19c
BUG: Check for whether to add BUILD_TYPE to install rule should check for a . in the first character not the second.
2006-03-01 18:49:52 -05:00
Andy Cedilnik
07260a6f27
ENH: Cleanup global targets even more and potentially fix Xcode
2006-03-01 08:28:39 -05:00
Andy Cedilnik
e6b8706225
BUG: Ok, fix the ordering
2006-02-28 16:33:14 -05:00
Andy Cedilnik
6783765c90
BUG: On Visual Studio and XCode, handle build configurations
2006-02-28 15:31:43 -05:00
Brad King
7db64cdb28
BUG: Need to use the CMAKE_COMMAND cache entry to get the location of CMake.
2006-02-28 09:53:32 -05:00
Andy Cedilnik
ee227d3af5
ENH: Several packaging issues. Allow random variables to be passed to cpack (anything starting with CPACK_, add preinstall to the list of dependencies for package, fix typos
2006-02-27 10:58:20 -05:00
Andy Cedilnik
3d9610feec
COMP: More fixes for non makefile generators and global targets
2006-02-24 18:15:35 -05:00
Andy Cedilnik
1cd8c64384
STYLE: Remove debug
2006-02-24 17:43:19 -05:00
Andy Cedilnik
c4156b4531
COMP: Even more global target fixes
2006-02-24 17:35:35 -05:00
Andy Cedilnik
77e5a607f2
BUG: Only add test targets when testing is enabled. Also add CMAKE_CFG_INTDIR when specified
2006-02-24 10:55:44 -05:00
Andy Cedilnik
0ba40b59c7
COMP: Handle preinstall properly on IDEs
2006-02-24 09:43:23 -05:00
Andy Cedilnik
66ea097554
ENH: Properly handle target dependencies
2006-02-23 17:30:12 -05:00
Andy Cedilnik
7c0251014c
COMP: More fixes for visual studio
2006-02-23 13:46:34 -05:00
Andy Cedilnik
549b77034e
COMP: Fixes for visual studio
2006-02-23 13:37:35 -05:00
Andy Cedilnik
32c403f665
ENH: Remove debug
2006-02-23 10:48:35 -05:00
Andy Cedilnik
12dc64c7f5
ENH: Add a notion of a global target
2006-02-23 10:07:24 -05:00
Bill Hoffman
347c5f4b46
ENH: add working directory support
2006-02-08 10:58:36 -05:00
Brad King
afa8367885
BUG: Fixed cmTarget::GetFullPath to not append the configuration name when only one configuration is built. It now asks the generator what subdirectory if any to use for a given configuration name.
2006-02-03 11:36:11 -05:00
Andy Cedilnik
782bef7374
ENH: Add a way for the generated command to include extra flags. This is useful for CTest (or try compile) to add -j2
2005-12-01 11:41:00 -05:00
Bill Hoffman
5b9ecdec44
ENH: fix warning
2005-09-15 13:26:29 -04:00
Bill Hoffman
8be3e4eeca
ENH: clean up EnableLanguage try to fix problem where try compile runs cmake
2005-09-15 12:17:38 -04:00
Ken Martin
2a45d5cd68
ENH: added DIRECTORY option to GET_DIRECTORY_PROPERTIES
2005-09-13 10:39:42 -04:00
Bill Hoffman
9c4bfe975a
ENH: add a fix for VTK on the mac and a way to fix some projects with a single file in the cmake modules directory
2005-09-07 17:05:01 -04:00
Ken Martin
c6b011e35e
ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree
2005-07-29 09:19:25 -04:00
Brad King
80802c21b6
ENH: RUN_TESTS target now uses proper CMAKE_CFG_INTDIR setting to get $(IntDir) or $(OutDir) depending on the generator.
2005-07-27 16:46:06 -04:00
Andy Cedilnik
de217bee8d
BUG: Generate RUN_TEST target if any tests are there
2005-07-27 15:46:21 -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
Brad King
7ed018ec09
BUG: Changing to a new test for whether to do relative path conversion. Now only paths inside the source or binary trees are converted.
2005-05-16 14:17:30 -04:00
Ken Martin
3744464c5e
BUG: filx for old bug in rel path computaiton code
2005-05-13 14:12:05 -04:00
Ken Martin
8c65179339
ENH: warning fixes and some first steps in cleaning up the convert code
2005-05-13 09:54:30 -04:00
Ken Martin
25f75d9075
ENH: added new methods to convert to HomeRelative paths
2005-05-11 10:19:58 -04:00
Andy Cedilnik
082b3b44d7
BUG: Fix bootstrap test on machines with spaces in the path
2005-05-04 11:13:00 -04:00
Andy Cedilnik
d772fce254
ENH: No need to convert to output path
2005-05-03 15:20:16 -04:00
Andy Cedilnik
61d0a75d11
ENH: Add option to ignore errors. Only works on make
2005-04-29 11:49:18 -04:00
Andy Cedilnik
7c5745ae95
ENH: Start working on command that will abstract generating of build command
2005-04-28 17:33:51 -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
697d749c73
BUG: fix for bug 1660
2005-04-05 13:14:50 -04:00
Andy Cedilnik
0dd2b6eb80
BUG: By default disable new files.
2005-04-04 12:22:08 -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
Bill Hoffman
213040b612
ENH: make sure project map is cleared each time.
2005-03-22 11:33:46 -05:00
Ken Martin
eb1764b34f
COMP: fix warning
2005-03-19 09:05:17 -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
Bill Hoffman
a9a0c91630
ENH: fix for finding the correct target in the current project
2005-03-03 22:35:06 -05:00
Brad King
de47b43c6f
BUG: Need to configure relative path support for LocalGenerate to support old makefile generator.
2005-02-24 19:28:44 -05:00
Brad King
cb48e0c161
ENH: Merged implementations of ConvertToRelative*Path methods. The main ConvertToRelativePath method is now in cmGlobalGenerator. It converts paths only if they are at least inside the deepest common directory between the top-level source and build trees. Each cmLocalGenerator instance calls this global method with its own output directory as the "local" argument from which paths are relative. Added separate ConvertToOptionallyRelative path that pays attention to the CMAKE_USE_RELATIVE_PATHS option.
2005-02-24 16:04:54 -05:00
Brad King
2e451961b6
BUG: Only use the existing CMake(lang)Compiler.cmake file from the build tree if it was generated by the same version of CMake.
2005-02-24 10:32:58 -05:00
Ken Martin
bfcb4b6937
COMP: fix warning
2005-02-22 12:34:02 -05:00
Ken Martin
4d30cb309c
ENH: ctest now uses CMake global generator to do the build part of build-and-test
2005-02-22 09:12:10 -05:00
Bill Hoffman
e930043477
ENH: more tests are passing, relative paths, and external objects are the ones left now
2005-02-17 17:54:14 -05:00
Bill Hoffman
cb73410ccb
ENH: more tests are passing
2005-02-16 16:35:32 -05:00
Bill Hoffman
fd0f29e6f4
ENH: depends work between targets
2005-02-03 17:42:55 -05:00
Bill Hoffman
13865fc4fa
ENH: move project map to global generator base
2005-01-21 12:26:32 -05:00
Bill Hoffman
beb584e7a1
ENH: add some comments on how this could be moved to global generator
2005-01-20 12:28:57 -05:00
Bill Hoffman
2615e6f0a9
BUG: fix for bug 1396, object files could not be used as sources any more
2004-12-06 12:38:04 -05:00
Bill Hoffman
5bf55d1590
ENH: shorten the symbols a bit and remove maps of std::string for map of cmStdString
2004-09-29 16:07:07 -04:00
Bill Hoffman
9e08d07be2
ENH: change ignore function so that it first checks to see if the extension has a language
2004-09-24 09:34:27 -04:00
Bill Hoffman
67ac3ea503
ENH: fix problems with .def and RC files
2004-09-23 08:51:06 -04:00
Bill Hoffman
692ba48c4e
ENH: major changes to support addition of languages from cmake modules directory.
2004-09-22 14:42:05 -04:00
Bill Hoffman
b1f3e10439
BUG: make sure env CC and CXX are not set for VS IDE builds
2004-09-15 11:31:54 -04:00
Ken Martin
ce277b647b
warning fix
2004-09-06 12:46:10 -04:00
Bill Hoffman
c2ef51e181
ENH: define language extensions in cmake files and not hard coded, also fix trycompile problem
2004-09-03 12:03: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
66a08c10e5
ENH: more uniform approach to enable language, one step closer to being able to enable a language without modifing cmake source code
2004-08-26 14:55:55 -04:00
Bill Hoffman
b41d447935
ENH: use GetRequiredDefinition instead of GetDefinition and crash
2004-08-11 16:58:09 -04:00
Bill Hoffman
9655299f08
ENH: initial fortran support
2004-08-06 14:51:41 -04:00