CMake/Tests/CMakeTests
Brad King cc676c3a08 OS X: Detect implicit linker framework search paths
Previously we hard-coded a list of implicit framework directories but
did not account for CMAKE_OSX_SYSROOT or for changes to the list across
OS X versions.  Instead we should automatically detect the framework
directories for the active toolchain.

The parent commit added the "-Wl,-v" option to ask "ld" to print its
implicit directories.  It displays a block such as:

 Framework search paths:
	/...

Parse this block to extract the list of framework directories.

Detection may fail on toolchains that do not list their framework
directories, such as older OS X linkers.  Always treat the paths

 <sdk>/Library/Frameworks
 <sdk>/System/Library/Frameworks
 <sdk>/Network/Library/Frameworks # Older OS X only
 /System/Library/Frameworks

as implicit.  Note that /System/Library/Frameworks should always be
considered implicit so that frameworks CMake finds there will not
override the SDK copies.
2012-12-11 15:15:52 -05:00
..
A/include
ELF Create CMake.ELF test to cover cmELF further 2009-10-27 14:01:31 -04:00
include
.gitattributes Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
CMakeLists.txt Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CMakeMinimumRequiredTest.cmake.in Add tests for uncovered bits of the math and cmake_minimum_required cmake functions. 2009-10-05 16:50:21 -04:00
CMakeMinimumRequiredTestScript.cmake Add tests for uncovered bits of the math and cmake_minimum_required cmake functions. 2009-10-05 16:50:21 -04:00
CheckCMakeTest.cmake CMakeTests: allow to call the check_cmake_test macro with a given file 2012-11-02 12:50:05 +01:00
CheckSourceTreeTest.cmake.in CheckSourceTree: Remove CVS checkout support (#13001) 2012-03-02 10:24:43 -05:00
CompilerIdVendorTest.cmake.in Add alternate per-vendor compiler id detection 2010-02-01 09:03:05 -05:00
ConfigureFile-BadArg.cmake Create CMake.ConfigureFile test for configure_file 2009-09-16 15:09:58 -04:00
ConfigureFile-DirInput.cmake Create CMake.ConfigureFile test for configure_file 2009-09-16 15:09:58 -04:00
ConfigureFile-DirOutput.cmake Create CMake.ConfigureFile test for configure_file 2009-09-16 15:09:58 -04:00
ConfigureFile-NewLineStyle-COPYONLY.cmake Add NEWLINE_STYLE option to configure_file (#3957) 2011-11-28 13:48:59 -05:00
ConfigureFile-NewLineStyle-NoArg.cmake Add NEWLINE_STYLE option to configure_file (#3957) 2011-11-28 13:48:59 -05:00
ConfigureFile-NewLineStyle-ValidArg.cmake Add NEWLINE_STYLE option to configure_file (#3957) 2011-11-28 13:48:59 -05:00
ConfigureFile-NewLineStyle-WrongArg.cmake Add NEWLINE_STYLE option to configure_file (#3957) 2011-11-28 13:48:59 -05:00
ConfigureFile-Relative.cmake Create CMake.ConfigureFile test for configure_file 2009-09-16 15:09:58 -04:00
ConfigureFileTest.cmake.in Add NEWLINE_STYLE option to configure_file (#3957) 2011-11-28 13:48:59 -05:00
DummyToolchain.cmake
ELFTest.cmake.in Create CMake.ELF test to cover cmELF further 2009-10-27 14:01:31 -04:00
EndStuffTest.cmake.in Increase coverage. Intentionally trigger error conditions. Call all the else*/end* functions without proper opening or containing code structure: else, elseif, endforeach, endfunction, endif, endmacro, endwhile. 2009-10-06 14:45:19 -04:00
EndStuffTestScript.cmake Increase coverage. Intentionally trigger error conditions. Call all the else*/end* functions without proper opening or containing code structure: else, elseif, endforeach, endfunction, endif, endmacro, endwhile. 2009-10-06 14:45:19 -04:00
ExecuteScriptTests.cmake Increase coverage. Intentionally trigger error conditions. Call all the else*/end* functions without proper opening or containing code structure: else, elseif, endforeach, endfunction, endif, endmacro, endwhile. 2009-10-06 14:45:19 -04:00
File-Copy-BadArg.cmake
File-Copy-BadPerm.cmake
File-Copy-BadRegex.cmake
File-Copy-EarlyArg.cmake
File-Copy-LateArg.cmake
File-Copy-NoDest.cmake
File-Copy-NoFile.cmake
File-Glob-NoArg.cmake file: remove dead code 2012-11-02 17:10:06 +01:00
File-HASH-Input.txt Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-MD5-BadArg1.cmake Add file(MD5) command to compute cryptographic hash 2011-11-16 10:15:01 -05:00
File-MD5-BadArg2.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-MD5-BadArg4.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-MD5-NoFile.cmake Add file(MD5) command to compute cryptographic hash 2011-11-16 10:15:01 -05:00
File-MD5-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-SHA1-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-SHA224-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-SHA256-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-SHA384-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-SHA512-Works.cmake Fix CMake.File hash test for CRLF checkouts 2011-11-16 11:26:10 -05:00
File-TIMESTAMP-BadArg1.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
File-TIMESTAMP-NoFile.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
File-TIMESTAMP-NotBogus.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
File-TIMESTAMP-Works.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
FileDownloadInput.png Improve FILE(DOWNLOAD) and ExternalProject. 2010-05-27 12:21:56 -04:00
FileDownloadTest.cmake.in file(DOWNLOAD): Change EXPECTED_HASH to take ALGO=value 2012-09-19 11:31:36 -04:00
FileTest.cmake.in CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
FileTestScript.cmake Implement file(UPLOAD (#11286) 2011-02-25 17:26:34 -05:00
FileUploadTest.cmake.in Implement file(UPLOAD (#11286) 2011-02-25 17:26:34 -05:00
FindBaseTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
GetFilenameComponentRealpathTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
GetPrerequisitesTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
GetProperty-Bad-Argument.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Bad-Directory.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Bad-Scope.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Bad-Target.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Bad-Test.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Global-Name.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Missing-Argument.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-No-Cache.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-No-Property.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-No-Source.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-No-Target.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-No-Test.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetProperty-Variable-Name.cmake add test for get_property() errors 2012-03-04 13:43:23 +01:00
GetPropertyTest.cmake.in Add several get_property() tests 2012-11-02 17:10:07 +01:00
If-Invalid-Argument.cmake fix uninitialized var in if(NOT foo bar STREQUAL "foo bar") 2012-01-22 12:15:57 +01:00
IfTest.cmake.in fix uninitialized var in if(NOT foo bar STREQUAL "foo bar") 2012-01-22 12:15:57 +01:00
ImplicitLinkInfoTest.cmake.in OS X: Detect implicit linker framework search paths 2012-12-11 15:15:52 -05:00
IncludeTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
List-Get-CMP0007-Warn.cmake list: add tests for CMP0007 behavior 2012-11-02 17:10:07 +01:00
List-Get-Invalid-Index.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Insert-Invalid-Index.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Invalid-Subcommand.cmake Consolidate list() argument count testing 2012-11-02 17:09:55 +01:00
List-Length-Too-Many-Arguments.cmake Add tests for list() argument count 2012-11-02 17:08:44 +01:00
List-No-Arguments.cmake Add tests for list() argument count 2012-11-02 17:08:44 +01:00
List-Remove_At-Invalid-Index.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Remove_At-Nonexistent-List.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Remove_Duplicates-Nonexistent-List.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Remove_Duplicates-Too-Many-Arguments.cmake Add tests for list() argument count 2012-11-02 17:08:44 +01:00
List-Remove_Item-Nonexistent-List.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Reverse-Nonexistent-List.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Reverse-Too-Many-Arguments.cmake Add tests for list() argument count 2012-11-02 17:08:44 +01:00
List-Sort-Nonexistent-List.cmake Add tests for list() invalid arguments 2012-11-02 17:08:49 +01:00
List-Sort-Too-Many-Arguments.cmake Add tests for list() argument count 2012-11-02 17:08:44 +01:00
ListTest.cmake.in list: add tests for CMP0007 behavior 2012-11-02 17:10:07 +01:00
Make_Directory-NoArg.cmake file: remove dead code 2012-11-02 17:10:06 +01:00
MathTest.cmake.in Add tests for uncovered bits of the math and cmake_minimum_required cmake functions. 2009-10-05 16:50:21 -04:00
MathTestScript.cmake Add tests for uncovered bits of the math and cmake_minimum_required cmake functions. 2009-10-05 16:50:21 -04:00
MessageTest.cmake.in
MessageTestScript.cmake
ModuleNoticesTest.cmake.in ModuleNoticesTest: Do not require "Kitware" copyright 2010-08-17 09:23:35 -04:00
ProcessorCountTest.cmake.in ProcessorCount: Use ERROR_QUIET with execute_process (#11302) 2011-03-18 14:28:24 -04:00
PushCheckStateTest.cmake.in Add macros cmake_push/pop_check_state() as discussed on the list. 2011-07-07 22:09:44 +02:00
SeparateArgumentsTest.cmake.in ENH: Teach separate_arguments() to parse commands 2009-07-14 10:15:47 -04:00
String-MD5-BadArg1.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-MD5-BadArg2.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-MD5-BadArg4.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-MD5-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-SHA1-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-SHA224-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-SHA256-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-SHA384-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-SHA512-Works.cmake Add string(MD5) and string(SHA*) commands to compute hashes 2011-11-16 10:29:35 -05:00
String-TIMESTAMP-AllSpecifiers.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-BadArg1.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-BadArg2.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-BadArg3.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-CustomFormatLocal.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-CustomFormatUTC.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-DefaultFormatLocal.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-DefaultFormatUTC.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-IncompleteSpecifier.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
String-TIMESTAMP-UnknownSpecifier.cmake CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
StringTest.cmake.in CMake: Add TIMESTAMP subcommand to string and file commands 2012-12-05 10:39:10 -05:00
StringTestScript.cmake Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
ToolchainTest.cmake.in Make platform information files specific to the CMake version 2012-08-24 10:52:23 -04:00
VariableWatchTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
VersionTest.cmake.in if: Compare up to 8 components in VERSION tests 2012-09-11 15:59:16 -04:00
While-Endwhile-Alone-Args.cmake add testcases for while()/endwhile() errors 2012-03-01 21:20:49 +01:00
While-Endwhile-Alone.cmake add testcases for while()/endwhile() errors 2012-03-01 21:20:49 +01:00
While-Endwhile-Mismatch.cmake add testcases for while()/endwhile() errors 2012-03-01 21:20:49 +01:00
While-Missing-Argument.cmake add testcases for while()/endwhile() errors 2012-03-01 21:20:49 +01:00
While-Missing-Endwhile.cmake add testcases for while()/endwhile() errors 2012-03-01 21:20:49 +01:00
WhileTest.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00