View Issue Details

IDProjectCategoryView StatusLast Update
0028077Open CASCADEOCCT:Configurationpublic2016-12-09 16:39
ReporterabvAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.1.0Fixed in Version7.1.0 
Summary0028077: Add option for genproj to generate UWP projects
DescriptionCurrent approach to generating projects for UWP with CMake is not reliable: it fails depending on combination of CMake version, OS version, VS 2015 flavor and settings, position of the moon in the sky, or whatever.

It would be much easier if an option to generate VS 2015 projects with UWP settings was available in genproj command.
Steps To Reproduce• cd occt
• genproj.bat vc14-uwp -> set 3rd-party directory and vc14 Visual Studio configuration
• msvc.bat vc14-uwp win64 Release
• build solution
TagsNo tags attached.
Test case numberNot needed

Activities

git

2016-11-11 17:03

administrator   ~0060248

Branch CR28077 has been created by ski.

SHA-1: eb7a1d81a0dddb8fbd0124482bb1b2c8b6f63206


Detailed log of new commits:

Author: ski
Date: Fri Nov 11 17:00:25 2016 +0300

    0028077: Add option for genproj to generate UWP projects
    
    Ability to generate UWP solution was added to genproj functionality.

git

2016-11-11 17:18

administrator   ~0060251

Branch CR28077 has been updated forcibly by ski.

SHA-1: 90b28d84e507f55736dfbfb5d147c1d4047ccf4b

ski

2016-11-11 17:47

developer   ~0060252

Dear abv,

It is possible now to generate UWP solution via genproj script.

Option "uwp" should be used for that:
genproj.bat uwp

After generating, you should use msvc.bat with next arguments:
msvc.bat uwp win64 Release

The main difference is "uwp" instead on "vc14"

Please, review.

abv

2016-11-14 07:09

manager   ~0060269

Everything looks fine, just please rename "uwp" to "vc14-uwp". The point is that when next version of Visual Studio comes out, we will need to be able to choose among VS versions for UWP builds.

git

2016-11-14 13:23

administrator   ~0060296

Branch CR28077 has been updated forcibly by ski.

SHA-1: 5ece62ceeb8f7a0eb28b507b639fd93a41cf10ba

ski

2016-11-14 13:24

developer   ~0060297

Done.

kgv

2016-11-14 13:55

developer   ~0060299

+    lappend theSdkDirectories "C:/Program Files (x86)/Windows Kits/${theSdkMajorVer}/Include"
+    lappend theSdkDirectories "C:/Program Files/Windows Kits/${theSdkMajorVer}/Include"

please use $::env(ProgramFiles) and $::env(ProgramW6432) instead of hard-coded patch to program giles.

kgv

2016-11-14 14:06

developer   ~0060300

Last edited: 2016-11-14 14:06

     <ProjectGuid>__PROJECT_GUID__</ProjectGuid>
+    __UWP_PROPERTIES__
...
     <PlatformToolset>__VCVEREXT__</PlatformToolset>
+    __UWP_CHARACTER_SET__
...
     <PlatformToolset>__VCVEREXT__</PlatformToolset>
+    __UWP_CHARACTER_SET__
...
     <PlatformToolset>__VCVEREXT__</PlatformToolset>
+    __UWP_CHARACTER_SET__
...
       <FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
+      __UWP_WINRT__
+      __UWP_PCH__
...
       <ImportLibrary>..\..\..\win32\__VCVER__\libd\__TKNAM__.lib</ImportLibrary>
+      __UWP_GENERATE_METADATA__

this would add empty lines for desktop projects.
It is better not breaking the formatting of project files (and add spaces and newlines only when option is not-empty).

       <FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
+      __UWP_WINRT__
+      __UWP_PCH__

why not reusing __VCMPL32__?

+    set uwp_preprocessor_definitions "UNICODE;_UNICODE"

This looks unwell - it is better enabling this macros for desktop as well (and fix compilation errors if some places of non-wide char API have been left in OCCT).

+    set uwp_pch                      "<PrecompiledHeader>NotUsing</PrecompiledHeader>"

Can not be this option safely enabled for desktop (not just UWP)?

kgv

2016-11-15 12:17

