CMake(Cross-Platform-Make)是一个开源、跨平台的软件构建工具,它使用与平台独立的配置文件来对软件编译过程进行控制,根据用户所需,生成 Makefile 或者 IDE的 project。
一、cmake动态库路径使用当前目录,方法如下:
修改文件CMakeLists.txt,使用工程路径变量PROJECT_SOURCE_DIR
cmake_minimum_required(VERSION 3.10)
project(test)
include_directories(include)
set(CMAKE_CXX_STANDARD 11)
set_target_properties(${TARGET} PROPERTIES
COMPILE_FLAGS "-pthread"
LINK_FLAGS "-pthread")
add_executable(test main.cpp test/test.cpp include/main.h include/test.h)
target_link_libraries(test ${PROJECT_SOURCE_DIR}/lib/lib1.so ${PROJECT_SOURCE_DIR}/lib/libsqlite3.so libpthread.so)
二、常用变量
PROJECT_SOURCE_DIR:工程的根目录
PROJECT_BINARY_DIR:运行cmake命令的目录,通常为${PROJECT_SOURCE_DIR}/build
PROJECT_NAME:返回通过 project 命令定义的项目名称
CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 所在的路径
CMAKE_CURRENT_BINARY_DIR:target 编译目录
CMAKE_CURRENT_LIST_DIR:CMakeLists.txt 的完整路径
EXECUTABLE_OUTPUT_PATH:重新定义目标二进制可执行文件的存放位置
LIBRARY_OUTPUT_PATH:重新定义目标链接库文件的存放位置