Skip to content

Commit fd33f9a

Browse files
committed
Update CMakeList to 7.9.0
1 parent b11bfb1 commit fd33f9a

File tree

2 files changed

+32
-28
lines changed

2 files changed

+32
-28
lines changed

CMakeLists.txt

+15-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
##Copyright (c) 2011-2020 Thomas Paviot ([email protected])
1+
##Copyright (c) 2011-2025 Thomas Paviot ([email protected])
22
##
33
##This file is part of pythonOCC.
44
##
55
##pythonOCC is free software: you can redistribute it and/or modify
6-
##it under the terms of the GNU General Public License as published by
6+
##it under the terms of the GNU Lesser General Public License as published by
77
##the Free Software Foundation, either version 3 of the License, or
88
##(at your option) any later version.
99
##
1010
##pythonOCC is distributed in the hope that it will be useful,
1111
##but WITHOUT ANY WARRANTY; without even the implied warranty of
1212
##MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13-
##GNU General Public License for more details.
13+
##GNU Lesser General Public License for more details.
1414
##
15-
##You should have received a copy of the GNU General Public License
15+
##You should have received a copy of the GNU Lesser General Public License
1616
##along with pythonOCC. If not, see <http://www.gnu.org/licenses/>.
1717

18-
cmake_minimum_required(VERSION 3.12)
18+
cmake_minimum_required(VERSION 3.18)
1919

2020
project(PYTHONOCC)
2121