developer   ~0060340

+    set uwp_preprocessor_definitions "UNICODE;_UNICODE"

This option should be set by dedicated option
    <CharacterSet>Unicode</CharacterSet>

git

2016-11-15 14:02

administrator   ~0060350

Branch CR28077 has been updated by ski.

SHA-1: 0a48207065461c0402dc8b9552eeec9c217b203b


Detailed log of new commits:

Author: ski
Date: Mon Nov 14 14:31:00 2016 +0300

    Character set option of VS project Unicode is used instead of preprocessor definitions.

Author: ski
Date: Mon Nov 14 14:28:48 2016 +0300

    Visual Studio project option "Use precompiled headers" is set to "Not Using" by default.

Author: ski
Date: Mon Nov 14 14:14:41 2016 +0300

    Environment variables $::env(ProgramFiles) and $::env(ProgramW6432) are used instead of hard-coded paths.

git

2016-11-15 15:14

administrator   ~0060364

Branch CR28077 has been updated forcibly by ski.

SHA-1: 3d932b0e60deb019b639c4c5251a89209cfb53b6

git

2016-11-15 16:28

administrator   ~0060377

Branch CR28077_1 has been created by ski.

SHA-1: e0ee8696561294ae9a48c8222de2e05f7323d4ee


Detailed log of new commits:

Author: ski
Date: Fri Nov 11 17:00:25 2016 +0300

    0028077: Add option for genproj to generate UWP projects
    
    Ability to generate UWP solution was added to genproj functionality.
    Environment variables are used to find installed Microsoft SDKs.
    Visual Studio project option "Use precompiled headers" is set to "Not Using" by default.
    Character set option of VS project Unicode is used instead of preprocessor definitions for UWP projects.

ski

2016-11-15 16:47

developer   ~0060381

Dear ABV,

OCCT branch CR28077_1 contains changes to generate UWP (vc14) projects via genproj utility.

All remarks were applied.
For porting of OCCT to UNICODE separate issue 0028110 was created.

please, review.

kgv

2016-11-16 10:33

developer   ~0060403

+    __UWP_CHARACTER_SET__

As making Unicode charset by default has been postponed, it would more consistent to add
    <CharacterSet>__VCCHARSET__</CharacterSet>

to the template and set it value "MultiByte" for non-UWP builds.

git

2016-11-16 13:29

administrator   ~0060420

Branch CR28077_1 has been updated forcibly by ski.

SHA-1: d8706170bda7284c4c819968a0315ee191242e9c

ski

2016-11-16 13:29

developer   ~0060421

Done.

git

2016-11-17 20:16

administrator   ~0060506

Branch CR28077_1 has been updated by ski.

SHA-1: 6290a63871beb9301f076e4f287e6827ea8a7bc0


Detailed log of new commits:

Author: ski
Date: Thu Nov 17 20:16:03 2016 +0300

    Eliminated separate variable __UWP_DEP__ in adm/genproj.tcl script.

abv

2016-11-20 08:11

manager   ~0060575

No remarks, please integrate (no need to pass through regular testing, as only genproj is modified)

git

2016-11-20 13:21

administrator   ~0060577

Branch CR28077_2 has been created by abv.

SHA-1: d9f65e0c4429f6cd185ca221881a5e232cc752ad


Detailed log of new commits:

Author: ski
Date: Fri Nov 11 17:00:25 2016 +0300

    0028077: Add option for genproj to generate UWP projects
    
    Ability to generate UWP solution was added to genproj command, applied when VC version set to "vc14-uwp".
    Environment variables are used to find installed Microsoft SDKs.
    
    Visual Studio project option "Use precompiled headers" is set to "Not Using" by default.
    Character set option of VS project Unicode is used instead of preprocessor definitions for UWP projects.

apn

2016-11-23 11:23

administrator   ~0060712

Compilation was checked with vc14-uwp and with vc10 too.

git

2016-12-07 11:31

administrator   ~0061280

Branch CR28077 has been deleted by kgv.

SHA-1: 3d932b0e60deb019b639c4c5251a89209cfb53b6

git

2016-12-07 11:31

administrator   ~0061281

Branch CR28077_1 has been deleted by kgv.

