Commit Graph

217 Commits

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