@@ -96,7 +96,7 @@ option_with_default(PYTHONOCC_MESHDS_NUMPY "Enable using numpy to speed up mesh
9696
set(Python3_FIND_STRATEGY LOCATION)
9797
set(Python3_FIND_FRAMEWORK NEVER)
9898
if(PYTHONOCC_MESHDS_NUMPY)
99-
find_package(Python3 COMPONENTS Interpreter Development NumPy REQUIRED)
99+
find_package(Python3 3.9 COMPONENTS Interpreter Development NumPy REQUIRED)
100100
include_directories(${Python3_NumPy_INCLUDE_DIRS})
101101
message(STATUS "Numpy include directory: ${Python3_NumPy_INCLUDE_DIRS}")
102102
set(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -DBUILD_MESHDS_NUMPY)
@@ -110,7 +110,8 @@ message(STATUS "Python library release: ${Python3_LIBRARY_RELEASE}")
110110
########
111111
# SWIG #
112112
########
113-
find_package(SWIG 4.2.1 REQUIRED)
113+
find_package(SWIG 4.2.1...4.3.0 REQUIRED)
114+
message(STATUS "SWIG version found: ${SWIG_VERSION}")
114115
include(${SWIG_USE_FILE})
115116
set(SWIG_FILES_PATH src/SWIG_files/wrapper)
116117
set(CMAKE_SWIG_FLAGS ${CMAKE_SWIG_FLAGS} -fvirtual)
@@ -148,7 +149,7 @@ endif()
148149
# OCE include and lib location #
149150
################################
150151
if(OCCT_HIDE_DEPRECATED)
151-
message(STATUS "Disabled deprecation warnings for oce")
152+
message(STATUS "Disabled deprecation warnings for OpenCASCADE")
152153
add_definitions(-DOCCT_NO_DEPRECATED)
153154
endif(OCCT_HIDE_DEPRECATED)
154155

@@ -163,15 +164,15 @@ if(DEFINED OCCT_INCLUDE_DIR)
163164
# if OCCT_INCLUDE_DIR is not passed at command line,
164165
# find OCE automatically
165166
else(OCCT_INCLUDE_DIR)
166-
find_package(OpenCASCADE ${OCCT_VERSION_MAJOR}.${OCCT_VERSION_MINOR}.${OCCT_VERSION_PATCH} REQUIRED)
167+
find_package(OpenCASCADE ${OCCT_VERSION_MAJOR}.${OCCT_VERSION_MINOR}.${OCCT_VERSION_PATCH} EXACT REQUIRED)
167168
if(OpenCASCADE_FOUND)
168169
message(STATUS "OpenCASCADE version found: " ${OpenCASCADE_MAJOR_VERSION} "." ${OpenCASCADE_MINOR_VERSION} "." ${OpenCASCADE_MAINTENANCE_VERSION})
169170
message(STATUS "OpenCASCADE include directory: " ${OpenCASCADE_INCLUDE_DIR})
170171
message(STATUS "OpenCASCADE binary directory: " ${OpenCASCADE_BINARY_DIR})
171172
include_directories(${OpenCASCADE_INCLUDE_DIR})
172173
else(OpenCASCADE_FOUND) # set default paths
173-
set(OCCT_INCLUDE_DIR /usr/local/include/oce CACHE PATH "OCE include path")
174-
set(OCCT_LIBRARY_DIR /usr/local/lib CACHE PATH "OCE lib path")
174+
set(OCCT_INCLUDE_DIR /usr/local/include/opencascade CACHE PATH "OpenCASCADE include path")
175+
set(OCCT_LIBRARY_DIR /usr/local/lib CACHE PATH "OpenCASCADE lib path")
175176
include_directories(${OCCT_INCLUDE_DIR})
176177
link_directories(${OCCT_LIBRARY_DIR})
177178
endif(OpenCASCADE_FOUND)
@@ -312,6 +313,9 @@ swig_link_libraries(Tesselator ${OCCT_MODEL_LIBRARIES} Python3::Module)
312313
#################
313314
if(PYTHONOCC_WRAP_VISU)
314315
find_package(OpenGL REQUIRED)
316+
if(OPENGL_FOUND)
317+
message(STATUS "OpenGL found; Visualization support enabled")
318+
endif()
315319
include_directories(OPENGL_INCLUDE_DIR)
316320

317321
foreach(OCCT_MODULE ${OCCT_TOOLKIT_VISUALIZATION})

README.md

+17-17
Original file line numberDiff line numberDiff line change
@@ -2,61 +2,61 @@
22
[![Azure Build Status](https://dev.azure.com/tpaviot/pythonocc-core/_apis/build/status/tpaviot.pythonocc-core?branchName=master)](https://dev.azure.com/tpaviot/pythonocc-core/_build?definitionId=2)
33
[![Downloads Badge](https://anaconda.org/conda-forge/pythonocc-core/badges/downloads.svg)](https://anaconda.org/conda-forge/pythonocc-core)
44
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/67c121324b8d4f37bc27029464c87020)](https://www.codacy.com/app/tpaviot/pythonocc-core?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=tpaviot/pythonocc-core&amp;utm_campaign=Badge_Grade)
5-
[![Binder](http://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.8.1.1)
5+
[![Binder](http://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.9.0)
66
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3605364.svg)](https://doi.org/10.5281/zenodo.3605364)
77

88
pythonocc-core
99
--------------
1010

1111
About
1212
-----
13-
pythonocc provides 3D modeling and dataexchange features. It is intended to CAD/PDM/PLM/BIM development. It is based on the OpenCascade Technology modeling kernel.
13+
pythonocc provides 3D modeling and dataexchange features. It is intended for CAD/PDM/PLM/BIM development. It is based on the OpenCascade Technology modeling kernel.
1414

15-
Latest release: [pythonocc-core 7.8.1.1 (December 2024)](https://github.com/tpaviot/pythonocc-core/releases/tag/7.8.1.1)
15+
Latest release: [pythonocc-core 7.9.0 (April 2025)](https://github.com/tpaviot/pythonocc-core/releases/tag/7.9.0)
1616

1717
Features
1818
--------
1919
pythonocc provides the following features:
2020

21-
* a full access from Python to almost all af the thousand OpenCascade C++ classes. Classes and methods/functions share the same names, and, as possible as it can be, the same signature
22-
* 3D visualization from the most famous Python Gui (tkinter, pyQt5 and 6, PySide2 and 6, wxPython)
23-
* 3D visualization in a web browser using threejs or x3dom frameworks
24-
* 3D visualization and work within a jupyter notebook
25-
* data exchange using most famous formats IGES/STEP/STL/PLY/OBJ/GLTF
26-
* various utility Python classes/methods for Topology operations, inertia computations etc.
21+
* Full access from Python to almost all of the thousand OpenCascade C++ classes. Classes and methods/functions share the same names, and, as possible as it can be, the same signature
22+
* 3D visualization from the most famous Python Gui (tkinter, pyQt5 and 6, PySide2 and 6, wxPython)
23+
* 3D visualization in a web browser using threejs or x3dom frameworks
24+
* 3D visualization and work within a jupyter notebook
25+
* Data exchange using most famous formats IGES/STEP/STL/PLY/OBJ/GLTF
26+
* Utility Python classes/methods for Topology operations, inertia computations, and more
2727

2828
Try online at mybinder
2929
----------------------
30-
Click [![Binder](http://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.8.1.1) to open a jupyter notebook running the latest pythonocc-core 7.8.1.1.
30+
Click [![Binder](http://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/tpaviot/pythonocc-binderhub/7.9.0) to open a jupyter notebook running the latest pythonocc-core 7.9.0.
3131

3232
Install with conda
3333
------------------
34-
pythonocc provides precompiled [conda packages](https://anaconda.org/pythonocc/pythonocc-core) (they depend on third part libraries made available from the conda-forge channel) for python 3.9, 3.10 and 3.11. This will get you up and running in minutes whether you run win32/win64/linux64/osx64. Here is an example for python 3.10:
34+
pythonocc provides precompiled [conda packages](https://anaconda.org/pythonocc/pythonocc-core) (they depend on third part libraries made available from the conda-forge channel) for python 3.9, 3.10, 3.11 and 3.12. This will get you up and running in minutes whether you run win32/win64/linux64/osx64. Here is an example for python 3.10:
3535

3636
```bash
3737
# first create an environment
3838
conda create --name=pyoccenv python=3.10
39-
source activate pyoccenv
40-
conda install -c conda-forge pythonocc-core=7.8.1.1
39+
conda activate pyoccenv
40+
conda install -c conda-forge pythonocc-core=7.9.0
4141
```
4242

43-
Other conda channels may provide pythonocc-core packages, check https://anaconda.org/search?q=pythonocc-core.
43+
Other conda channels may provide pythonocc-core packages, check [search Anaconda](https://anaconda.org/search?q=pythonocc-core)
4444

4545
Build from source
4646
-----------------
4747
Read the [INSTALL.md](https://github.com/tpaviot/pythonocc-core/blob/master/INSTALL.md) instructions where you find compilation instructions for all platforms.
4848

4949
Cite as
5050
-------
51-
pythonocc is widely used in the industrial and academic communities. It is registered as a Zenodo open access software (https://zenodo.org/record/7471333) and should be cited as:
51+
pythonocc is widely used in the industrial and academic communities. It is registered as a [Zenodo open access softwar](https://zenodo.org/record/7471333) and should be cited as:
5252

5353
Paviot, T. (2022). "pythonocc". Zenodo. https://doi.org/10.5281/zenodo.3605364
5454

5555
Professional support
5656
--------------------
5757
pythonocc is backed by [meeDIA](https://meedia.ai/pythonocc-en), a company co-founded by pythonocc's creator and lead maintainer. For professional support inquiries, please contact us.
5858

59-
<a href="https://meedia.ai/pythonocc-en"><img src="https://www.meedia.ai/wp-content/uploads/go-x/u/d3a61d32-b812-4a39-89c8-57fa93df5780/image-320x95.png" width="150"></a>
59+
<a href="https://meedia.ai/pythonocc-en"><img src="https://www.meedia.ai/wp-content/uploads/go-x/u/d3a61d32-b812-4a39-89c8-57fa93df5780/image-320x95.png" width="150" alt="meeDIA logo"></a>
6060

6161
Other pythonocc related resources
6262
---------------------------------
@@ -67,4 +67,4 @@ Other pythonocc related resources
6767

6868
License
6969
-------
70-
You can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation.
70+
pythonocc-core is licensed under the GNU Lesser General Public License version 3 as published by the Free Software Foundation. You can redistribute and/or modify it under the terms of this license.

0 commit comments

Comments
 (0)