CMake中的第三方库

Nik*_*hil 7 makefile build cmake

我正在为我的项目使用cmake,但我在子目录(比如lib /)中有另一个库,它使用普通的Makefile.作为构建过程的一部分,我如何指示CMake在lib中运行Makefile?

Nik*_*hil 6

解决方案是使用:

execute_process ( COMMAND make WORKING_DIRECTORY ${project_SOURCE_DIR}/path/to/lib )


Nad*_*LEM 3

如果您的 /lib 包含自己的CMakeLists.txt,只需使用add_subdirectory命令:

add_subdirectory(/path/of/your/lib/that/contains/CMakeLists.txt)
Run Code Online (Sandbox Code Playgroud)

别的

你必须使用exec_program命令:

exec_program(script.sh)
Run Code Online (Sandbox Code Playgroud)

其中script.sh

#!/bin/sh
cd /path/of/your/lib/ && make
Run Code Online (Sandbox Code Playgroud)

不要忘记

chmod +x script.sh
Run Code Online (Sandbox Code Playgroud)

在我看来,第一个解决方案更好!