Klemens Nanni <[email protected]> wrote:
> On Sun, Sep 03, 2023 at 04:32:24PM +0200, Johannes Thyssen Tishman wrote:
> > *ping*
> >
> > Aug 31, 2023 22:58:50 Johannes Thyssen Tishman <[email protected]>:
>
> You can usually give it a week before pinging, four days is a little hasty,
> especially since oce is a monster C++ ports (~5600 files to compile), i.e.
> nothing you'd quickly (re)build and test.
Good to know, thanks. Never really know when is a good time to ping
and I was afraid it would come off a little pushy, I'm sorry. The
list has been quite active lately and I didn't want this patch to
get lost. My bad.
> The patched .cmake file stlil looks ugly, but should work.
Indeed. The cmake script is ugly as is IMO. Took me forever to debug.
> My machine is still churning along, I'll take care of the fix once confirmed.
Thanks a lot.
> Thanks.
>
> >
> > > Hi,
> > >
> > > The following cmake files installed by cad/oce contain a variable
> > > (${OCCT_INSTALL_BIN_LETTER}) that should've been replaced during
> > > installation:
> > >
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEApplicationFrameworkTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEDataExchangeTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEDrawTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEFoundationClassesTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEModelingAlgorithmsTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEModelingDataTargets-release.cmake
> > > /usr/local/lib/cmake/opencascade/OpenCASCADEVisualizationTargets-release.cmake
> > >
> > > To verify, run the following. You'll notice how the variable is
> > > escaped (\${...}):
> > >
> > > # pkg_add oce
> > > $ grep OCCT_INSTALL_BIN_LETTER
> > > /usr/local/lib/cmake/opencascade/OpenCASCADE*
> > >
> > > I'm working on porting FreeCAD (which depends on oce)
> > > and I'm getting the following error during the configuration stage:
> > >
> > >> CMake Error at
> > >> /usr/local/lib/cmake/opencascade/OpenCASCADEFoundationClassesTargets.cmake:87
> > >> (message):
> > >> The imported target "TKernel" references the file
> > >>
> > >> "/usr/local/lib${OCCT_INSTALL_BIN_LETTER}/libTKernel.so.1.0"
> > >>
> > >> but this file does not exist. Possible reasons include:
> > >>
> > >> * The file was deleted, renamed, or moved to another location.
> > >>
> > >> * An install or uninstall procedure did not complete successfully.
> > >>
> > >> * The installation package was faulty and contained
> > >>
> > >>
> > >> "/usr/local/lib/cmake/opencascade/OpenCASCADEFoundationClassesTargets.cmake"
> > >>
> > >> but not all the files it references.
> > >
> > > The diff below is based on a patch from the FreeBSD port and should
> > > fix this issue. The only consumer is cad/kicad and it built fine.
> > >
> > > Kind regards,
> > > Johannes
> > >
> > > Index: Makefile
> > > ===================================================================
> > > RCS file: /cvs/ports/cad/oce/Makefile,v
> > > retrieving revision 1.9
> > > diff -u -p -r1.9 Makefile
> > > --- Makefile 28 Feb 2023 21:22:28 -0000 1.9
> > > +++ Makefile 31 Aug 2023 19:47:51 -0000
> > > @@ -7,7 +7,7 @@ GH_ACCOUNT = tpaviot
> > > GH_PROJECT = oce
> > > GH_COMMIT = 98a788062f0f30593880b0df1bcf967408212ba4
> > > DISTNAME = oce-7.6.0
> > > -REVISION = 1
> > > +REVISION = 2
> > >
> > > .for LIB in TKBO TKBRep TKBin TKBinL TKBinTObj TKBinXCAF TKBool TKCAF
> > > TKCDF \
> > > TKDCAF TKDraw TKFeat TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase TKHLR
> > > \
> > > Index: patches/patch-adm_cmake_occt_macros_cmake
> > > ===================================================================
> > > RCS file: /cvs/ports/cad/oce/patches/patch-adm_cmake_occt_macros_cmake,v
> > > retrieving revision 1.2
> > > diff -u -p -r1.2 patch-adm_cmake_occt_macros_cmake
> > > --- patches/patch-adm_cmake_occt_macros_cmake 11 Mar 2022 18:24:30
> > > -0000 1.2
> > > +++ patches/patch-adm_cmake_occt_macros_cmake 31 Aug 2023 19:47:51 -0000
> > > @@ -1,15 +1,12 @@
> > > -Ugly hack on ALL_OCCT_TARGET_FILES: change later
> > > -
> > > Index: adm/cmake/occt_macros.cmake
> > > --- adm/cmake/occt_macros.cmake.orig
> > > +++ adm/cmake/occt_macros.cmake
> > > -@@ -592,7 +592,8 @@ macro (OCCT_UPDATE_TARGET_FILE)
> > > +@@ -592,7 +592,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
> > > "cmake_policy(PUSH)
> > > cmake_policy(SET CMP0007 NEW)
> > > string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\"
> > > CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
> > > - file (GLOB ALL_OCCT_TARGET_FILES
> > > \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
> > > -+ file (GLOB ALL_OCCT_TARGET_FILES
> > > -+
> > > \"${PROJECT_BINARY_DIR}/CMakeFiles/Export/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
> > > ++ file (GLOB ALL_OCCT_TARGET_FILES
> > > \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
> > > foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
> > > file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
> > > file (REMOVE \"\${TARGET_FILENAME}\")
> >