View Issue Details

IDProjectCategoryView StatusLast Update
0030116Open CASCADEOCCT:Documentationpublic2022-10-24 10:40
Reporterabv Assigned Toapn  
PrioritynormalSeverityminor 
Status newResolutionopen 
Target Version7.8.0 
Summary0030116: Documentation - provide hints for use of OCCT in CMake-based projects
DescriptionOCCT install includes CMake configuration files intended for use by projects that are based on OCCT. The basic idea is that to use OCCT in a project, you need to add a few commands in its CMake file, assuming something like this:

```
cmake_minimum_required(VERSION 3.4)
project(Your_Project_Name)

find_package(OpenCASCADE REQUIRED)
add_executable(Your_App_Name Your_Source_File.cpp)
target_include_directories(Your_App_Name ${OpenCASCADE_INCLUDES})
target_link_libraries(Your_App_Name ${OpenCASCADE_LIBS})
```

Here "OpenCASCADE_INCLUDES" and "OpenCASCADE_LIBS" are assumed to be CMake variables set either by OCCT CMake configuretion scripts or find_package itself. Indeed, actual names of such variables, and ways to use them, can be different. This is what we need to have documented, among other related things.

Tentatively the following should be described:

1. How to make CMake to find OCCT package: specify the name of the package, describe where it is located, give hints on how to call find_package.

2. How to set paths to OCCT includes and libs to the project build scripts.

3. How to ensure that project build parameters are consistent with parameters used for building OCCT. This includes used third-party libs, CRT version, etc. See #28457 and dependent issues for some of the issues to be addressed.

4. How to install binaries (DLLs) of OCCT and required third-parties (FreeType, FreeImage etc., depending on what components of OCCT are used and what third-parties are used) along with the application (if necessary). See also #27560.

I suppose that this documentation can be put in Overview, e.g. after Installation section:
https://dev.opencascade.org/doc/overview/html/index.html#OCCT_OVW_SECTION_4_2
TagsNo tags attached.
Test case number

Relationships

related to 0031667 newbugmaster Community Configuration, CMake - Dependencies between targets are not specified for static builds and not public 

Activities

git

2018-10-02 12:33

administrator   ~0079592

Branch CR30116 has been created by apn.

SHA-1: 91cffb3053086c4437708dfa423b9f419497b5ef


Detailed log of new commits:

Author: apn
Date: Tue Oct 2 12:31:26 2018 +0300

    0030116: Documentation - provide hints for use of OCCT in CMake-based projects
    
    //Add description of installed CMake configuration files.

Issue History

Date Modified Username Field Change
2018-09-06 20:05 abv New Issue
2018-09-06 20:05 abv Assigned To => apn
2018-09-06 20:25 abv Description Updated
2018-09-07 10:17 abv Description Updated
2018-10-02 12:33 git Note Added: 0079592
2019-07-19 14:43 apn Target Version 7.4.0 => 7.5.0
2020-09-11 15:42 utverdov Target Version 7.5.0 => 7.6.0
2021-08-24 00:49 kgv Relationship added related to 0031667
2021-10-07 11:54 szy Target Version 7.6.0 => 7.7.0
2022-10-24 10:40 szy Target Version 7.7.0 => 7.8.0