SHA-1: 6290a63871beb9301f076e4f287e6827ea8a7bc0

git

2016-12-07 11:31

administrator   ~0061282

Branch CR28077_2 has been deleted by kgv.

SHA-1: d9f65e0c4429f6cd185ca221881a5e232cc752ad

Related Changesets

occt: master 7fbac3c2

2016-11-11 14:00:25

ski


Committer: apn Details Diff
0028077: Add option for genproj to generate UWP projects

Ability to generate UWP solution was added to genproj command, applied when VC version set to "vc14-uwp".
Environment variables are used to find installed Microsoft SDKs.

Visual Studio project option "Use precompiled headers" is set to "Not Using" by default.
Character set option of VS project Unicode is used instead of preprocessor definitions for UWP projects.
Affected Issues
0028077
mod - adm/genproj.tcl Diff File
mod - adm/templates/msvc.bat Diff File
mod - adm/templates/template.vc10 Diff File

Issue History

Date Modified Username Field Change
2016-11-09 09:17 abv New Issue
2016-11-09 09:17 abv Assigned To => bugmaster
2016-11-09 09:17 abv Target Version 7.2.0 => 7.1.0
2016-11-09 09:46 abv Assigned To bugmaster => ski
2016-11-09 09:46 abv Status new => assigned
2016-11-11 17:03 git Note Added: 0060248
2016-11-11 17:18 git Note Added: 0060251
2016-11-11 17:47 ski Note Added: 0060252
2016-11-11 17:51 ski Assigned To ski => abv
2016-11-11 17:51 ski Status assigned => resolved
2016-11-11 17:51 ski Steps to Reproduce Updated
2016-11-14 07:09 abv Note Added: 0060269
2016-11-14 07:09 abv Assigned To abv => ski
2016-11-14 07:09 abv Status resolved => assigned
2016-11-14 13:23 git Note Added: 0060296
2016-11-14 13:24 ski Note Added: 0060297
2016-11-14 13:24 ski Assigned To ski => abv
2016-11-14 13:24 ski Status assigned => resolved
2016-11-14 13:24 ski Steps to Reproduce Updated
2016-11-14 13:55 kgv Note Added: 0060299
2016-11-14 14:06 kgv Note Added: 0060300
2016-11-14 14:06 kgv Note Edited: 0060300
2016-11-14 14:07 kgv Assigned To abv => ski
2016-11-14 14:07 kgv Status resolved => assigned
2016-11-15 12:17 kgv Note Added: 0060340
2016-11-15 14:02 git Note Added: 0060350
2016-11-15 15:14 git Note Added: 0060364
2016-11-15 16:28 git Note Added: 0060377
2016-11-15 16:47 ski Note Added: 0060381
2016-11-15 16:47 ski Assigned To ski => abv
2016-11-15 16:47 ski Status assigned => resolved
2016-11-16 10:33 kgv Note Added: 0060403
2016-11-16 13:29 git Note Added: 0060420
2016-11-16 13:29 ski Note Added: 0060421
2016-11-17 20:16 git Note Added: 0060506
2016-11-20 08:11 abv Note Added: 0060575
2016-11-20 08:11 abv Assigned To abv => bugmaster
2016-11-20 08:11 abv Status resolved => reviewed
2016-11-20 13:21 git Note Added: 0060577
2016-11-21 15:07 apv Assigned To bugmaster => apn
2016-11-23 11:23 apn Note Added: 0060712
2016-11-23 11:23 apn Test case number => Not needed
2016-11-23 11:23 apn Assigned To apn => bugmaster
2016-11-23 11:23 apn Status reviewed => tested
2016-11-24 15:52 apn Changeset attached => occt master 7fbac3c2
2016-11-24 15:52 apn Assigned To bugmaster => apn
2016-11-24 15:52 apn Status tested => verified
2016-11-24 15:52 apn Resolution open => fixed
2016-12-07 11:31 git Note Added: 0061280
2016-12-07 11:31 git Note Added: 0061281
2016-12-07 11:31 git Note Added: 0061282
2016-12-09 16:29 aiv Status verified => closed
2016-12-09 16:39 aiv Fixed in Version => 7.1.0