(s_lib INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/static_lib/include> # 本库的包含目录喵 $<INSTALL_INTERFACE:include/cmake/s_lib>) # 使用方的包含目录喵 # 生成包含导出内容的配置文件,供 find_package 使用喵 configure_package_config_file("third_party/static_lib/...
了解到我们可以使用SHARED关键字来构建共享库,这并不令人惊讶: 代码语言:javascript 代码运行次数:0 运行 复制 add_library(<name> SHARED [...]) 我们也可以通过将BUILD_SHARED_LIBS变量设置为ON并使用简短版本来实现: 代码语言:javascript 代码运行次数:0 运行 复制 add_library(<name> SHARED [...]) 与静态...
CMake that the project does not need compatibility with older versions. CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, af...
The provided one has many side-effects, and # googletest has a very straightforward build. -add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc) +add_library(boringssl_gtest STATIC third_party/googletest/src/gtest-all.cc) target_include_directories(boringssl_gtest PRIVATE third...
在本节中,我们将展示如何使用BUILD_SHARED_LIBS变量来控制add_library的默认行为,并允许控制如何构建没有显式类型(STATIC,SHARED,MODULE或OBJECT)的库。 为此,我们需要将BUILD_SHARED_LIBS添加到顶级CMakeLists.txt。 我们使用option命令,因为它允许用户可以选择该值是On还是Off。 接下来,我们将重构MathFunctions使其成...
option(BUILD_SHARED_LIBS "Build shared library" ON) if(BUILD_SHARED_LIBS) else() # Build static library endif() If we want to build both static and shared at the same time, I think it will still be helpful to add some options to control over the building of static and shared libs:...
Adding a Version Number and Configured Header File 我们第一个要加入的特性是,在工程和可执行程序上加一个版本号。虽然你可以直接在源代码里面这么做,然而如果用CMakeLists文件来做的话会提供更多的灵活性。为了增加版本号,我们可以如此更改CMakeLists文件: cmake_minimum_required (VERSION 2.6) project (Tutorial...
add_library( hello_shared SHARED ${libhello_src}) add_library( hello_static STATIC ${libhello_src}) # 按照一般的习惯,静态库名字跟动态库名字应该是一致的,只是扩展名不同; #即:静态库名为 libhello.a; 动态库名为libhello.so ; # 所以,希望 "hello_static" 在输出时,不是"hello_static",而是...
CMAKE_STATIC_LIBRARY_SUFFIX静态库后缀,Linux下默认为.a CMAKE_SHARED_LIBRARY_PREFIX动态库前缀,Linux下默认为lib CMAKE_SHARED_LIBRARY_SUFFIX动态库后缀,Linux下默认为.so BUILD_SHARED_LIBS如果为ON,则add_library默认创建共享库 CMAKE_INSTALL_PREFIX配置安装路径,默认为/usr/local ...
CMAKE_BUILD_TYPE 这种东西往往是在CMakeList.txt 中定义的, 这个是你要编译的类型, 一般的选择有debug,release, 但是不确定 CMAKE_INSTALL_PREFIX 这个是安装路径. 例子 cmake -DCMAKE_BUILD_TYPE=Debug 编译选项 在cmake脚本中,设置编译选项可以通过add_compile_options命令,也可以通过set命令修改CMAKE_CXX_...