Brad King
bc43b0f2a4
Do not link library dependencies in VS solutions
...
In VS 8 and greater this commit implements
add_dependencies(myexe mylib) # depend without linking
by adding the
LinkLibraryDependencies="false"
option to project files. Previously the above code would cause myexe to
link to mylib in VS 8 and greater. This option prevents dependencies
specified only in the solution from being linked. We already specify
the real link library dependencies in the project files, and any project
depending on this to link would not have worked in Makefile generators.
We were already avoiding this problem in VS 7.1 and below by inserting
intermediate mylib_UTILITY targets. It was more important for those
versions because if a static library depended on another library the
librarian would copy the dependees into the depender! This is no longer
the case with VS 8 and above so we do not need that workaround.
See issue #9732 .
2009-10-20 16:38:37 -04:00
Brad King
0140d293de
Avoid C++ linker language in VS Fortran project
...
In Visual Studio project files we pass compiler flags to the whole
target based on the linker language, which works for MS tools and
combinations of C and C++. For the Intel Fortran plugin though the
generated .vfproj files should never contain C or C++ options.
We generate .vfproj files only for targets consisting only of Fortran
code. Now that the linker language is computed transitively through
linking it is possible that the linker language is C++ for an otherwise
Fortran-only project. This commit forces Fortran as the linker language
for the purpose of specifying target-wide flags in .vfproj files.
See issue #9719 .
2009-10-19 15:21:01 -04:00
Brad King
024d05adad
Fix use of module .def files for MS tools
...
We recognize .def source files and map them to the /DEF:<file> option in
the MSVC tools. Previously this worked only for shared libraries. This
commit cleans up the implementation and makes it work for executables
too. See issue #9613 .
2009-09-29 16:39:07 -04:00
Brad King
96afb12087
Convert CMake to OSI-approved BSD License
...
This converts the CMake license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King
6f010f1c40
Fix .vfproj file version for Intel Fortran 10.1
...
The commit "Generate proper Intel Fortran project version" replaced the
hard-coded 9.10 value with a runtime registry lookup of the real
version. Version 10.1 actually uses project file format 9.10, so this
commit switches it back for that version. See issue #9169 .
2009-09-28 10:00:14 -04:00
Bill Hoffman
8e8c9b7242
Bug #9430 , recognize the FR flag
2009-09-17 09:18:21 -04:00
Brad King
2006e4a405
Generate proper Intel Fortran project version
...
The Intel Visual Fortran compiler plugin for MS Visual Studio may be one
of several versions of the Intel compiler. This commit teaches CMake to
detect the plugin version and set the version number in .vfproj files.
See issue #9169 .
2009-09-16 11:44:50 -04:00
Brad King
0e8c7859c8
Silence VS generator for missing CMakeLists.txt
...
CMake Makefile generators silently ignore missing CMakeLists.txt files
and just treat the source directory as if it had an empty input file.
This will be addressed with a new CMake Policy, but for now we make the
VS generator consistent with the Makefile generator behavior. The VS
generator will need to handle the OLD behavior of the policy anyway.
2009-09-02 16:07:12 -04:00
Bill Hoffman
b590e1dfae
ENH: remove code duplication and use cmVisualStudioGeneratorOptions for all versions of vs 7 and greater.
2009-07-28 14:30:15 -04:00
Bill Hoffman
3d1c12b802
ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties instead, fix VXExternalInclude test for VS10
2009-07-14 14:16:46 -04:00
Bill Hoffman
5c4208f50e
ENH: only 5 failing tests for VS 10
2009-07-10 09:12:39 -04:00
Brad King
173448d988
ENH: Pass config to cmTarget::GetLinkerLanguage
...
This passes the build configuration to most GetLinkerLanguage calls. In
the future the linker language will account for targets linked in each
configuration.
2009-07-08 13:04:04 -04:00
Brad King
a608467180
ENH: Simpler cmTarget::GetLinkerLanguage signature
...
This method previously required the global generator to be passed, but
that was left from before cmTarget had its Makefile member. Now the
global generator can be retrieved automatically, so we can drop the
method argument.
2009-07-07 07:44:12 -04:00
Brad King
43669f0ef2
BUG: Avoid cmTarget::GetDirectory for utilities
...
Since utility targets have no main output files like executables or
libraries, they do not define an output directory. This removes a call
to cmTarget::GetDirectory from cmLocalVisualStudio{6,7}Generator for
such targets.
2009-07-03 10:33:49 -04:00
Brad King
44021718a6
STYLE: Replace large if() with named boolean
...
In cmLocalVisualStudio{6,7}Generator this replaces a large if() test
with a re-usable result stored in a boolean variable named accordingly.
2009-07-03 10:33:34 -04:00
Brad King
66189b0b79
ENH: Create exe implib dir in VS pre-link rule
...
This moves creation of an executable's import library directory in VS
projects from the pre-build step to the pre-link step. It makes sense
to create the directory at the last moment.
2009-06-16 11:44:19 -04:00
Brad King
764ac9803d
ENH: Generalize exe implib dir creation for VS
...
In VS 7,8,9 executable targets we generate a build event to create the
output directory for the import library in case the executable marks
symbols with dllexport (VS forgets to create this directory). This
generalizes computation of the custom command line to support future use
with other VS versions.
2009-06-16 11:44:07 -04:00
Brad King
f4b3bdc6be
BUG: Create an exe's implib output dir for VS
...
If an executable marks symbols with __declspec(dllexport) then VS
creates an import library for it. However, it forgets to create the
directory that will contain the import library if it is different from
the location of the executable. We work around this VS bug by creating
a pre-build event on the executable target to make the directory.
2009-06-15 10:55:21 -04:00
Brad King
4a9dd4aad4
ENH: Refactor VS 7,8,9 build event generation
...
In cmLocalVisualStudio7Generator we generate pre-build, pre-link, and
post-build events into project files. This refactors the generation
code for the three event types into a private EventWriter class to avoid
duplicate code.
2009-06-12 15:28:48 -04:00
Bill Hoffman
fb24a4c881
STYLE: fix line lenght
2009-03-28 13:02:29 -04:00
Bill Hoffman
17f327b5da
BUG: fix for #8686 add some more compiler flags
2009-03-27 12:33:17 -04:00
Bill Hoffman
97ef91d57b
BUG: fix for 7845, idl files compile even with headerfile only on
2009-01-27 10:26:55 -05:00
Brad King
3cf9265fa7
ENH: Refactor passing of max length object dir
...
When computing the maximum length full path to the build directory under
which object files will be placed, pass the actual path instead of just
its length. This will be useful for error message generation.
2008-12-16 09:14:40 -05:00
Bill Hoffman
749dbcdc6e
ENH: make the scc optional
2008-10-27 15:31:03 -04:00
Bill Hoffman
1ed93e0a0e
BUG: fix for 7839 and 4524
2008-10-27 13:51:30 -04:00
Bill Hoffman
637418a835
BUG: fix for 4524, add support for target properties to set vs source code control information
2008-10-07 16:23:20 -04:00
Bill Hoffman
ecf312ccc8
STYLE: fix line length stuff for KWStyle
2008-10-01 09:04:27 -04:00
Bill Hoffman
771f127fe9
BUG: fix for 7624, vs7 flag table missing /MAP
2008-09-08 17:53:47 -04:00
Bill Hoffman
d8837b92ba
BUG: fix for 7519 extra closing > in fortran projects
2008-09-03 16:22:55 -04:00
David Cole
e1ac9227a0
BUG: Fix issue #5773 - add table entry to map /W0 to WarningLevel="0"
2008-07-31 12:54:09 -04:00
Brad King
b73cac6409
BUG: Do not escape make variable references in VS additional options.
2008-06-30 09:57:07 -04:00
Bill Hoffman
fefe078e58
BUG: fix for bug 6619
2008-06-17 10:58:03 -04:00
Brad King
10db44a81d
COMP: Fix build with concept checking of STL.
...
- Fix cmSourceGroup to not use std::vector with an incomplete type.
2008-05-16 16:56:41 -04:00
Bill Hoffman
10c91ded4f
ENH: add support for Intel Fortran Visual studio IDE
2008-04-30 13:26:04 -04:00
David Cole
8950fca4ce
BUG: Fix for issue #6440 . Use 0 instead of FALSE for ExceptionHandling with Visual Studio 2005 and later.
2008-04-17 11:16:53 -04:00
Brad King
67834f2d53
BUG: Correct Mac OS X framework behavior
...
- Place the built library in foo.framework/Versions/A/foo
- Do not create unused content symlinks (like PrivateHeaders)
- Do not use VERSION/SOVERSION properties for frameworks
- Make cmTarget::GetDirectory return by value
- Remove the foo.framework part from cmTarget::GetDirectory
- Correct install_name construction and conversion on install
- Fix MACOSX_PACKAGE_LOCATION under Xcode to use the
Versions/<version> directory for frameworks
- Update the Framework test to try these things
2008-04-08 00:06:47 -04:00
Brad King
8605551920
ENH: Improve speed of manifest tool on VS8 and VS9.
...
- Detect filesystem type where target will be linked
- Use FAT32 workaround only when fs is FAT or FAT32
2008-03-31 10:59:02 -04:00
Bill Hoffman
47d12c273c
BUG: fix for 6619
2008-03-27 22:00:16 -04:00
Bill Hoffman
260de3ca3e
BUG: fix for bug 6660
2008-03-27 21:54:49 -04:00
Bill Hoffman
7b93585960
BUG: fix for bug 6661
2008-03-27 21:51:32 -04: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
6066e92ba2
BUG: cmTarget instances should not be copied. Removed pass-by-value arguments from cmLocalVisualStudio7Generator::WriteGroup and cmLocalVisualStudio6Generator::WriteGroup. Updated cmTarget to make this easier to find.
2008-01-29 17:30:34 -05:00
Brad King
ffac622a85
ENH: Add cmTarget::GetLinkInformation method to allow several places in the generators to share link information while only computing it once per configuration for a target. Use it to simplify the chrpath feature.
2008-01-29 15:07:33 -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
Brad King
433099ecdd
ENH: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into a COMPILE_DEFINITIONS directory property.
2008-01-17 19:29:43 -05:00
Brad King
80c2be45e0
ENH: Renamed <CONFIG>_COMPILE_DEFINITIONS to COMPILE_DEFINITIONS_<CONFIG> for better documentation clarity.
2008-01-15 21:02:00 -05:00
Brad King
8262ccfd4e
ENH: Create COMPILE_DEFINITIONS property for targets and source files. Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
2008-01-14 09:20:58 -05:00
Brad King
857e2e15dd
ENH: Improved escaping in kwsys/System. Added escape of % for NMake. Added escape of ; for the VS IDE.
2008-01-13 16:36:20 -05:00
Brad King
872553de7e
ENH: Implemented generation of display for pre-build, pre-link, and post-build custom command comments during the build. This addresses issue #5353 .
2007-12-18 09:50:08 -05:00
Bill Hoffman
3409e0a777
STYLE: fix indent
2007-12-13 15:42:49 -05:00
Bill Hoffman
246e964180
BUG: fix for bug 5455, handle nodefaultlib with more than one lib
2007-12-06 08:40:18 -05:00
Brad King
bb1fa4c3f0
BUG: Fix exception handling flag translation to be specific to each VS version. This allows /EHa to be handled correctly for VS 2003.
2007-11-16 11:01:23 -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
Brad King
ea2b389a17
BUG: Converted per-vcproj timestamp to a single directory-level CMakeFiles/generate.stamp file shared by all targets in each directory. This avoids having all targets overwrite each others timestamp check rules and instead has one single rule.
2007-11-12 15:42:37 -05:00
Brad King
34c882a9f8
ENH: Allow VS 7 project Rebuild and Solution Rebuild to work without re-running CMake for every project during the rebuild.
2007-11-10 08:15:13 -05:00
Brad King
e5bb99e010
ENH: Removed dependency on Templates/CMakeWindowsSystemConfig.cmake which is no longer used. Also removed the file itself.
2007-11-09 15:08:56 -05:00
Brad King
f9322d188b
ENH: Converted vcproj file generation to use cmGeneratedFileStream for atomic replacement. Replaced the vcproj.cmake copy of the file with a simple vcproj.stamp timestamp file to preserve previous rerun-without-reload behavior.
2007-11-09 12:05:03 -05:00
Bill Hoffman
0e14877e2a
ENH: fix for vs 8
2007-09-17 15:59:50 -04:00
Bill Hoffman
9cbb998737
ENH: add support for vs 2008 beta 2
2007-09-17 15:21:47 -04:00
Brad King
ea874415d9
ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides a common interface to something that was implemented in most local generators anyway.
2007-08-01 15:25:40 -04:00
Brad King
ecff1c37da
BUG: Do not recognize preprocessor definition flags for the linker which has no preprocessor but does have flags starting with /D.
2007-08-01 11:39:51 -04:00
Bill Hoffman
be1b19ada0
BUG: fix DLL and DEF being lost and add real support for /DEF: /DLL does not have an entry so just let it pass to advanced command line
2007-07-31 11:23:15 -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
27a0677d3e
COMP: Fix build for windows-only generators after change to GetSourceFiles signature.
2007-05-28 11:00:26 -04:00
Alexander Neundorf
79756b0e67
BUG: don't use non-imported target when cross compiling as commands in custom commands
...
STYLE: remove now invalid comments, use this->
Alex
2007-05-24 08:43:31 -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
362f81981e
STYLE: fix line length
...
Alex
2007-05-10 11:38:23 -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
Brad King
adcd87c976
BUG: Fixed cmLocalVisualStudio7Generator to deal with quotes in macro definitions properly. This addresses bug#4983.
2007-05-09 10:18:31 -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
f1e02b2993
COMP: removed unused variable temp
...
Alex
2007-05-04 14:08:50 -04:00
Ken Martin
8b0c61c322
ENH: added internal target property for the name of the project file
2007-04-10 09:54:01 -04:00
Brad King
af95f61d76
ENH: Created method cmTarget::GetExportMacro to centralize computation of the export symbol name. This removes duplicate code from all the generators. Also enabled the export definition for executable targets with the ENABLE_EXPORTS property set.
2007-03-27 23:13:25 -04:00
Brad King
fc7c433463
ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly.
2007-03-19 10:00:36 -04:00
Brad King
1f639ee76c
ENH: Added computation of object file names that are almost always short enough to not exceed the filesystem path length limitation. This is useful when a source file from outside the tree is referenced with a long full path. The object file name previously would contain the entire path which when combined with the build output directory could exceed the filesystem limit. Now CMake recognizes this case and replaces enough of the beginning of the full path to the source file with an md5sum of the replaced portion to make the name fit on disk. This addresses bug#4520.
2007-03-16 10:34:25 -04:00
Brad King
9da6f96d98
BUG: Reverting previous changes related to using an empty string for a relative path to the current directory. Too many places want the . version. Instead we can just convert the . to an empty string in the one place that motiviated the original change.
2007-03-14 16:29:10 -04:00
Brad King
b8bd0f80db
BUG: When the current output directory is a link directory we need to reference it with the relative path "." instead of an empty relative path.
2007-03-14 15:35:10 -04:00
Brad King
770ffb1699
BUG: All executable and library project types should specify a program database file name for all configurations. Even when debug information is not used the .pdb file specified is used to construct the name of a .idb file that exists for all configurations when building with the VS IDE.
2007-03-14 09:34:31 -04:00
Brad King
fb38af53c0
BUG: Split precompiled header flags into a separate per-global-generator flag map. This is needed because the flag mappings differ across VS IDE versions. This fixes bug#3512 for VS8 where as the previous fix only worked for VS7.
2007-03-12 12:35:11 -04:00
Brad King
528f60f4a6
ENH: Added implib option to cmTarget::GetDirectory to support a separate directory containing the import library. This is an incremental step for bug#4210.
2007-03-09 09:30:16 -05:00
Brad King
01dc699d82
ENH: Combined cmTarget::GetDirectory and cmTarget::GetOutputDir since they are nearly the same. This is another step for bug#2240.
2007-03-08 15:33:19 -05:00
Brad King
33ee83714d
ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in Makefile and VS generators to instead ask each target for its output path. This significantly reduces total code size and centralizes previously duplicate code. It is also a step towards bug#2240.
2007-03-08 14:57:28 -05:00
Brad King
0e8515fa4c
BUG: Get rid of ancient variables CMAKE_CXX_WARNING_LEVEL, CMAKE_CXX_USE_RTTI, CMAKE_CXX_STACK_SIZE which are only partially implemented and now taken care of by flag mapping anyway.
2007-03-07 15:57:52 -05:00
Ken Martin
8e702e6977
COMP: fix some w4 warnings
2007-03-02 10:50:45 -05:00
Bill Hoffman
828eebcd31
STYLE: fix line length
2007-02-21 14:07:04 -05:00
Bill Hoffman
1d8e7e9411
BUG: fix for bug 4423 set language fixes
2007-02-20 09:35:21 -05:00
Bill Hoffman
f7cd9f76ce
STYLE: fix line length issues
2007-02-17 08:46:25 -05:00
Bill Hoffman
fad49c8724
ENH: fix for vs ide
2007-02-16 16:45:47 -05:00
Bill Hoffman
ca0230a33e
ENH: check in initial conv library stuff
2007-02-16 16:12:17 -05:00
Brad King
7c72e03c25
BUG: Do not hack the exception handling default for linker flags or for per-source-file flags.
2007-02-15 12:23:42 -05:00
Bill Hoffman
fd799a5d0e
STYLE: fix line length
2007-02-01 17:06:05 -05:00
Brad King
4bc0fd0941
ENH: Added cmTarget::GetPDBName method to simplify computation of .pdb file name for a target.
2007-02-01 16:54:49 -05:00
Brad King
7e896821f5
BUG: Do not use bitwise OR on bool.
2007-02-01 15:44:39 -05:00
Brad King
939ae77b7b
ENH: Added a special flags integer field to the flag map entries. Added flags for user values and other special cases. Added precompiled header flag translation entries. This addresses bug#3512.
2007-02-01 15:02:35 -05:00
Brad King
0b4bd97210
COMP: Removed unused variable.
2007-02-01 13:04:15 -05:00
Brad King
62d4c1b14a
ENH: Added mapping of /NODEFAULTLIB flag when no values are provided.
2007-02-01 12:00:17 -05:00
Brad King
d8aa12178d
ENH: Reimplemented parsing and mapping of flags into vcproj file attribute options. This cleans up and centralizes a few things. It is in preparation for dealing with precompiled header flags for bug #3512 since they require some special handling.
2007-02-01 11:49:27 -05:00
Brad King
712345ffc4
BUG: The .pdb file generated for a library or executable should match the real file name used for the target. This addresses bug#3277.
2007-02-01 09:57:24 -05:00
Bill Hoffman
345df44dc5
BUG: make sure external vs projects use the GUID in the project if it has one.
2007-01-31 13:34:18 -05:00
Bill Hoffman
cc2364f559
STYLE: fix link lenght issue
2007-01-15 12:12:56 -05:00
Bill Hoffman
cca67d7f8e
BUG: fix for bug 4239, NODEFAULTLIB flag support in ide
2007-01-11 21:02:47 -05:00
Brad King
b9f3de8491
BUG: When writing newlines between script portions in prebuild, prelink, and postbuild command lines they must be escaped for XML so that the IDE receives them. This fixes the fix for bug #3977 .
2006-10-26 10:49:29 -04:00
Brad King
89f098bc59
BUG: Adjust prebuild/prelink/postbuild script construction to account for ConstructScript no longer producing trailing newlines. This addresses bug#3977.
2006-10-25 12:49:27 -04:00
Brad King
b155f3aa1c
ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219.
2006-10-16 18:17:14 -04:00
Bill Hoffman
655ba54e2d
BUG: fix for bug#3908 if header_file_only is set on cxx files in visual studio do not compile them
2006-10-13 16:13:14 -04:00
Bill Hoffman
430f6f35eb
BUG: fix for fat file systems and vs8 #2617
2006-10-04 14:02:12 -04:00
Bill Hoffman
4c44781404
BUG: fix for bug#3362 xml escapes on -D stuff for visual studio
2006-10-04 13:27:58 -04:00
Bill Hoffman
8750b1960e
BUG: fix for bug# 3664
2006-10-04 11:33:07 -04:00
Bill Hoffman
2e7aef7422
BUG: fix for bug#3738
2006-10-03 14:03:12 -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
dd332a00cc
ENH: Re-implemented command line argument shell quoting to support several platforms with one code base.
2006-09-27 13:43:46 -04:00
Brad King
2459ceb076
BUG: Centralized generation of command line arguments in escaped form. This addresses bug#3786 for several platforms.
2006-09-21 15:14:06 -04:00
Brad King
5d632330b6
STYLE: Fixed line-too-long.
2006-08-26 10:22:23 -04:00
Brad King
7e47f8496a
BUG: Fix for VS.NET 2003 SP1 to make sure global target and utility target rules run every time.
2006-08-25 22:56:41 -04:00
Brad King
276e7e21a3
ENH: Adding flags to force generation of manifest files when building with VC 8.
2006-08-15 15:33:20 -04:00
Bill Hoffman
eec4790555
BUG: fix for 3557 TargetEnvironment for MIDL Compiler set correctly for 64 bit
2006-07-28 11:21:50 -04:00
Bill Hoffman
3b74388050
ENH: allow for source tree to be in root directory
2006-07-24 11:27:07 -04:00
Brad King
9bf5af6e32
ENH: Moved unique object file name computation from cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories.
2006-07-11 11:41:38 -04:00
Bill Hoffman
f5e87c309c
ENH: add EHa option
2006-06-30 13:51:25 -04:00
Bill Hoffman
e050211a6d
BUG: fix for bug 3444, remove trailing . in lib names
2006-06-26 12:06:44 -04:00
Ken Martin
f9eb5cf768
ENH: fix line length
2006-06-13 09:46:10 -04:00
Ken Martin
1f1196410a
ENH: fix line length
2006-06-12 15:44:10 -04:00
Bill Hoffman
abf97b5b84
ENH: fix /TP for c code
2006-06-06 12:01:23 -04:00
Brad King
3db44b6973
COMP: Added missing include for isspace.
2006-05-23 15:27:41 -04:00
Brad King
52a8004b98
BUG: Fix parsing of definitions to support REMOVE_DEFINITIONS.
2006-05-23 15:01:15 -04:00
Ken Martin
7dc8a92246
STYLE: fix line length
2006-05-12 11:56:09 -04:00
Bill Hoffman
1a2b8afe1e
ENH: remove bogus machine setting
2006-05-12 10:09:31 -04:00
Bill Hoffman
d5d1525339
ENH: remove debug output
2006-05-04 13:39:45 -04:00
Bill Hoffman
1794836ee3
ENH: fix build c stuff with c and c++ with c++
2006-05-04 13:35:56 -04:00
Bill Hoffman
2eea3e3868
ENH: use a better name
2006-04-21 08:59:11 -04:00
Bill Hoffman
03cee03f67
ENH: do not compile header files
2006-04-20 21:32:42 -04:00
Brad King
350c3efe7b
BUG: VS7 seems to have a limit on the length of the link directory list string. Try to make the string as short as possible by avoiding trailing slashes and using a relative path (if it is shorter).
2006-04-20 15:28:56 -04:00
Bill Hoffman
69488e5bd2
ENH: allow multiple files with the same name in different subdirs
2006-04-17 13:58:28 -04:00
Brad King
08289893b8
ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway.
2006-04-11 16:55:49 -04:00
Brad King
e380bad5f6
BUG: Use flag-map transform only for C and C++ flags.
2006-04-11 14:54:19 -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
3c8e899102
ENH: add support for per config target LINK_FLAGS
2006-04-03 12:57:51 -04: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
Ken Martin
00d2546664
ENH: removed unused rules from targets for VS
2006-03-23 13:55:09 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -05:00
Andy Cedilnik
634343c3e8
STYLE: Fix some style issues
2006-03-10 13:06:26 -05:00
Andy Cedilnik
c4156b4531
COMP: Even more global target fixes
2006-02-24 17:35:35 -05:00
Andy Cedilnik
07d0e776ad
BUG: More fixing of support for global target son visual studio
2006-02-24 16:20:44 -05:00
Andy Cedilnik
7c0251014c
COMP: More fixes for visual studio
2006-02-23 13:46:34 -05:00
Bill Hoffman
0a0e459102
ENH: make command line flags more consistent with ide settings
2006-02-21 12:19:32 -05:00
Bill Hoffman
2cb68f6000
ENH: make sure CMAKE_STANDARD_LIBRARIES are used
2006-02-20 17:47:12 -05:00
Brad King
7bdec94154
BUG: Add target-level COMPILE_FLAGS to the target not the individual source files. This simplifies the generated files and puts flags in a more logical order (VS6 works, VS7 needs more translation to work).
2006-02-20 14:21:10 -05:00
Brad King
9ba0283870
ENH: If CMAKE_NO_AUTOMATIC_INCLUDE_DIRECTORIES is not set try to approximate in-source build include file behavior in an out-of-source build by adding the build tree directory corresponding to a source tree directory at the beginning of the include path. Also fixed VS6 and VS7 generators to use cmLocalGenerator's computation of include paths. The VS6 generator will now short-path the include directories if the total length is too long in order to try to avoid its truncation limit.
2006-02-18 11:51:23 -05:00
Brad King
5288d61ede
BUG: Use NOINHERIT macro to avoid linking to project default libraries which may not exist.
2006-02-15 16:38:57 -05:00
Brad King
6c89a96b86
BUG: Removed hard-coded linking to odbc32 and odbccp32.
2006-02-14 16:35:33 -05:00
Brad King
916ea2bad2
BUG: Avoid adding unused rules to special targets like ALL_BUILD. Make sure project regeneration rules go only in desired targets.
2006-02-14 16:32:20 -05:00
Bill Hoffman
8f71efa776
ENH: bug fix for 2829 better flags for idl tool
2006-02-09 23:08:19 -05:00
Brad King
1b5e3f4136
BUG: Fixed generation of cmake re-run rules.
2006-02-09 18:42:58 -05:00
Bill Hoffman
347c5f4b46
ENH: add working directory support
2006-02-08 10:58:36 -05:00
Brad King
f4b306d5d4
BUG: VS7 generator should use per-configuration linker flags for targets. This addresses bug#2765.
2006-01-27 13:48:21 -05:00
Bill Hoffman
07ef88c985
ENH: add COMPILE_FLAGS to targets
2006-01-25 08:38:06 -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
a91947039a
ENH: for all custom commands that can not be given to a target, add them to all targets in the current makefile
2006-01-09 14:40:31 -05:00
Ken Martin
0b69b892ed
ENH: removed TARGET_DIR_PREFIX support
2005-12-13 15:13:17 -05:00
Brad King
1c7075057f
ENH: Added support for parallel builds in VS 8. There is now a special target on which all other targets depend that re-runs CMake if any listfiles have been changed. This addresses bug#2512.
2005-12-13 14:21:28 -05:00
Bill Hoffman
129299f900
ENH: fix for bug 2584, empty source groups with children skipped
2005-12-12 11:34:17 -05:00
Brad King
d952f68738
BUG: Tweak VS8 generator to keep VS8 happy. The .vcproj files need their own GUIDs in a ProjectGUID attribute. The top level .sln file needs a special comment at the top to allow it to be opened with double-click in explorer.
2005-11-22 13:37:42 -05:00
Bill Hoffman
49840778b9
ENH: add some more properties for visual studio projects
2005-11-19 09:40:11 -05:00
Bill Hoffman
9104097502
COMP: fix compile error
2005-11-19 08:29:28 -05:00
Brad King
036a78056c
BUG: Fixed flag-to-vcproj-attribute conversion code to work again (it was broken by the optimization changes). Added conversion of /nologo flag to SuppressStartupBanner attribute and /Gy flag to EnableFunctionLevelLinking attribute.
2005-11-18 10:36:52 -05:00
Brad King
8dc8232027
BUG: Fixed XML escapes for custom commands. Also added escaping of newlines for VS 2005.
2005-11-17 15:57:51 -05:00
Brad King
b9e088dcfa
BUG: Double-quotes in definitions must be escaped.
2005-10-03 14:33:35 -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
f9aef0e422
ENH: Generator now creates a separate intermediate files directory for each target. This is needed for MSVC 8 to support parallel builds.
2005-07-27 13:36:36 -04:00
Bill Hoffman
6a73e8ac69
ENH: fix lib case bug correctly
2005-07-25 16:10:08 -04:00
Bill Hoffman
6ea4eadc68
BUG: undo fix
2005-07-23 10:32:57 -04:00
Bill Hoffman
7041af809d
ENH: more efficent fix for bug # 2063
2005-07-22 15:41:23 -04:00
Bill Hoffman
72fdb13652
BUG: fix for case mismatched lib bug # 2063
2005-07-22 15:33:51 -04:00
Bill Hoffman
42b76aea32
BUG: remove part of patch from bug 1965 that set executable paths
2005-07-13 16:57:29 -04:00
Bill Hoffman
aa47caab2d
FIX: apply patch from bug# 1965
2005-07-13 11:21:30 -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
Ken Martin
fbf40e202a
ENH: add first cut at support for exe with same name as lib
2005-06-16 11:48:43 -04:00
Ken Martin
708828dc37
ENH: removed old convert calls
2005-06-10 08:41:47 -04:00
Bill Hoffman
bbdfcc581a
Undo fix as it broke the dashboard
2005-05-12 16:25:40 -04:00
Bill Hoffman
70ed04df05
ENH: fix for bug where debug, release etc flags were not used for linker options, BUG 1781 fix
2005-05-12 13:27:48 -04:00
Bill Hoffman
3778d89cb9
BUG: fix insert for 64 bit
2005-04-13 09:54:37 -04:00
Bill Hoffman
a18df448db
BUG: fix Ambiguity in insert call
2005-04-12 15:40:07 -04:00
Bill Hoffman
1004073942
ENH: performance improvements
2005-04-12 13:27:07 -04:00
Bill Hoffman
c2ad3e4afc
ENH: fix adding of rc files
2005-03-22 07:26:45 -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
Brad King
397dc1cef5
ENH: Converted some ConvertToRelativeOutputPath calls to ConvertToOptionallyRelativeOutputPath in preparation for making ConvertToRelativeOutputPath always convert. Some of these might be able to be switched back but we will first have to test what paths can be relative in the generate VS project files.
2005-02-24 18:35:36 -05:00
Brad King
39af9ee1e4
ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues.
2005-02-22 10:32:44 -05:00
Bill Hoffman
761cbed509
FIX: fix for bug 1606
2005-02-17 10:39:59 -05:00
Bill Hoffman
a2972211a8
FIX: fix for bug 1460
2005-02-11 14:20:51 -05:00
Bill Hoffman
d8ed9ef121
ENH: fix bug 1324
2005-02-09 23:25:09 -05:00
Bill Hoffman
91578381e8
BUG: fix version number
2005-01-26 15:43:49 -05:00
Bill Hoffman
36c8f1d157
ENH: put error checking for missing linker languages
2004-10-27 10:53:01 -04:00
Bill Hoffman
7cef36c628
ENH: add the ability to generate custom commands for a language that is not supported by an IDE
2004-10-21 14:34:02 -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
5001eed8a5
ENH: clean up of INCLUDE_EXTERNAL_MSPROJECT contributed by Clinton Stimpson
2004-09-15 12:07:57 -04:00
Bill Hoffman
b41d447935
ENH: use GetRequiredDefinition instead of GetDefinition and crash
2004-08-11 16:58:09 -04:00
Brad King
aa1b32218a
BUG: Fixed crash when CMAKE_CXX_STACK_SIZE is not defined.
2004-08-05 09:17:25 -04:00
Bill Hoffman
07dae7bba4
ENH: sort flags, and fix order and case problems and add a few more
2004-07-15 14:38:50 -04:00
Bill Hoffman
871db9760f
ENH: remove warnings
2004-07-14 19:53:54 -04:00
Bill Hoffman
a3eeaa1ce2
ENH: use a map to fill out flags, and keep command line consistent with the GUI
2004-07-14 16:10:18 -04:00
Bill Hoffman
86195caf6a
ENH: add support for VCExpress 2005
2004-07-05 12:16:33 -04:00
Bill Hoffman
b6466061cb
ENH: add NDEBUG to windows release builds for both ide and nmake
2004-06-14 12:16:25 -04:00
Bill Hoffman
8d1a5c48e7
BUG: fix for 871, include external should work for 7.1 and 7.0
2004-06-01 12:07:01 -04:00
Bill Hoffman
70eaddbf8e
BUG: make sure global generate is done when cmakelist file chagnes, also make sure guids are stored in the cache so the .sln file does not change every time
2004-05-20 16:29:09 -04:00
Bill Hoffman
71b57bc454
BUG: fix for bug 769 CMAKE_STANDARD_LIBRARIES now used in ides
2004-04-23 16:26:21 -04:00
Bill Hoffman
0b7d154ebd
ENH: add verbose make abilility to visual studio 7
2004-04-23 13:12:33 -04:00
Bill Hoffman
7b576866b7
ENH: add support for static library property STATIC_LIBRARY_FLAGS
2004-04-22 16:58:04 -04:00
Bill Hoffman
4e8b76dc93
BUG 178: make top level cmakelist file a source in ALL_BUILD
2004-04-22 09:44:41 -04:00
Bill Hoffman
62bd5b7c8c
BUG: fix for bug 91
2004-04-16 09:50:31 -04:00
Ken Martin
df3205e873
fix problem with custom command
2004-04-07 12:07:36 -04:00
Andy Cedilnik
c7067f426f
ENH: Properly build WIN32 executables
2004-03-09 12:31:08 -05:00
Andy Cedilnik
b1a7421840
ENH: Styart working on bundles support and abstract WIN32_EXECUTABLE
2004-02-28 18:59:19 -05:00
Bill Hoffman
a588dbcba1
BUG: .lib from a .dll should go in m_LibraryOutputPath not m_ExecutableOutputPath
2004-01-23 15:17:21 -05:00
Bill Hoffman
8685faba69
BUG: fix for debug flags into project files
2004-01-23 13:01:52 -05:00
Bill Hoffman
0bdb092a01
ENH: add relative paths to visual studio 6 and 7 project files
2003-12-22 16:21:27 -05:00
Andy Cedilnik
72d8bd1e41
BUG: Fix Bug #445 - Same library in multiple projects can cause problems
2003-12-18 13:17:36 -05:00
Brad King
6018ebdc85
BUG#393: Adding XML escaping for additional per-source compile flags.
2003-11-21 14:13:49 -05:00
Bill Hoffman
343f327b32
BUG: fix for 363, VCMIDLTool not used for idl files
2003-11-11 12:51:50 -05:00
Bill Hoffman
77afae681a
BUG: add preprocessor flags to resource compiler
2003-10-28 11:55:40 -05:00
Bill Hoffman
16fe086267
BUG: make sure -M flags are not duplicated and are only set in the xml
2003-10-17 16:19:37 -04:00
Bill Hoffman
545ae439b7
BUG: fix for unicode and for /D -D
2003-10-17 16:08:49 -04:00
Bill Hoffman
073a5b69b7
ENH: allow users to change to unicode
2003-10-16 10:10:49 -04:00
Bill Hoffman
db3cd82590
BUG: fix for bug 78 should be on 1.8 branch
2003-10-15 23:42:06 -04:00
Brad King
c056415593
BUG: Check for whether to use CMAKE_EXE_LINKER_FLAGS should look both for EXECUTABLE and WIN32_EXECUTABLE targets.
2003-09-24 11:03:14 -04:00
Bill Hoffman
dd4e8df29a
BUG: make sure exe output path is used for dep hack stuff
2003-08-28 16:22:46 -04:00
Ken Martin
2b2a9d73da
fix to executable depends for custom commands
2003-08-28 16:06:06 -04:00
Bill Hoffman
58d9cfa141
BUG: fix bug with custom commands depending on executables
2003-08-28 14:52:26 -04:00
Bill Hoffman
4a1412b0cb
BUG: fix for bugs 125 - 128, and a fix for the bug introduced by the bug fix for but 92. & was being replaced with &, but after double quote was replaced with " causing it to be &quot. Also add more search paths for mpi
2003-08-07 09:19:39 -04:00
Brad King
8830b45b88
BUG#92 - Added XML escaping for <, >, and &.
2003-08-05 16:04:53 -04:00
Brad King
48aedb2ba3
ENH: Fully implemented SOURCE_GROUP command.
2003-07-23 15:32:54 -04:00
Bill Hoffman
f22a4a908d
ENH: add linker flags
2003-07-03 12:50:41 -04:00
Ken Martin
840389b64f
moved depend code into cmTarget
2003-06-24 15:24:30 -04:00
Ken Martin
6309da4242
fix for bad assumption on custom rules
2003-06-17 17:13:56 -04:00
Ken Martin
703242071f
more crazt changes source files now must match with full path
2003-06-05 14:40:25 -04:00
Bill Hoffman
fc0a916eee
ENH: allow duplicate commands with the same output to be reduced automatically to one command
2003-06-04 13:42:42 -04:00
Ken Martin
904fb91a42
compielr warnings
2003-06-04 08:42:58 -04:00
Ken Martin
ba68f771b3
yikes added new custom command support
2003-06-03 10:30:23 -04:00
Bill Hoffman
6112e7fc16
add support for vs 71
2003-05-08 16:59:27 -04:00
Bill Hoffman
961fb56029
BUG: remove 64 bit warnings
2003-05-05 10:23:02 -04:00
Bill Hoffman
d4d2779542
BUG: fix crash with force cxx type
2003-03-17 09:29:10 -05:00
Bill Hoffman
0afb1fa1aa
force cxx compiler for cxx files
2003-03-17 09:15:57 -05:00
Bill Hoffman
bd47afa2cd
Force c++ builds for c++ files
2003-03-14 11:59:45 -05:00
Brad King
cde384411d
Several fixes/improvements:
...
- Fixed CollapseFullPath to work on relative paths with base paths
not in the current working directory.
- INCLUDE command now supports relative paths (using above fix).
- Added ABSOLUTE option to GET_FILENAME_COMPONENT command to
unwind symlinks and relative paths.
- Fixed libName_EXPORTS macro definition to be valid C identifier.
- Added DEFINE_SYMBOL target propterty for customizing the export symbol.
- Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7.
Several of these fixes were contributed by Gareth Jones.
2003-02-07 14:04:16 -05:00
Ken Martin
61da8f64bf
added option to shut off automatic rebuilding
2003-02-06 15:18:43 -05:00
Ken Martin
6a0a8331ef
some clean up in link directories
2002-12-17 10:04:39 -05:00
Brad King
728d3da737
BUG: Cannot remove quotes from defined flags.
2002-12-16 18:28:43 -05:00
Brad King
6e10f6cc75
BUG: Fixed quotes in output paths.
2002-12-16 09:39:06 -05:00
Brad King
3348131819
ENH: Added source file property OBJECT_DEPENDS to support generated header files included in non-generated sources.
2002-12-13 16:16:48 -05:00
Andy Cedilnik
682e2c7b8b
Add check so that java projects build without C++
2002-12-11 12:09:52 -05:00
Andy Cedilnik
b0656a2605
Add support for comments on custom commands in visual studio 7
2002-12-10 17:43:34 -05:00