cmake_minimum_required(VERSION 3.15) project(hellocmake) message("PROJECT_NAME: ${PROJECT_NAME}") message("PROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR}") message("PROJECT_BINARY_DIR: ${PROJECT_BINARY_DIR}") message("CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}") message("CMAKE_...
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:重新定义目标链...
get_filename_component(JAVA_LIB_PATH ${JVM_LIB_PATH} DIRECTORY) link_directories(${JVM_LIB_PATH} ${JAVA_LIB_PATH}) set_target_properties(${NAME} PROPERTIES LINK_FLAGS "-ljvm") 其中find_package(JNI)会搜索libjvm.so可能存在的路径,通过get_filename_component来获得libjvm.so的文件夹,并把这个...
语法:add_library(<name> [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] source1 source2 .. sourceN)。 参数解释 <name>,表示库文件的名字,该库文件会根据命令里列出的源文件来创建。 STATIC、SHARED 和 MODULE 的作用是指定生成的库文件的类型。STATIC 库是目标文件的归档文件,在链接其它目标的时候使用。 SHARE...
CMAKE_CURRENT_LIST_DIR:CMakeLists 所在的路径 PROJECT_SOURCE_DIR:包含项目名的最近一个 CMakeLists.txt 文件所在的文件夹 CMAKE_BINARY_DIR 、PROJECT_BINARY_DIR、<projectname>_BINARY_DIR: 工程编译发生的目录 CMAKE_SOURCE_DIR、PROJECT_SOURCE_DIR、<projectname>_BINARY_DIR: 工程顶层目录 CMAKE_C_COMP...
if(NOT Baumer_${varname}_LIBRARY) find_library( Baumer_${libname}_LIBRARY NAMES ${libname} PATHS ${Baumer_ROOT_DIR}/lib /usr/local/lib) get_filename_component(Baumer_${libname}_LIBRARY_DIR ${Baumer_${libname}_LIBRARY} DIRECTORY)
-A <platform-name> = Specify platform name if supported by generator. -Wdev = Enable developer warnings. -Wno-dev = Suppress developer warnings. -Werror=dev = Make developer warnings errors. -Wno-error=dev = Make developer warnings not errors. ...
另外,仍然可以借助aux_source_directory把指定目录下的所有源文件存列表存放到变量中:cmake_minimum_...
# SET_TARGET_PROPERTIES (hello_static PROPERTIES OUTPUT_NAME "hello") # 3、cmake在构建一个新的target时,会尝试清理掉其他使用这个名字的库, # 因此,在构建libhello.a时,就会清理掉libhello.so. # 为了回避这个问题,比如再次使用SET_TARGET_PROPERTIES定义 CLEAN_DIRECT_OUTPUT属性。
1. Using $ENV{NAME} : 调用系统环境变量,我们也可以使用 "SET(ENV{NAME} value)". 需要注意的是这里"ENV"没有"$". 2. CMAKE_INCLUDE_CURRENT_DIR 等同于 INCLUDE_DIRECTORY(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) 五、其他的内置变量 ...