SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../bin) 1. 2.静态库 lib 输出路径: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../bin) 1. 3.动态库输出路径(注意这个放在最后): SET_TARGET_PROPERTIES(dllname PROPERTIES RUNTIME_OUTPUT_DIRECTORY ../bin) 1. 4.上面两条语句分别...
例如,如果你想将可执行文件输出到bin目录,将库文件输出到lib目录,将静态库文件输出到static_lib目录,可以在CMakeLists.txt文件中添加以下代码: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY...
CMAKE_BINARY_DIR、PROJECT_BINARY_DIR、<projectname>_BINARY_DIR 三个变量指代的内容是一致的,如果是 in-source 编译,指得就是工程顶层目录,如果是 out-of-source 编译,指的是工程编译发生的目录. CMAKE_SOURCE_DIR、PROJECT_SOURCE_DIR、<projectname>_SOURCE_DIR 这三个变量指代的内容是一致的,不论采用何种...
PROJECT_NAME:http-server PROJECT_SOURCE_DIR:/home/benggee/app/c-program/cmake/src PROJECT_BINARY_DIR:/home/benggee/app/c-program/cmake/build PROJECT_VERSION:1.0 PROJECT_VERSION_MAJOR:1 PROJECT_VERSION_MINOR:0 CMAKE_CXX_STANDARD:11 当然,CMake还有很多其它的内部变量,这里就不一一列举了,有兴趣...
target_compile_options(MyProject PRIVATE -Wall -Wextra -Werror) 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 在这个示例中,我们添加了一个名为MyLibrary的依赖库,并设置了一些编译选项,例如启用所有警告并将警告视为错误。 总结来说,当遇到“CMake Error: The source directory ‘xxx’ does not exis...
PROJECT(工程名字) 这条指令会自动创建两个变量: <projectname>_BINARY_DIR(二进制文件保存路径) <projectname>_SOURCE_DIR(源代码路径) cmake系统也帮助我们预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR其值与上述对应相等 SET(变量名 变量值) SET(VAR [VALUE] [CACHE TYPEDOCSTRING [FORCE]]) ...
CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目录。 CMAKE_SOURCE_DIR,PROJECT_SOURCE_DIR:这两个变量内容一致,都指的是工程的顶级目录。 CMAKE_CURRENT_BINARY_DIR:外部编译时,指的是target目录,内部编译时,指的是顶...
MESSAGE(STATUS "Project: SERVER")#打印相关消息消息 MESSAGE(STATUS "Project Directory: ${PROJECT_SOURCE_DIR}") SET(CMAKE_BUILE_TYPE DEBUG)#指定编译类型 SET(CMAKE_C_FLAGS_DEBUG "-g -Wall")#指定编译器 ADD_SUBDIRECTORY(utility)#添加子目录 ...
这个指令隐式的定义了两个 cmake变量: PROJECT_BINARY_DIR以及PROJECT_SOURCE_DIR。分别指向项目的编译路径和工程路径。 PROJECT (HELLO) #生成可执行文件,${}来引用变量。 ADD_EXECUTABLE(Executable program name ${ Source files }) 到这里,一个可执行程序就生成了。如果要管理依赖第三方库的工程,就需要加入...
project (demo) set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) aux_source_directory (src SRC_LIST) include_directories (include) add_executable (main ${SRC_LIST}) 同时,还要把src目录下的CMakeLists.txt删除。 然后正常编译运行就可以。