我是CMake的新手。我有我的項目編譯。我有這樣CMake使用copy_if_different遞歸複製文件
項目的結構
SRC
- 測試
的.cpp(所有源文件)和的CMakeLists.txt這個文件夾(創建靜態庫) - 示例
.cpp(所有源文件)和此文件夾的CMakeLists.txt(創建靜態庫)
- 測試
包括
- 測試
.H(所有頭文件) - 例如
.H(所有頭文件)
- 測試
構建
- C MakeLists.txt(主CMakelist文件)
LIB
- 測試(包含生成的文件)
- 例(包含所生成的文件)
問題是如何複製所有靜態文件,即。從測試和示例文件夾並將它們遞歸地放在二進制結構之外的另一個文件夾中?
我主要的CMakeLists.txt文件:
PROJECT(copythefiles)
SET(CMAKE_CURRENT_BINARY_DIR ".")
add_subdirectory(/src/test /lib/test) # I am specifying the location where the files are to be generated
add_subdirectory(/src/example /lib/example)
ADD_CUSTOM_TARGET(a ALL COMMAND ${CMAKE_COMMAND} -E echo "\{X}" > ${CMAKE_CURRENT_BINARY_DIR}/lib/test/libtest.a)
ADD_CUSTOM_COMMAND(TARGET a POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_CURRENT_BINARY_DIR}/lib/test/libtest.a
${CMAKE_CURRENT_BINARY_DIR}/lib/libtest.a)
此份文件。但我有大約20個項目,我想遞歸地做。
謝謝:)
能否請你幫我解決這個問題。 http://stackoverflow.com/questions/13729478/missing-source-and-include-folder-when-integrating-cmake-with-eclipse/13731123#13731123 – Pintu