这是我可行的 CMakelists.txt。基准库已存在 ,它是按照google benchmark/usr/local/lib/libbenchmark.a中的标准流程构建的
cmake_minimum_required(VERSION 3.5.1)
project(tiny_benchmark)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_CXX_EXTENSIONS off)
set(CMAKE_EXPORT_COMPILE_COMMANDS on)
# set(CMAKE_STANDARD_LIBRARIES ${CMAKE_STANDARD_LIBRARIES} pthread benchmark /usr/local/lib/benchmark.a)
# set(CMAKE_STANDARD_LIBRARIES ${CMAKE_STANDARD_LIBRARIES} pthread)
add_executable(foo foo.cpp)
add_executable(bar bar.cpp)
target_link_libraries(foo pthread benchmark)
target_link_libraries(bar pthread benchmark)
Run Code Online (Sandbox Code Playgroud)
由于我有许多小型基准测试工具要构建,因此我不想调用 target_link_libraries(bar pthread benchmark)每个库。
我只想定义可执行文件。并且可以自动添加pthread和benchmark。
我发现CMAKE_STANDARD_LIBRARIES是为此目的而设计的,但我尝试
CMAKE_STANDARD_LIBRARIES了CMAKE_CXX_STANDARD_LIBRARIES多种格式,但没有一个有效。
在这种情况下我犯了什么错误?我的CMake版本是3.5.1。
Tsy*_*rev 10
您可以使用link_libraries命令。其效果与 类似target_link_libraries,但适用于调用后创建的所有目标。
link_libraries(pthread benchmark)
add_executable(foo foo.cpp)
add_executable(bar bar.cpp)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |