Verifysoft Technology GmbH Testwell CTC++ Version 9.1 03 April 2020 Microsoft Visual Studio Integration This file describes the changes in successive versions of CTC++/Microsoft Visual Studio Integration for Windows. The latest version is described first. Version 9.1 (3 April 2020) -------------------------- Starting with CTC++ version 9.1 all Testwell CTC++ tools and parts are identified by a common version number. So the version of the Microsoft Visual Studio Integration has been updated. Microsoft changed the location of some Visual Studio files with some minor update for VS2019. - modify_msbuild_path.bat has been changed to cope with these changes. Version 4.4 (1 October 2017) ---------------------------- The vsCTC.exe utility, which implements the "CTC++ Set/Clean..." and "CTC++ Report..." dialog programs in the Visual Studio IDE, is unchanged and carries the same v4.2 subcomponent version number. But because the Visual Studio itself has got new versions, the installation steps of this integration has been adapted to them as follows: - Updated vs_integ.bat and modify_msbuild_path.bat foe VS2017's sake. - Added hive_integ.pl (to be used as some backend for VS2017) Version 4.3 (10 May 2017) ------------------------- The vsCTC.exe utility, which implements the "CTC++ Set/Clean..." and "CTC++ Report..." dialog programs in the Visual Studio IDE, is unchanged and carries the same v4.2 subcomponent version number. But because the Visual Studio itself has got new versions, the installation steps of this integration has been adapted to them as follows: - updated vs_integ.bat and set_msbuild_path.bat to properly handle new Visual Studio versions (when writing this: upto Visual Studio 2017). Version 4.2 (10 March 2014) --------------------------- This CTC++/Microsoft Visual Studio 2003-2013 Integration version 4.2 has been released along with the CTC++ v7.2 main version of CTC++/Windows. - Added Visual Studio 2013 integration installation support (assuming it be similar as in Visual Studio 2012) - Early technical/internal changes to be needed in using this integration in the connection of other IDEs than Visual Studio. - In Report dialog the existence of symbol and datafiles not required. Now the possible "not found" error message comes from ctcpost.exe. - ctc2html advanced options --enable-... and --disable-... now supported. Version 4.1 (29 January 2013) ----------------------------- This CTC++/Microsoft Visual Studio 2003/2005/2008/2010/2012 Integration version 4.1 has been released along with the CTC++ v7.1 main version of CTC++/Windows. - Installation now recognizes and installs CTC++ to the following Visual Studio variants and their versions -- Visual Studio (the "basic Visual Studio" and its versions 7.0/2002, 7.1/2003, 8.0/2005, 9.0/2008, 10.0/2010, 11.0/2012) -- Visual Studio Express (8.0, 9.0, 10.0) -- Visual Studio Express for Windows 8 (11.0) -- Visual Studio Express for Windows Desktop (11.0) -- Visual Studio Express for Windows Phone (10.0) -- Visual Studio Express for C# (8.0, 9.0, 10.0) - No more manual work in Visual Studio 2010/2012 installation required. No more logout/login required. - At installation CTC++ is made usable on all platforms that the Visual Studio supports (previously it was made usable only on Win32 platform). - New Symbol/datafiles edit control added to ctcpost group options in CTC++ Report... dialog. Version 4.0 (11 August 2011) ---------------------------- This CTC++/Visual Studio 2003/2005/2008/2010 Integration version 4.0 has been released along with the CTC++ v7.0 main version of CTC++/Windows. - Coverage instrumentation controls in Set/Clean dialog changed. - Report type Textual summary listing removed from Report dialog. - New coverage view 'Reduced to MC/DC coverage' introduced in Report dialog. - Coverage threshold percent setting only available for HTML report in Report dialog. - Help system changed to be HTML based. Version 3.2 update (6 October 2009) ----------------------------------- This CTC++/Visual Studio .NET 2003/2005/2008 Integration, update to v3.2 has been released along with the CTC++ v6.5.5 main version of CTC++/Windows. Because the Core CTC++/Visual Studio integration is unchanged, this update has the same sub-version number v3.2 as the previous 12 June 2008 dated one. Here only the Visual Studio integration installation script has been updated. - New: Environment variable CTCWRAPDIR is now added automatically to Visual Studio internal PATH by the vs_integ installation script. (Except with Visual Studio 2010 a manual step is still needed, see readme.txt) - New: Early tests show that CTC++ integration works also with Visual Studio 2010, not fully tested. - New: Visual Studio Express Edition support has been added. - Bug fix: The integration can be installed now also when there was no previous External Tool commands in the Visual Studio Tools menu. Version 3.2 (12 June 2008) -------------------------- This CTC++/Visual Studio .NET 2003/2005/2008 Integration, v3.2 has been released along with the CTC++ v6.5.3 main version of CTC++/Windows. - New: Added support for Visual Studio 2008. Now this same CTC++/Visual Studio integration works on Visual Studio .NET 2003, 2005 and 2008. There is a separate integration on Visual Studio 6.0. - New: The GUI dialogs have been enhanced to show the current working directory. - New: ctc2html additional options can now be given in the 'CTC++ Report' dialog, when a HTML report is requested. - Change: In 'CTC++ Report' dialog it is no more required that MON.sym and MON.dat would reside in the project directory (but if they are in the project directory, they are used). Now other/additional symbol and datafiles can be specified even if the default MON.sym and MON.dat files do not exist. This change helps if you are using one solution-specific symbol and datafile, instead of many project-specific MON.sym and MON.dat files. - Bug fix: In 'CTC++ Set/Clean' dialog, under certain conditions, portions of the previous run instrumentation options were lost. Now fixed. - Bug fix: In 'CTC++ Set/Clean > Clean' dialog the xml report could not be deleted, if it was the only file to be deleted. Now fixed. - Bug fix: In 'CTC++ Report' dialog the "Untested listing to Visual Studio" caused an infinite loop, if the listing was "empty" in certain way (did not contain a single MONITORED SOURCE FILE line). Now fixed. This CTC++/Visual Studio integration (these dialog programs) is used also in the CTC++ IDE integrations to Codewarrior and Carbide.c++. Version 3.1 (16 January 2008) ----------------------------- This CTC++/Visual Studio .NET 2003/2005 Integration, v3.1 has been released along with the CTC++ v6.5 main version of CTC++/Windows. - This integration now relies on environment variable CTCWRAPDIR, which is set to point to %TEMP%\ctc. Running the installation script vs_integ.bat sets it for the current user. - Further, the user must manually set in Visual Studio settings (Tools > Options > Projects > VC++ Directories > Executable files) to the first directory $(CTCWRAPDIR). (Note: not %CTCWRAPDIR%! In the previous integration version, in the one that was in CTC++ v6.4, that setting was "hard-coded" as $(TEMP)\ctc, and needs to be changed if needed) - In the CTC++ Report... dialog XML Report type has been added. (The XML report options was added to the CTC++ v6.5 main version) - Parallel command line ctc-builds (in separate command shells) are now supported with the ctcwrap command, like the following ctcwrap -i m devenv mysol.sln /rebuild debug Version 3.0 (25 June 2007) -------------------------- This is a major version upgrade. This upgrade comes along with the release of the CTC++ v6.4 main version. For putting things in perspective, the following history of various CTC++ IDE integrations at Windows is presented. With IDE we here mean Microsoft C/C++ Visual Studio IDE. Of it there are various variants, at least as following: * VC++ 6.0/Visual Studio 6.0 IDE: For this IDE version we continue to use the old integration that resides at %ctchome%\Devstud. * VC++ 7.0/Visual Studio .NET 2002 IDE: For this IDE version we have not had a working integration to CTC++. But this new integration should work with that IDE, however (not verified). * VC++ v7.1/Visual Studio .NET 2003 IDE: For this IDE we had an integration that resided at %ctchome%\Vsnet. Along the years it had grown to version v2.2 and was last in the product in CTC++ v6.3 (January 2007). Technically this integration is abandoned and is replaced with this new CTC++ IDE integration v3.0, which is considered as its follower. * VC++ 8.0/Visual Studio 2005 IDE: For this IDE we had an integration that resided at %ctchome%\Vs2005. Along the years it had grown to version v1.1 (functionally quite at the same level as the Visual Studio .NET 2003 IDE integration) and was last in the product in CTC++ v6.3 (January 2007). Technically this integration is abandoned and is replaced with this new CTC++ IDE integration v3.0, which is considered as its follower. * Upcoming VC++ 9.0/Visual Studio 2008 IDE: If the new IDE is reasonably similar as the "2005" one, we expect this CTC++ IDE integration to be usable with this coming Visual Studio 2008 IDE. This same technical CTC++ IDE intergation is lended also to the CTC++ CodeWarrior IDE integration and CTC++ Carbide.c++ IDE integration. Read more from %ctchome%\Sym_cw. Now, considering this CTC++ IDE integration to be a follower to the CTC++ Visual Studio .NET 2003 and 2005 IDE integrations, the changes are the following: - The "CTC++ Build/Clean..." Tools menu command has been changed to "CTC++ Set/Clean..." command. - Now you set the CTC++ mode ON and OFF and the instrumentation options in the "CTC++ Set/Clean..." dialog command. The actual building with CTC++ is done normally by Visual Studio Build menu, when CTC++ mode is ON. - Now a whole solution (possibly comprising of many projects) can be built at one time with CTC++. Previously builds with CTC++ were one project at a time. - Command line use is supported by a new 'ctcwrap' utility, for example as follows: ctcwrap -i m -v devenv mysolu.sln /rebuild debug - At the CTC++/Windows installation set up the directories %ctchome%\Vsnet and %ctchome%\Vs2005 have been removed. This new integration resides at %ctchome%\Vs_integ. Next there are the version.txt markings of the (now abandoned) CTC++ Visual Studio .NET 2003 IDE integration. Version 2.2 (5 December 2006) ----------------------------- The version number 2.2 is unchanged because the dialog programs of the integration are unchanged. In some parts of this integration there has been done some changes, however, as follows: - File readme.txt ("User's Guide" of this integration) has been updated. For example the terminology has been "sharpened" to make the distinction between Visual Studio 5.0/6.0, Visual studio .NET 2002, Visual Studio .NET 2003, Visual Studio 2005, more clear. - The installation script vs_integ.bat now checks that the underlying Visual Studio is _exactly_ Visual Studio .NET 2003. For example, now it is no more possible to install this integration to Visual Studio .NET 2002, or to Visual Studio 2005 (where it would not work). - Added "ctcmode status" variant to the ctcmode.bat script. Adjusted the script messages to be applicable also for CTC++/Visual Studio 2005 integration use. Version 2.2 (16 March 2006) --------------------------- - At some dialogs a close-up message, like "CTC++ Build OK" or "CTC++ Build Error", is now displayed to output window to indicate the completion and success of the CTC++ command. - The 'Untested report to Visual Studio' report format is changed so that the columns are better aligned when there are many files with different file name lengths. - Renamed the "user's guide" file 'ctcvsug.txt' simply to 'readme.txt'. (Never remembered its name anyway... Also re-established the policy that at CTC++ sub-components, where needed, the 'readme.txt' is the sub-component's "user's guide".) Version 2.1 (26 August 2005) ---------------------------- - Added new report type 'Untested report to Visual Studio' to the GUI. This report will be sent to the Visual Studio Output window. - Corrected the setup script vs_integ.bat (for installing the CTC++ / Visual Studio .NET Integration for the "current user") if CTCHOME was given as a UNC name. Version 2.0 (29 March 2005) --------------------------- - A fully GUI-based mode to use CTC++ via the Visual Studio .NET IDE introduced: commands "CTC++ Build/Clean..." and "CTC++ Report..." in the Tools menu. Also the previous usage style, introduced in the initial version 1.0, where the "CTC++ mode" is set ON and OFF by the 'ctcmode.bat' script, can still be used. - The CTC++/Visual Studio .NET Integration v2.0 is now part of the "basic CTC++" delivery package on Windows. Along with its installation the files of the integration come to %CTCHOME%\vsnet subdirectory (+ a copy of 'ctcmode.bat' to %CTCHOME%). After the "basic CTC++" installation there is needed a small user-specific installation step for injecting this CTC++ integration to the Visual Studio .NET IDE. Read more from 'ctcvsug.txt'. - Renamed the "user's guide" file from 'ctcvsnet.txt' to 'ctcvsug.txt'. - Environment variable CTC_VCDIR, which pointed to the directory where the Visual C++ 7 compiler (cl.exe) and linker (link.exe) resided, is renamed to CTC_COMPILER_DIR - CTC++ preprocessor options file renamed from ctcopt.txt to ctcopts.rsp. In command-line mode the user can create/edit this file. In CTC++/Visual Studio .NET Integration (fully GUI-based mode) it is set by CTC++. Version 1.3 (10 November 2004) ------------------------------ - Silent update: new version of netagent.ex_ for working around some ctc.exe 6.0 and Visual Studio .NET usage problems Version 1.2 (5 October 2004) ---------------------------- - Silent update: new version of netagent.ex_ for working around some ctc.exe 6.0 and Visual Studio .NET usage problems Version 1.1 (28 September 2004) ------------------------------- - Silent update: new version of netagent.ex_ for working around some ctc.exe 6.0 and Visual Studio .NET usage problems Version 1.0 (27 August 2004) ---------------------------- - Initial version.