如何禁用使用cmake的第三方库(mysql)生成共享对象(.so文件)?

3
我正在尝试从源代码构建MySql Connector C(6.0.2),默认情况下编译会输出静态库(.a)和共享库(.so)。我想要禁止生成.so文件,已经尝试将BUILD_SHARED_LIBS设置为OFF,但没有起作用。还尝试将CMAKE_LIBRARY_OUTPUT_DIRECTORY设置为/dev/null,也没有成功。是否有人有解决此问题的建议?
我正在使用cmake-2.8.4(在Ubuntu上),我的cmake调用类似于:
cmake -G "Unix Makefiles"    
      -DCMAKE_INSTALL_PREFIX=/path/to/install/root/  
      -DCMAKE_C_FLAGS="-m64"  
      -DBUILD_SHARED_LIBS:BOOL=OFF 
      [-DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=/dev/null]

尝试复制您的问题,但我甚至无法在Ubuntu 10.04(gcc 4.4.3),cmake 2.8.0上构建它。 - Rian Sanderson
你遇到了什么错误或问题?顺便说一下,我正在构建(或者说试图构建)mysql-connector-c-6.0.2。 - decimus phostle
1个回答

1

只需在CMakeLists.txt文件中搜索ADD_LIBRARY并注释掉添加共享目标的部分


5
我宁愿不对CMakeLists.txt进行更改,因为它是一个第三方库,我们正在使用我们的构建脚本包装它。因此,理想情况下,最好能够从库分发之外控制这个问题。 - decimus phostle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接