添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

重点, 这些设置一定要放在函数 add_library 或者 add_executable 之前

重点, 这些设置一定要放在函数 add_library 或者 add_executable 之前

重点, 这些设置一定要放在函数 add_library 或者 add_executable 之前

重点, 这些设置一定要放在函数 add_library 或者 add_executable 之前

重点, 这些设置一定要放在函数 add_library 或者 add_executable 之前

我定义了如下变量, 用作保存x64和x86不同设置

# 64位
if (CMAKE_CL_64)
    # 设置 可执行程序输出目录
	set(publish_bin_debug 			${CMAKE_CURRENT_SOURCE_DIR}/publish/x64/bin/debug64)
	set(publish_bin_release 		${CMAKE_CURRENT_SOURCE_DIR}/publish/x64/bin/release64)
    # 设置库文件输出目录
	set(publish_lib_debug 			${CMAKE_CURRENT_SOURCE_DIR}/publish/x64/lib/debug64)
	set(publish_lib_release 		${CMAKE_CURRENT_SOURCE_DIR}/publish/x64/lib/release64)
	set(PROJECT_NAME 				${PROJECT_NAME}64)
else()
 # 设置 可执行程序输出目录
	set(publish_bin_debug 			${CMAKE_CURRENT_SOURCE_DIR}/publish/x86/bin/debug)
	set(publish_bin_release 		${CMAKE_CURRENT_SOURCE_DIR}/publish/x86/bin/release)
 # 设置库文件输出目录
	set(publish_lib_debug 			${CMAKE_CURRENT_SOURCE_DIR}/publish/x86/lib/debug)
	set(publish_lib_release 		${CMAKE_CURRENT_SOURCE_DIR}/publish/x86/lib/release)
endif()

1.设置程序输出目录

如果你的项目是动态库,比如 dll, 或者你的项目是 可执行程序, 下面的设置,将输出到指定的目录。

		# 指定可执行程序输出目录
		set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG 	${publish_bin_debug})
		set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE 	${publish_bin_release})

2. 设置库文件输出目录

		# 指定 库文件输出目录
		set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG 	${publish_lib_debug})
		set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RLEASE 	${publish_lib_release})

3. 文件拷贝

动态库项目,咱们做好后都会发布 头文件和库文件和动态库三类文件,之前,

  • windwos,我使用批处理bat执行文件拷贝到指定目录
  • Linux, 使用shell完成文件拷贝。
    有了 CMake以后,直接使用file 实现文件拷贝,简直方便的不要不要的。
    一个简单的例子:
  • file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/udp/udp_interface.h DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/publish/x64/include)
    

    COPY的语法是: file(COPY <填写你要拷贝的文件> DESTINATION <填写你要的输出目录>)
    更多用法,请参考 CMake的官方文档。

    作者:mohistH
    本文版权归作者和博客园共有,谢绝一切形式的转载,否则将追究法律责任。