The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=12189 ====================================================================== Reported By: Strimo Assigned To: ====================================================================== Project: CMake Issue ID: 12189 Category: Reproducibility: always Severity: minor Priority: normal Status: new ====================================================================== Date Submitted: 2011-05-14 06:36 EDT Last Modified: 2011-05-14 06:36 EDT ====================================================================== Summary: It is not possible to generate a Visual Studio project with ASCII/SBCS character set Description: In Visual Studio 9.0 (and prior, 10.0 i don't know) it is possible specify three different character sets for your project within the project properties:
Not Set = ASCII/SBCS (Single Byte Character Set) Unicode Multi-Byte Depending on the option different preprocessor defines are set (http://msdn.microsoft.com/en-us/library/c426s321(v=vs.80).aspx): SBCS: neither _UNICODE nor _MBCS defined Unicode: _UNICODE defined Multi_Byte: _MBCS defined The character set settings is stored within the vs proj files as an xml attribute: SBCS: CharacterSet="0" Unicode: CharacterSet="1" Multi-Byte: CharacterSet="2" However, the cmake visual studio generators do not support generating of projects with CharacterSet="0" (see cmLocalVisualStudio7Generator.cxx line 730). At the moment the generators select unicode if a _UNICODE macro has been set by add_definitions, otherwise multi-byte is selected. To solve the problem and to keep backwards compatability, i suggest to define the _MBCS macro by default for the visual studio generators and to set CharacterSet="2" only if this macro is still available and otherwise CharacterSet="0". In that case the user can remove the _MBCS macro by remove_definitions and select this way the SBCS. If the user adds _UNICODE by add_definitions CharacterSet="1" should be selected and the conflicting _MBCS macro must be deleted by the code generator. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2011-05-14 06:36 Strimo New Issue ====================================================================== _______________________________________________ cmake-developers mailing list [email protected] http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
