1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34300d41ad..263b4bcbd3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -518,8 +518,8 @@ endif()
if (CAN_USE_FREETYPE AND USE_FREETYPE)
message (STATUS "Info: FreeType is used by OCCT")
add_definitions (-DHAVE_FREETYPE)
- OCCT_ADD_VCPKG_FEATURE ("freetype")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/freetype")
+ find_package(Freetype MODULE REQUIRED)
+ set(CSF_FREETYPE Freetype::Freetype)
else()
if (NOT CAN_USE_FREETYPE)
OCCT_CHECK_AND_UNSET ("USE_FREETYPE")
@@ -534,9 +534,10 @@ endif()
# VTK
if (USE_VTK)
add_definitions (-DHAVE_VTK)
- OCCT_ADD_VCPKG_FEATURE ("vtk")
set (OCCT_VTK_USED_TARGETS "" CACHE INTERNAL "" FORCE)
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/vtk")
+ find_package(VTK REQUIRED)
+ set(CSF_VTK VTK::CommonCore)
+ set(IS_VTK_9XX 1)
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_VTK")
OCCT_UNSET_VCPKG_FEATURE ("vtk")
@@ -551,8 +552,8 @@ endif()
# FREEIMAGE
if (CAN_USE_FREEIMAGE AND USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
- OCCT_ADD_VCPKG_FEATURE ("freeimage")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/freeimage")
+ find_package(freeimage CONFIG REQUIRED)
+ set(CSF_FreeImagePlus freeimage::FreeImagePlus)
elseif (NOT CAN_USE_FREEIMAGE)
OCCT_CHECK_AND_UNSET ("USE_FREEIMAGE")
OCCT_UNSET_VCPKG_FEATURE ("freeimage")
@@ -647,8 +648,8 @@ endif()
# TBB
if (CAN_USE_TBB AND USE_TBB)
add_definitions (-DHAVE_TBB)
- OCCT_ADD_VCPKG_FEATURE ("tbb")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/tbb")
+ find_package(TBB CONFIG REQUIRED)
+ set(CSF_TBB TBB::tbb TBB::tbbmalloc)
elseif (NOT CAN_USE_TBB)
OCCT_CHECK_AND_UNSET ("USE_TBB")
OCCT_UNSET_VCPKG_FEATURE ("tbb")
@@ -664,8 +665,8 @@ endif()
OCCT_IS_PRODUCT_REQUIRED (CSF_RapidJSON CAN_USE_RAPIDJSON)
if (CAN_USE_RAPIDJSON AND USE_RAPIDJSON)
add_definitions (-DHAVE_RAPIDJSON)
- OCCT_ADD_VCPKG_FEATURE ("rapidjson")
- list (APPEND OCCT_3RDPARTY_CMAKE_LIST "adm/cmake/rapidjson")
+ find_package(RapidJSON CONFIG REQUIRED)
+ set(CSF_RapidJSON rapidjson)
elseif (NOT CAN_USE_RAPIDJSON)
OCCT_CHECK_AND_UNSET ("USE_RAPIDJSON")
OCCT_UNSET_VCPKG_FEATURE ("rapidjson")
diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in
index add6a678c7..312930343e 100644
--- a/adm/templates/OpenCASCADEConfig.cmake.in
+++ b/adm/templates/OpenCASCADEConfig.cmake.in
@@ -71,6 +71,23 @@ set (OpenCASCADE_WITH_GLES2 @USE_GLES2@)
@SET_OpenCASCADE_WITH_D3D@
@SET_OpenCASCADE_WITH_GLX@
+include(CMakeFindDependencyMacro)
+if("@USE_FREEIMAGE@")
+ find_dependency(freeimage CONFIG)
+endif()
+if("@USE_FREETYPE@")
+ find_dependency(Freetype MODULE)
+endif()
+if("@USE_RAPIDJSON@")
+ find_package(RapidJSON CONFIG REQUIRED)
+endif()
+if("@USE_TBB@")
+ find_dependency(TBB CONFIG)
+endif()
+if("@USE_VTK@")
+ find_dependency(VTK REQUIRED)
+endif()
+
# Import OpenCASCADE compile definitions, C and C++ flags for each installed configuration.
file(GLOB CONFIG_FILES "${CMAKE_CURRENT_LIST_DIR}/OpenCASCADECompileDefinitionsAndFlags-*.cmake")
foreach(f ${CONFIG_FILES})
diff --git a/src/Image/Image_AlienPixMap.cxx b/src/Image/Image_AlienPixMap.cxx
index 81289d953b..5ee49e9ff2 100644
--- a/src/Image/Image_AlienPixMap.cxx
+++ b/src/Image/Image_AlienPixMap.cxx
@@ -19,10 +19,6 @@
#ifdef HAVE_FREEIMAGE
#include <FreeImage.h>
-
- #ifdef _MSC_VER
- #pragma comment(lib, "FreeImage.lib")
- #endif
#elif defined(HAVE_WINCODEC)
#include <wincodec.h>
// prevent warnings on MSVC10
|