diff --git a/CMakeLists.txt b/CMakeLists.txt index 25f31712c7..f002521b30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -580,8 +580,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") @@ -596,9 +596,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") @@ -613,8 +614,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") @@ -707,8 +708,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") @@ -724,8 +725,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/cmake/occt_csf.cmake b/adm/cmake/occt_csf.cmake index 0795158ae7..a5a118e0ea 100644 --- a/adm/cmake/occt_csf.cmake +++ b/adm/cmake/occt_csf.cmake @@ -134,7 +134,9 @@ else() set (CSF_OpenGlesLibs "EGL GLESv2") set (CSF_dl "dl") if (USE_FREETYPE) - set (CSF_fontconfig "fontconfig expat") + find_package(Fontconfig REQUIRED) + set(USE_FONTCONFIG "ON" CACHE INTERNAL "") + set (CSF_fontconfig "Fontconfig::Fontconfig") endif() endif() endif() diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in index a4796b2dc1..fef12e3163 100644 --- a/adm/templates/OpenCASCADEConfig.cmake.in +++ b/adm/templates/OpenCASCADEConfig.cmake.in @@ -74,6 +74,26 @@ 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) + if("@USE_FONTCONFIG@") + find_dependency(Fontconfig) + endif() +endif() +if("@USE_RAPIDJSON@") + find_dependency(RapidJSON CONFIG) +endif() +if("@USE_TBB@") + find_dependency(TBB CONFIG) +endif() +if("@USE_VTK@") + find_dependency(VTK) +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})