*ping* Aug 31, 2023 22:58:50 Johannes Thyssen Tishman <li...@thyssentishman.com>:
> 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}\")