对于我的项目,我需要构建并包含另一个库https://github.com/t-dillon/tdoku/作为我的依赖项。
Toku 也是使用 CMake 构建的,我可以通过以下方式运行构建脚本:
$ cd lib/toku
$ ./BUILD.sh
这会将库文件放入./lib/tdoku/build/libtdoku.a
.
我正在尝试在 CMake 中构建 Toku 库,并将其用作依赖项。我怎样才能做到这一点?
我尝试使用add_custom_target
, add_custom_command
, add_dependencies
,add_subdirectory
无济于事。
我目前的CMakeLists.txt
样子:
cmake_minimum_required(VERSION 3.17)
project(project_1_cpp)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wconversion")
set(CMAKE_CXX_FLAGS_DEBUG_INIT "")
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3")
add_custom_target(toku)
add_custom_command(
TARGET toku
COMMAND ${CMAKE_SOURCE_DIR}/lib/tdoku/BUILD.sh
WORKING_DIR ${CMAKE_SOURCE_DIR}/lib/tdoku
)
file(GLOB project_1_src "*.cpp")
add_executable(project_1_cpp ${project_1_src})
add_dependencies(tdoku project_1_cpp)
target_link_libraries(project_1_cpp ${CMAKE_SOURCE_DIR}/lib/tdoku/build/libtdoku.a)