Hi Chuck,
Thanks for the information.
We launch cmake on MariaDB code with:
-DBUILD_SHARED_LIBS=true
Moreover, here are the few places in MariaDB code where BUILD_SHARED_LIBS
appears:
# grep -R BUILD_SHARED_LIBS *
CMakeCache.txt:BUILD_SHARED_LIBS:UNINITIALIZED=true
pcre/CMakeLists.txt:# IF(NOT BUILD_SHARED_LIBS)
pcre/CMakeLists.txt:# ENDIF(NOT BUILD_SHARED_LIBS)
pcre/CMakeLists.txt:# MESSAGE(STATUS " Build shared libs ............... :
${BUILD_SHARED_LIBS}")
plugin/aws_key_management/CMakeLists.txt: -DBUILD_SHARED_LIBS=OFF
What does the first line means ?
Thx/Regards,
Cordialement,
Tony Reix
[email protected]
ATOS / Bull SAS
ATOS Expert
IBM Coop Architect & Technical Leader
Office : +33 (0) 4 76 29 72 67
1 rue de Provence - 38432 Échirolles - France
www.atos.net<https://mail.ad.bull.net/owa/redir.aspx?C=PvphmPvCZkGrAgHVnWGsdMcDKgzl_dEIsM6rX0g4u4v8V81YffzBGkWrtQeAXNovd3ttkJL8JIc.&URL=http%3a%2f%2fwww.atos.net%2f>
________________________________
De : Chuck Atkins <[email protected]>
Envoyé : mardi 21 août 2018 18:02
À : REIX, Tony
Cc : CMake Developers
Objet : Re: [cmake-developers] Shared libraries
Hi Tony,
I expect what your seeing is likely the result of how MaraiaDBhas specifically
implemented their CMake build. The only builtin CMake variable to control this
is BUILD_SHARED_LIBS, which when set to "ON" changes the behavior of
add_library(foo) to be add_library(foo SHARED), instead of the default
add_library(foo STATIC). The other BUILD_STATIC_LIBS and DISABLE_SHARED are
variables are not builtin to CMake and are part of however they have chosen to
implement their build.
CMake builds are typically designed to produce a single configuration, i.e.
shared release or static debug, etc. Often, however, because to have the
flexibility to do otherwise. projects will try to instead implement a build
that produces several configurations in a single pass. It seems this is what
MariaDB has done and as such the variables to control it will be unique and
specific to that project and how they've decided to implement it.
----------
Chuck Atkins
Staff R&D Engineer, Scientific Computing
Kitware, Inc.
On Thu, Aug 9, 2018 at 12:23 PM REIX, Tony
<[email protected]<mailto:[email protected]>> wrote:
Hi,
On AIX, when building MongoC 1.11, cmake 3.11.4 generates lib*.so files and
lib*.a files which contain .o files.
On AIX, we should get libraries lib*.a containing the lib*.so file.
I've tried to use:
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=OFF \
-DCMAKE_C_CREATE_SHARED_LIBRARY=ON \
-DCMAKE_CXX_CREATE_SHARED_LIBRARY=ON
and I see that, for MariaDB, someone has tried with:
-DDISABLE_SHARED=OFF
None seems to work.
Which CMake variable should I use for asking CMAKE to generate shared libraries
rather than static ones: lib*.a file containing .so files rather than .o files.
Thanks
Cordialement,
Tony Reix
[email protected]<mailto:[email protected]>
ATOS / Bull SAS
ATOS Expert
IBM Coop Architect & Technical Leader
Office : +33 (0) 4 76 29 72 67
1 rue de Provence - 38432 Échirolles - France
www.atos.net<https://mail.ad.bull.net/owa/redir.aspx?C=PvphmPvCZkGrAgHVnWGsdMcDKgzl_dEIsM6rX0g4u4v8V81YffzBGkWrtQeAXNovd3ttkJL8JIc.&URL=http%3a%2f%2fwww.atos.net%2f>
--
Powered by www.kitware.com<http://www.kitware.com>
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
https://cmake.org/mailman/listinfo/cmake-developers