View Issue Details

IDProjectCategoryView StatusLast Update
0029589Open CASCADEOCCT:Configurationpublic2018-06-29 21:19
ReporterabvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.3.0Fixed in Version7.3.0 
Summary0029589: Configuration - allow MFC samples to be built when OCCT is linked statically
DescriptionCurrently building of MFC samples by CMake fails if option BUILD_LIBRARY_TYPE is set to "Static", for several reasons:
- mfcsample project gets built as DLL, not static lib
- usage of macro AFX_EXT_CLASS in classes defined in that library causes link conflicts
- paths to link libs of third-party libraries are not set due to changes made within #27380
Steps To ReproduceBuild OCCT using CMake setting BUILD_LIBRARY_TYPE to "Static" and with BUILD_MODULE_MfcSamples checked.
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0029407 closedabv Community Generating static libraries on macOS 
related to 0025713 closedbugmaster Open CASCADE CMake configuring procedure should allow to build OCCT as static libraries 

Activities

git

2018-03-19 15:01

administrator   ~0074654

Branch CR29589 has been created by abv.

SHA-1: 4d4fe34306486b634a8b17c3df38f58b8dca8273


Detailed log of new commits:

Author: abv
Date: Mon Mar 19 09:04:17 2018 +0300

    0029589: Configuration - allow MFC samples to be built when OCCT is linked statically
    
    CMake scripts are corrected to do perform search of libs and dlls of third-party libraries even for static builds of OCCT.
    Treatment of errors in this case is relaxed: not found DLLs are reported as warnings, and not found libs as warning for static build, and continuable error for shared build.
    
    Code of samples is corrected to allow building with OCCT linked statically.
    Implementation of main application class is corrected to ensure that initialization is done after all global objects are created.
    Note however that samples still fails to start for unclear reason (creation of MFC frame window fails).

abv

2018-03-19 15:50

manager   ~0074659

Fix is pushed to CR29589, please review. Compilation has been tested in Jenkins job CR29589-master-abv.

apn

2018-03-22 12:48

administrator   ~0074756

Reviewed. Building of MFC samples if option BUILD_LIBRARY_TYPE is set to "Static" was checked.

git

2018-03-24 20:01

administrator   ~0074874

Branch CR29589 has been deleted by kgv.

SHA-1: 4d4fe34306486b634a8b17c3df38f58b8dca8273

Related Changesets

occt: master 0553a8ea

2018-03-19 06:04:17

abv


Committer: bugmaster Details Diff
0029589: Configuration - allow MFC samples to be built when OCCT is linked statically

CMake scripts are corrected to do perform search of libs and dlls of third-party libraries even for static builds of OCCT.
Treatment of errors in this case is relaxed: not found DLLs are reported as warnings, and not found libs as warning for static build, and continuable error for shared build.

Code of samples is corrected to allow building with OCCT linked statically.
Implementation of main application class is corrected to ensure that initialization is done after all global objects are created.
Note however that samples still fails to start for unclear reason (creation of MFC frame window fails).
Affected Issues
0029589
mod - adm/cmake/3rdparty_macro.cmake Diff File
mod - adm/cmake/ffmpeg.cmake Diff File
mod - adm/cmake/freetype.cmake Diff File
mod - adm/cmake/qt.cmake Diff File
mod - adm/cmake/tbb.cmake Diff File
mod - adm/cmake/tcl.cmake Diff File
mod - adm/cmake/tk.cmake Diff File
mod - adm/cmake/vtk.cmake Diff File
mod - CMakeLists.txt Diff File
mod - samples/mfc/standard/05_ImportExport/src/ImportExportApp.cpp Diff File
mod - samples/mfc/standard/06_Ocaf/CMakeLists.txt Diff File
mod - samples/mfc/standard/Common/OCC_2dChildFrame.h Diff File
mod - samples/mfc/standard/Common/OCC_2dDoc.h Diff File
mod - samples/mfc/standard/Common/OCC_2dView.h Diff File
mod - samples/mfc/standard/Common/OCC_3dBaseDoc.h Diff File
mod - samples/mfc/standard/Common/OCC_3dChildFrame.h Diff File
mod - samples/mfc/standard/Common/OCC_3dDoc.h Diff File
mod - samples/mfc/standard/Common/OCC_3dView.h Diff File
mod - samples/mfc/standard/Common/OCC_App.cpp Diff File
mod - samples/mfc/standard/Common/OCC_App.h Diff File
mod - samples/mfc/standard/Common/OCC_BaseChildFrame.h Diff File
mod - samples/mfc/standard/Common/OCC_BaseDoc.h Diff File
mod - samples/mfc/standard/Common/OCC_BaseView.h Diff File
mod - samples/mfc/standard/Common/OCC_StereoConfigDlg.h Diff File
mod - samples/mfc/standard/mfcsample/CMakeLists.txt Diff File

Issue History

Date Modified Username Field Change
2018-03-19 08:58 abv New Issue
2018-03-19 08:58 abv Assigned To => bugmaster
2018-03-19 08:58 abv Relationship added related to 0029407
2018-03-19 08:59 abv Relationship added related to 0025713
2018-03-19 15:01 git Note Added: 0074654
2018-03-19 15:50 abv Note Added: 0074659
2018-03-19 15:50 abv Assigned To bugmaster => apn
2018-03-19 15:50 abv Status new => resolved
2018-03-19 15:50 abv Steps to Reproduce Updated
2018-03-22 12:48 apn Test case number => Not needed
2018-03-22 12:48 apn Note Added: 0074756
2018-03-22 12:48 apn Assigned To apn => bugmaster
2018-03-22 12:48 apn Status resolved => reviewed
2018-03-22 13:56 bugmaster Status reviewed => tested
2018-03-22 19:03 abv Target Version 7.4.0 => 7.3.0
2018-03-24 11:51 bugmaster Changeset attached => occt master 0553a8ea
2018-03-24 11:51 bugmaster Status tested => verified
2018-03-24 11:51 bugmaster Resolution open => fixed
2018-03-24 20:01 git Note Added: 0074874
2018-06-29 21:14 aiv Fixed in Version => 7.3.0
2018-06-29 21:19 aiv Status verified => closed