summaryrefslogtreecommitdiffstats
path: root/Modules/GetPrerequisites.cmake
Commit message (Collapse)AuthorAgeFilesLines
* GetPrerequisites: join if() clausesRolf Eike Beer2014-11-251-18/+4
| | | | | | These all test the same variable for different values, so only one of them can ever be true. This also allows to completely remove one variable that only flagged if one of the conditions matched.
* GetPrerequisites: remove needless variable dereferencingRolf Eike Beer2014-11-251-15/+15
|
* BundleUtilities: Resolve & replace @rpath placeholdersAdam Strzelecki2014-10-101-9/+14
| | | | | | | | | | | | | | | This is done by gathering LC_RPATH commands for main bundle executable and using it for @rpath lookup in dependent frameworks. All functions that need to carry rpaths to now take optional <rpaths> argument. This enabled apps using @rpath to be bundled correctly, which will be necessary for upcoming Qt 5.4 that will use @rpath for all frameworks. Check that install_name_tool has -delete_rpath before using it. Otherwise it will fail with Xcode 3.x on 10.5 which has no -delete_rpath option for install_name_tool command, that was first introduced in 10.6 SDK, even that 10.5 supports LC_RPATH and @rpath.
* GetPrerequisites: Make sure dyld placeholders are prefixesAdam Strzelecki2014-10-101-3/+3
| | | | | Mac OS X dyld placeholders should be always prefixes, otherwise this can lead to some undefined behavior.
* Replace string(REGEX REPLACE) with string(REPLACE) where possibleRolf Eike Beer2014-04-141-4/+4
| | | | The simple replacement is much faster.
* GetPrerequisites: Preserve search path order from caller.Clinton Stimpson2013-11-141-2/+4
|
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-76/+129
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* VS: Avoid leaking child process output back to IDE (#14266)Brad King2013-07-161-1/+0
| | | | | | | | | | | | | | The VS IDE sets the environment variable VS_UNICODE_OUTPUT when executing build rules in order to tell MS tools to report output through a back door instead of through stdout/stderr. Unset this variable so that CMake can capture or properly redirect all output from processes it runs even when running inside a VS IDE build environment. This generalizes the special cases fixed by commit 80d045b0 (When GetPrerequisites.cmake runs dumpbin while running inside the VS IDE..., 2008-05-01) and commit 44aff73d (ExternalProject: Avoid bleed-through output when logging, 2011-01-06), so drop special handling of VS_UNICODE_OUTPUT in those instances.
* GetPrerequisites: Add documentation for objdumpMichael Tänzer2013-03-011-0/+1
| | | | Signed-off-by: Michael Tänzer <neo@nhng.de>
* GetPrerequisites: Add support for objdumpMichael Tänzer2013-02-281-2/+18
| | | | | | Make it usable on MinGW without Visual Studio installed. Signed-off-by: Michael Tänzer <neo@nhng.de>
* GetPrerequisites: Move tool search paths upMichael Tänzer2013-02-281-17/+18
| | | | | | Make them usable in the gp_tool selection heuristic. Signed-off-by: Michael Tänzer <neo@nhng.de>
* GetPrerequisites: Mark file_cmd as advanced cache entryBrad King2012-08-141-0/+1
| | | | | This internal implementation detail should not pollute the main cache view of projects that include GetPrerequisites.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-97/+97
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* GetPrerequisites.cmake: detect executables built with the -pie linker flag.Clinton Stimpson2012-07-051-0/+8
|
* GetPrerequisites: Add support for @rpath on Mac OS X.Clinton Stimpson2012-01-201-6/+11
| | | | | | Change to consider a library embedded if it is found in a subdirectory relative to the using executable/library. Previous commit considered them local. This case is encountered when @rpath is used with framework libraries, which are inside a directory tree.
* GetPrerequisites: Add support for @rpath on Mac OS X.Clinton Stimpson2011-11-211-3/+27
| | | | | | | | Handle @rpath much like other Unixes, by doing a find_file with the given directories. Also, consider a library to be local if it is found in the same directory or a subdirectory relative to the user executable/library. Previously, it was local only if found in the same directory. This case is encountered when @rpath is used with framework libraries, which are inside a directory tree.
* Usage: Add missing exepath argument in get_prerequisites documentation.Nicolas Despres2011-10-231-1/+1
|
* BundleUtilities: Fix regex to extract dependents from ldd (#12034)Clinton Stimpson2011-05-311-1/+1
| | | | This regex works with spaces in the path.
* BundleUtilities: Work w/ non .app exes on Mac (#12034)Clinton Stimpson2011-05-271-2/+2
| | | | | | | | | | | | Also add a test of BundleUtilities including an exe, some shared libs, a plugin, and a framework-style lib. This test presently runs (and this functionality works) on Linux, Mac and Windows. For now, the framework-style lib is built as a plain old shared lib because there is another yet-unresolved issue with local frameworks without rpaths on the Mac.
* Fixes to GetPrerequisites for cygwinDavid Partyka2010-10-271-8/+28
| | | | Fix IF(WIN32) guards check for cygwin. Fix checking if the depenency is in a system location to use cygwin style paths on cygwin. Also change GetPrerequisites to switch gp_tool to tools that are very unlikely to be found, ie. dumpbin on Apple and otool on Windows/Unix.
* Append the gp_tool path to the system PATH using native slashes.David Partyka2010-10-261-0/+1
|
* Remove unecessary TO_CMAKE_PATH for gp_cmd_dir.David Partyka2010-10-261-1/+0
| | | | It is already using CMAKE style paths.
* Switch to CMAKE_PATH when doing PATH comparisons on Windows.David Partyka2010-10-261-2/+5
| | | | | | | | Users PATH may contain elements that end with backslash. This will escape the semicolon when iterating resulting in mismatches. Fix indentation. Fix whitespace
* Fixed appending PATH to dumpbin tool from growing without bounds.David Partyka2010-10-251-2/+10
| | | | IF(... MATCHES ...) used for comparing directories chokes especially in the case of C:\Program Files (x86)\<blah> because of regex pattern matching. Switched this to use STREQUAL in a loop instead.
* Avoid adding self as prerequisite. (#10417)David Cole2010-09-081-2/+23
| | | | Thanks to Clinton Stimpson for the patch.
* Refine formatting for cmake --help-module output.David Cole2010-08-251-6/+4
| | | | Also refer to self as module, not script.
* Merge branch 'patches/docBundleUtilities'David Cole2010-08-251-110/+91
|\ | | | | | | | | | | | | | | | | | | | | of http://github.com/themiwi/CMake into fix-10747 Conflicts: Modules/BundleUtilities.cmake There was one newly added function in BundleUtilities.cmake which also needed the same "documentation at top" treatment.
| * Improve documentation of GetPrerequisites.cmakeMichael Wild2010-05-231-110/+91
| | | | | | | | | | | | | | Put the function documentation into the header-comment, improve formatting and list the user-relevant functions first. Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
* | Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
| |
* | Fix regression in 5e6634fd77969433a87c150a2fb3f2079131484f for Windows.Clinton Stimpson2010-06-241-3/+3
| |
* | Fix bug 10418 - GetPrerequisites returning "not" as a dependency.Clinton Stimpson2010-06-241-1/+12
|/ | | | | ldd can return "not found" and we need to handle it correctly. In that case, we extract only the name of the library instead of trying for its full path.
* ENH: Hook in GetPrerequisites to override item typeMichael Wild2010-03-171-0/+11
| | | | | | The hook is called gp_resolved_file_type_override. Signed-off-by: Michael Wild <themiwi@users.sourceforge.net>
* Consider a windows directory named syswow* a 'system' directory for ↵David Cole2009-12-111-1/+1
| | | | GetPrerequisites.cmake purposes.
* Fix issue #9395 - only return true for .exe files on Windows from the ↵David Cole2009-09-281-4/+4
| | | | is_file_executable function. Makes behavior of this function conceptually consistent with Mac and Linux behavior. Thanks to Clinton Stimpson for the patch.
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+12
| | | | | | | This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
* Overhaul GetPrerequisites and BundleUtilities: make fixup_bundle do ↵David Cole2009-08-051-111/+211
| | | | | | something useful on Windows and Linux. Formerly, fixup_bundle was useful only on the Mac for making standalone bundle applications that could be drag-n-drop moved to anyplace in the file system. fixup_bundle is not just for the Mac any more. It will now analyze executable files on Windows and Linux, too, and copy necessary non-system dlls to the same folder that the executable is in. This should work with dlls that you build as part of your build and also with 3rd-party dlls as long as you give fixup_bundle the right list of directories to search for those dlls. Many thanks to Clinton Stimpson for his help in ironing out the details involved in making this work.
* BUG: make sure list is not size 0 before sortBill Hoffman2008-12-041-2/+4
|
* ENH: Activate GetPrerequisites code on Linux. Thanks to Mike Arthur for ↵David Cole2008-10-241-4/+12
| | | | finishing it off.
* ENH: do not add the same thing to the PATH again and againBill Hoffman2008-09-081-2/+4
|
* ENH: Add BundleUtilities.cmake and supporting changes to ↵David Cole2008-09-061-29/+200
| | | | GetPrerequisites.cmake. Function copy_and_fixup_bundle in BundleUtilities helps to make standalone bundle applications on the Mac by pulling in prerequisite non-system libraries and frameworks as needed. Uses otool and install_name_tool to do analysis and fixups. Project-specific hooks for deciding where to embed libraries and for resolving item names into full path file names are also provided.
* ENH: When GetPrerequisites.cmake runs dumpbin while running inside the VS ↵Brad King2008-05-011-0/+1
| | | | IDE environment make sure the tool does not produce extra output.
* ENH: Add script GetPrerequisites.cmake to help analyze what shared libraries ↵David Cole2008-03-041-0/+491
executable files depend on. Primary uses are to determine what shared libraries should be copied into Mac OSX bundle applications to create standalone bundles apps and to determine what shared library files need to be installed for an executable to run on any platform. Requires native platform tools dumpbin, otool and ldd to generate results.