https://github.com/libigl/libigl/blob/main/cmake/igl/igl_copy_dll.cmake#L95-L100 # Finally generate one script for each configuration supported by this generatormessage(STATUS"Populating copy rules for target: ${target}")file(GENERATEOUTPUT${CMAKE_BINARY_DIR}/runtime_deps/copy_dll_${target...
CMakeLists.txt MyTest.cpp 已知MyTest 依赖 MyLib,在生成单元测试 MyTest 时,MyLib.dll 这个文件是不会拷贝到 MyTest.exe 的同级目录下的,运行即报错。 直接放结论,解决方案是使用add_custom_command+生成器表达式即可,参考以下配置文件: if(${CMAKE_GENERATOR}MATCHES"Ninja")# 单配置add_custom_command(TA...
在进行 sese-core 项目的开发时,我遭遇了一个反复出现的问题:运行单元测试时,时常会收到“找不到 xxx.dll”的错误提示。经过深入调查后,我发现这个问题的根源在于 CMake 在构建过程中并未自动将依赖库文件拷贝至与可执行文件同一目录下。假设存在一个名为 MyProject 的项目,其结构如下。在这个项...
给你的library定义一个带"IMPORTED" 属性的target,同时需要并为此定义lib和dll路径属性,需要区分debug和release。链接此库用上面定义target的名字即可,这样会自动隐藏背后的不同版本的lib库文件。在CMakeLists.txt定义一个定制的build step来自动拷贝运行所需的dll文件:通常,当你的项目集成了很多第三方...