Просмотр исходного кода

Merge topic 'find_path-in-framework'

188baef0 find_path: Fix location of <dir/header.h> in a framework on OS X
Brad King 9 лет назад
Родитель
Сommit
8632251b25

+ 1 - 1
Source/cmFindPathCommand.cxx

@@ -117,7 +117,7 @@ std::string cmFindPathCommand::FindHeaderInFramework(std::string const& file,
     if (this->IncludeFileInPath) {
       return fheader;
     }
-    fheader = cmSystemTools::GetFilenamePath(fheader);
+    fheader.resize(fheader.size() - file.size());
     return fheader;
   }
   return "";

+ 0 - 0
Tests/RunCMake/find_path/Frameworks/Foo.framework/Headers/Some/Dir/Header.h


+ 1 - 0
Tests/RunCMake/find_path/FrameworksWithSubdirs-stdout.txt

@@ -0,0 +1 @@
+-- SOME_INCLUDE_DIR='[^']*Tests/RunCMake/find_path/Frameworks/Foo.framework/Headers'

+ 3 - 0
Tests/RunCMake/find_path/FrameworksWithSubdirs.cmake

@@ -0,0 +1,3 @@
+set(CMAKE_FRAMEWORK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Frameworks")
+find_path(SOME_INCLUDE_DIR "Some/Dir/Header.h")
+message(STATUS "SOME_INCLUDE_DIR='${SOME_INCLUDE_DIR}'")

+ 4 - 0
Tests/RunCMake/find_path/RunCMakeTest.cmake

@@ -3,3 +3,7 @@ include(RunCMake)
 if(WIN32 OR CYGWIN)
   run_cmake(PrefixInPATH)
 endif()
+
+if(APPLE)
+  run_cmake(FrameworksWithSubdirs)
+endif()