diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx index 961d29164..9e4726cd6 100644 --- a/Source/cmDependsFortran.cxx +++ b/Source/cmDependsFortran.cxx @@ -442,9 +442,11 @@ cmDependsFortran for(std::set::const_iterator i = info.Includes.begin(); i != info.Includes.end(); ++i) { - makeDepends << obj << ": " - << cmSystemTools::ConvertToOutputPath(i->c_str()).c_str() - << std::endl; + makeDepends << obj << ": " << + this->LocalGenerator->Convert(i->c_str(), + cmLocalGenerator::HOME_OUTPUT, + cmLocalGenerator::MAKEFILE) + << std::endl; internalDepends << " " << i->c_str() << std::endl; } makeDepends << std::endl; @@ -491,7 +493,7 @@ cmDependsFortran std::string stampFile = this->LocalGenerator->Convert(required->second.c_str(), cmLocalGenerator::HOME_OUTPUT, - cmLocalGenerator::SHELL); + cmLocalGenerator::MAKEFILE); makeDepends << obj << ": " << stampFile << "\n"; } else @@ -504,7 +506,7 @@ cmDependsFortran module = this->LocalGenerator->Convert(module.c_str(), cmLocalGenerator::HOME_OUTPUT, - cmLocalGenerator::SHELL); + cmLocalGenerator::MAKEFILE); makeDepends << obj << ": " << module << "\n"; } } diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt index 709ea5f5a..e66b7a0c3 100644 --- a/Tests/Fortran/CMakeLists.txt +++ b/Tests/Fortran/CMakeLists.txt @@ -171,13 +171,20 @@ if(TEST_MODULE_DEPENDS) set(External_CONFIG_TYPE) set(External_BUILD_TYPE -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}) endif(CMAKE_CONFIGURATION_TYPES) + set(External_SOURCE_DIR "${testf_SOURCE_DIR}/External") + set(External_BINARY_DIR "${testf_BINARY_DIR}/External") + if("${testf_BINARY_DIR}" MATCHES " ") + # Our build tree has a space, so the build tool supports spaces. + # Test using modules from a path with spaces. + set(External_BINARY_DIR "${External_BINARY_DIR} Build") + endif() add_custom_command( OUTPUT ${testf_BINARY_DIR}/ExternalProject COMMAND ${CMAKE_CTEST_COMMAND} ARGS ${External_CONFIG_TYPE} --build-and-test - ${testf_SOURCE_DIR}/External - ${testf_BINARY_DIR}/External + ${External_SOURCE_DIR} + ${External_BINARY_DIR} --build-noclean --build-two-config --build-project ExtFort diff --git a/Tests/Fortran/Executable/CMakeLists.txt b/Tests/Fortran/Executable/CMakeLists.txt index 40114e4c5..55f21ad46 100644 --- a/Tests/Fortran/Executable/CMakeLists.txt +++ b/Tests/Fortran/Executable/CMakeLists.txt @@ -1,6 +1,6 @@ include_directories(${Library_MODDIR}) -include_directories(${testf_BINARY_DIR}/External) -link_directories(${testf_BINARY_DIR}/External) +include_directories(${External_BINARY_DIR}) +link_directories(${External_BINARY_DIR}) add_executable(subdir_exe2 main.f90) target_link_libraries(subdir_exe2 subdir_mods)