[Libclc-dev] [PATCH 1/1] cmake: Install libraries to DATADIR from GNUInstallDirs
Jan Vesely via Libclc-dev
libclc-dev at lists.llvm.org
Sat Dec 22 00:49:15 PST 2018
On Mon, 2018-12-17 at 10:22 -0800, Tom Stellard via Libclc-dev wrote:
> On 12/06/2018 02:40 PM, Jan Vesely via Libclc-dev wrote:
> > This moves default installation location of device libraries to /usr/share.
> > Note that libclc.pc was already installed to /usr/share.
> > Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> > ---
> > I was not sure if this should use LIBDIR or DATADIR, but in the end the
> > libraries are independent of CPU architecture and it can be easily
> > overridden.
> > I don't have a strong preference, let me know if LIBDIR looks better to
> > you.
> >
>
> There was a bug filed by one of the OS packages to put the libs in DATADIR,
> which is why it was done that way. The rationale was that the contents
> are the same on all arches, so it is really an architecture independent
> package, so it doesn't belong in LIBDIR.
thanks. that's what this patch does for cmake, does it look ok to you?
the defaults in configure.py are libclc.pc to $PREFIX/share/pkgconfig
and *.bc to $PREFIX/lib/clc which was a bit confusing.
Jan
>
> -Tom
> > Jan
> >
> > CMakeLists.txt | 11 ++++++-----
> > libclc.pc.in | 4 ++--
> > 2 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/CMakeLists.txt b/CMakeLists.txt
> > index 41bd5f6..440eab0 100644
> > --- a/CMakeLists.txt
> > +++ b/CMakeLists.txt
> > @@ -1,6 +1,7 @@
> > cmake_minimum_required( VERSION 3.9.2 )
> >
> > project( libclc VERSION 0.2.0 LANGUAGES CXX )
> > +include( GNUInstallDirs )
> >
> > # List of all targets
> > set( LIBCLC_TARGETS_ALL
> > @@ -145,8 +146,8 @@ endif()
> >
> > # pkg-config file
> > configure_file( libclc.pc.in libclc.pc @ONLY )
> > -install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION share/pkgconfig )
> > -install( DIRECTORY generic/include/clc DESTINATION include )
> > +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig )
> > +install( DIRECTORY generic/include/clc DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
> >
> > if( ENABLE_RUNTIME_SUBNORMAL )
> > add_library( subnormal_use_default STATIC
> > @@ -154,7 +155,7 @@ if( ENABLE_RUNTIME_SUBNORMAL )
> > add_library( subnormal_disable STATIC
> > generic/lib/subnormal_disable.ll )
> > install( TARGETS subnormal_use_default subnormal_disable ARCHIVE
> > - DESTINATION lib/clc )
> > + DESTINATION ${CMAKE_INSTALL_DATADIR}/clc )
> > endif()
> >
> > find_program( PYTHON python )
> > @@ -274,7 +275,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
> > prepare_builtins )
> > add_custom_target( "prepare-${obj_suffix}" ALL
> > DEPENDS "${obj_suffix}" )
> > - install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} DESTINATION lib/clc )
> > + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${obj_suffix} DESTINATION ${CMAKE_INSTALL_DATADIR}/clc )
> > # nvptx-- targets don't include workitem builtins
> > if( NOT ${t} MATCHES ".*ptx.*--$" )
> > add_test( NAME external-calls-${obj_suffix}
> > @@ -292,7 +293,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
> > create_symlink ${obj_suffix}
> > ${alias_suffix}
> > DEPENDS "prepare-${obj_suffix}" )
> > - install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${alias_suffix} DESTINATION lib/clc )
> > + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${alias_suffix} DESTINATION ${CMAKE_INSTALL_DATADIR}/clc )
> > endforeach( a )
> > endforeach( d )
> > endforeach( t )
> > diff --git a/libclc.pc.in b/libclc.pc.in
> > index 82e4e94..b6e06c9 100644
> > --- a/libclc.pc.in
> > +++ b/libclc.pc.in
> > @@ -1,5 +1,5 @@
> > -includedir=@CMAKE_INSTALL_PREFIX@/include
> > -libexecdir=@CMAKE_INSTALL_PREFIX@/lib/clc
> > +includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@
> > +libexecdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_DATADIR@/clc
> >
> > Name: libclc
> > Description: Library requirements of the OpenCL C programming language
> >
>
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
--
Jan Vesely <jan.vesely at rutgers.edu>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20181222/914eec47/attachment.sig>
More information about the Libclc-dev
mailing list