Skip to Content.
Sympa Menu

cgal-discuss - Re: Re: Re: Re: [cgal-discuss] Static vs Shared

Subject: CGAL users discussion list

List archive

Re: Re: Re: Re: [cgal-discuss] Static vs Shared


Chronological Thread 
  • From: "Laurent Rineau (CGAL/GeometryFactory)" <>
  • To:
  • Subject: Re: Re: Re: Re: [cgal-discuss] Static vs Shared
  • Date: Fri, 27 Jul 2012 14:50:20 +0200
  • Organization: GeometryFactory

Le jeudi 26 juillet 2012 18:54:33 Laurent Rineau a écrit :
> Le jeudi 26 juillet 2012 12:47:17 Panagiotis Foteinos a écrit :
> > It might worth mentioning that in the RedHat machine CGAL is actually
> > "make installed", while in the ubuntu machine CGAL is merely "made".
>
> I can reproduce the issue: if one build static CGAL libraries (.a files),
> then the CGALConfig.cmake of the build tree shows .a files, but the
> CGALConfig.cmake that is installed (the one in the config/ subdirectory of
> the build tree) shows .so files. And the latter in incorrect for static
> libraries. I do not think that has something to do with the precise CMake
> version. That is probably a bug in CGAL CMake scripts. I will work on that
> more tomorrow.

I understand what happened. You almost certainly first launched cmake without
BUILD_SHARED_LIBS=ON, and then you have modified the value of
BUILD_SHARED_LIBS to OFF in the cache (maybe using cmake-gui), and relaunched
the configuration. With that scenario, some variable values do not change
when BUILD_SHARED_LIBS is toggled.

Here is the patch, against CGAL-4.0.2/CMakeLists.txt:

===================================================================
--- CMakeLists.txt (revision 70751)
+++ CMakeLists.txt (working copy)
@@ -669,10 +669,10 @@
# Set CGAL_LIBRARY_NAME, CGAL_Qt3_LIBRARY_NAME and so on. Those variables
# are the name of CGAL libraries, without the path. Used in the generation
# of the installed CGALConfig.cmake
-get_filename_component(CGAL_LIBRARY_NAME "${CGAL_LIBRARY}" NAME CACHE)
+get_filename_component(CGAL_LIBRARY_NAME "${CGAL_LIBRARY}" NAME)
hide_variable(CGAL_LIBRARY_NAME)
foreach(lib ${CGAL_CONFIGURED_LIBRARIES})
- get_filename_component(CGAL_${lib}_LIBRARY_NAME "${CGAL_${lib}_LIBRARY}"
NAME CACHE)
+ get_filename_component(CGAL_${lib}_LIBRARY_NAME "${CGAL_${lib}_LIBRARY}"
NAME)
hide_variable(CGAL_${lib}_LIBRARY_NAME)
endforeach()


That is remove "CACHE" from the parameters of the two calls to
get_filename_component().

That patch will be included in the next release CGAL-4.1.

--
Laurent Rineau, PhD
R&D Engineer at GeometryFactory http://www.geometryfactory.com/
Release Manager of the CGAL Project http://www.cgal.org/




Archive powered by MHonArc 2.6.18.

Top of Page