diff --git a/cmake/BuildSophia.cmake b/cmake/BuildSophia.cmake index 4cb41d7fab0b5c08f52b8628cb26a079756ec515..ef36158b9a3f7df297d58f4efe643ecfdd6848a8 100644 --- a/cmake/BuildSophia.cmake +++ b/cmake/BuildSophia.cmake @@ -6,7 +6,8 @@ macro(sophia_build) if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) add_custom_command(OUTPUT ${PROJECT_SOURCE_DIR}/third_party/sophia/db/libsophia.a WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/third_party/sophia - COMMAND $(MAKE) -C db + COMMAND $(MAKE) -C db libsophia.a + DEPENDS ${CMAKE_SOURCE_DIR}/CMakeCache.txt ) else() add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia @@ -14,8 +15,8 @@ macro(sophia_build) ) add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/sophia/db/libsophia.a WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/sophia - COMMAND cp -r ${PROJECT_SOURCE_DIR}/third_party/sophia/* . - COMMAND $(MAKE) -C db + COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/third_party/sophia ${PROJECT_BINARY_DIR}/third_party/sophia + COMMAND $(MAKE) -C db libsophia.a DEPENDS ${PROJECT_BINARY_DIR}/CMakeCache.txt ${PROJECT_BINARY_DIR}/third_party/sophia ) endif()