View Issue Details

IDProjectCategoryView StatusLast Update
0033845Open CASCADEOCCT:Configurationpublic2024-10-30 18:53
Reporteroan Assigned Tooan  
PrioritynormalSeverityminor 
Status confirmedResolutionopen 
PlatformWindowsOSVC++ 2019 
Target Version7.8.1 
Summary0033845: Configuration - Add possibility to specify debug version of 3rdparties
DescriptionBoth Release and Debug modes of OCCT use the same CMake variables to specify paths to 3rdparty components, so there is no default functionality that allows to set paths to debug versions of components for these two modes separately.

There is a special workaround for that implemented for Draco library.
This is to implement the unified approach that can be used out of the box for any existing or additional component that has no any special feature to be worked about.
Steps To ReproduceNone
Additional information
and documentation updates
https://jira-opencascade.atlassian.net/browse/AR-10479
TagsNo tags attached.
Test case number

Relationships

related to 0033249 newdpasukhi Configuration - Update CMake to a generic way to link debug libraries 

Activities

git

2024-10-29 19:53

administrator   ~0116852

Branch CR33845 has been created by oan.

SHA-1: 4340121b1fb946fc5e553dada7ef5d6f3ea1d20e


Detailed log of new commits:

Author: oan
Date: Tue Oct 29 16:27:25 2024 +0000

    0033845: Configuration - Add possibility to specify debug version of 3rdparties
    
    Add functionality seeking debug version of 3rdparty libraries.
    If debug ones were not found, the release are used instead.
    Use standard functionality to find draco.

git

2024-10-29 20:57

administrator   ~0116853

Branch CR33845 has been updated forcibly by oan.

SHA-1: d24ffd0b4db45a5c1f789a573d9f2a4a77d26e84

git

2024-10-29 21:06

administrator   ~0116854

Branch CR33845 has been updated forcibly by oan.

SHA-1: d951f24955acb04f0655d1ddd58ac1ab568e3ce3

oan

2024-10-29 22:18

developer   ~0116855

Test reports:
http://jenkins-test-10.nnov.opencascade.com/view/CR33845-master-oan-1/view/COMPARE/

To integrate:
OCCT: CR33845
PROD: None

dpasukhi

2024-10-30 02:02

administrator   ~0116856

Last edited: 2024-10-30 02:03

The approach is deprecated.
The debug/release version will be define through CMake feature.
You will free use the current approach for custom branch, but master will be reorginized soon(as I will have time) on modern approach.

dpasukhi

2024-10-30 02:04

administrator   ~0116857

Draco_dir in env and custom are not used. Draco is a static lib in our use cases.

dpasukhi

2024-10-30 02:13

administrator   ~0116858

At the current time reorginize CMake is my task for now.
And I'm working on it. Current fix will be a conflict for my changes. The approach totally different.

oan

2024-10-30 02:47

developer   ~0116859

@dpasukhi
static lib, particularly draco, leads to linkage problems in occt-based projects when used in its current form.
It can be used for default build of occt and testing reasons, but its use in target project depends on preferences of that particular project, so IMHO dynamic libraries should be supported, even for draco.

Other matters depend on further plans around configuration. So use this patch at your will.

oan

2024-10-30 03:01

developer   ~0116860

@dpasukhi
master will be reorginized soon(as I will have time)

BTW, do you have any draft patch for that already?

If not, I would suggest to integrate this one until you have time to completely reorganize it.
At least we will have working solution this week.

dpasukhi

2024-10-30 11:11

administrator   ~0116861

Last edited: 2024-10-30 11:13

Yes I have. As you can see for that 2 weeks I step by step prepare env for working stage. And now I have a big patch for vcpkg which include linking to the ALL 3rd-party as a static linkings (just an option). for sure dynamic handled too.
The DEBUG version already supported by needs to have the special structure of the DRACO installation.

The patch will not be implemented. You can simplify and update the detection with debug folder, that will be only 2-3 lines.
Linking of DEBUG/Release already exist and resolved but not flexible.

Issue History

Date Modified Username Field Change
2024-10-29 19:03 oan New Issue
2024-10-29 19:03 oan Assigned To => oan
2024-10-29 19:53 git Note Added: 0116852
2024-10-29 20:57 git Note Added: 0116853
2024-10-29 21:06 git Note Added: 0116854
2024-10-29 22:18 oan Assigned To oan => dpasukhi
2024-10-29 22:18 oan Status new => resolved
2024-10-29 22:18 oan Steps to Reproduce Updated
2024-10-29 22:18 oan Note Added: 0116855
2024-10-30 02:02 dpasukhi Note Added: 0116856
2024-10-30 02:03 dpasukhi Assigned To dpasukhi => oan
2024-10-30 02:03 dpasukhi Status resolved => feedback
2024-10-30 02:03 dpasukhi Note Edited: 0116856
2024-10-30 02:04 dpasukhi Note Added: 0116857
2024-10-30 02:06 dpasukhi Relationship added related to 0033249
2024-10-30 02:13 dpasukhi Note Added: 0116858
2024-10-30 02:13 dpasukhi Status feedback => confirmed
2024-10-30 02:47 oan Note Added: 0116859
2024-10-30 03:01 oan Note Added: 0116860
2024-10-30 11:11 dpasukhi Note Added: 0116861
2024-10-30 11:13 dpasukhi Note Edited: 0116861
2024-10-30 18:53 dpasukhi Additional Information Updated