| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
5f05a3c MinGW: Support long object file lists
2d9bb33 Evaluate <OBJECT_DIR> rule variable for executables
|
| |
| |
| |
| |
| |
| |
| | |
Use a combination of response files and the archiver to support long
object file lists that do not fit in the Windows command-line length
limit. This can work only with GCC >= 4 because the MinGW GCC 3.x
front-ends do not support response-file syntax.
|
|\ \
| |/
|/|
| |
| | |
c04af06 Add module-dir flag for Compaq Visual Fortran (#11248)
|
| |
| |
| |
| | |
This compiler uses "-module:" to specify where modules should be placed.
|
|\ \
| | |
| | |
| | |
| | | |
11a917d HP-UX: Always add /usr/lib to rpath (#10571)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Set CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH in the HP-UX platform file to
tell CMake to pass -Wl,+b,/usr/lib no matter whether RPATH is enabled or
not. This corrects the behavior of -Wl,+nodefaultrpath to look in this
default library path as documented.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
3b7da53 Fix for bug 10388, fix various default flags.
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| | |
Include this prefix in CMAKE_SYSTEM_PREFIX_PATH so that it will be used
for all find* commands. Previously only find_library and find_path
would look under /opt/local/lib and /opt/local/include, respectively.
|
|\ \
| | |
| | |
| | |
| | | |
7083c81 Add platform files for BlueGene/P systems
|
| | |
| | |
| | |
| | |
| | |
| | | |
BlueGeneP-base: Internal base shared by static and dynamic files
BlueGeneP-static: Platform file for all-static builds
BlueGeneP-dynamic: Platform file for "default" dynamic builds
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
4b1e5f0 Pass objects to Intel linker using a response file
|
| | |
| | |
| | |
| | |
| | |
| | | |
Use response files for C and CXX languages with the Intel compiler on
Windows. We already used them for Fortran. This enables creation of
libraries and executables with a very large number of object files.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
2cde67a Modules: Fix spelling 'To distributed' -> 'To distribute'
|
| |/ / |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
b03f4ec No response files with GNU ld <= 2.16 (#10913)
|
| | |
| | |
| | |
| | |
| | | |
Older GNU ld does not support the @FILE syntax for response files.
Check the ld version on MinGW and MSYS before enabling the syntax.
|
| |/
|/|
| |
| |
| | |
Define use of -rpath-link and --export-dynamic flags. The toolchain on
Hurd is GNU-based so we can use the values from Linux.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tru64's make(1) resolves relative paths in "include" directives with
respect to the includer. This is inconsistent with all other known make
tools. Note that this make tool treats the path literally so we cannot
use our standard FULL path code which escapes spaces. Instead qualify
the paths with $(CMAKE_BINARY_DIR) to avoid the problem.
|
|\ \ \
| |/ /
|/| /
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Windows command lines are limited to about 32K so we need to use
response files for linking very large lists of object files.
See issue #10401.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 82c081ba (Fix rpath-link flag for SunPro C++ on Linux,
2009-07-13) taught CMake to pass '-rpath-link' because SunPro C++ 5.9
does not support '-Wl,'. Now SunPro C++ 5.11 does not recognize the
option without using '-Wl,'. Detect whether to use '-Wl,' based on the
output of "sunCC -flags".
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | | |
Add the <LINK_FLAGS> rule variable in Watcom command lines.
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
The ENABLE_EXPORTS property exports all symbols from executables on
UNIX-like platforms, typically for use by plugins. Honor this behavior
on Cygwin. See issue #10122.
|
|/ /
| |
| |
| |
| |
| |
| | |
Map to the platform and compiler information for GNU because the
compilers are command-line compatible for common operations. Later we
can add Clang-specific features as necessary. We honor the preferred
capitalization is "Clang", not the common mis-spelling "CLang".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The expectation of users of the MSVC60, MSVC70, MSVC71, MSVC80, MSVC90
and the new MSVC10 variables is that at most one of them will be set
for any given build tree. This change enforces that expectation for
build trees using Makefile generators. It also fixes the one mismatch
in that expectation to be found in the Visual Studio generator world:
previously, the VS 7.1 generator would set *both* MSVC70 and MSVC71;
now, it only sets MSVC71.
With these changes, user expectations are now met, and the recently
introduced CheckCompilerRelatedVariables test should pass everywhere.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As reported on the mailing list, find_path/file/library/program() basically don't work
at all if CMAKE_FIND_ROOT_PATH is set and searching in the host system directories
is disabled. This patch adds /include, /lib and /bin to the search directories, so they
will be appended to CMAKE_FIND_ROOT_PATH so this will work for the "Generic" platform (embedded
systems without OS)
Alex
|
| |
| |
| |
| |
| |
| |
| | |
Detect the runtime linker's search path and add to the compile time
linker's search path. This is needed because OpenBSD's static linker
does not search for shared library dependencies in the same places as
the runtime linker.
|
|/ |
|
|
|
|
|
|
|
|
| |
Commit "Modernize GNU compiler info on Windows" (2009-12-02) reorganized
GNU flags on Windows but let -fPIC slip through for compilation of
objects in shared libraries. While this flag is valid on most GNU
compiler platforms we need to suppress it in Windows-GNU.cmake just as
we already do in CYGWIN-GNU.cmake.
|
|
|
|
| |
always be the empty string. When the value of CMAKE_OSX_DEPLOYMENT_TARGET is the empty string, the -mmacosx-version-min flag should not show up on the compiler command line. The logic for selecting default value of CMAKE_OSX_SYSROOT is orthogonal to and independent of the value of the deployment target. The default value for CMAKE_OSX_SYSROOT is the SDK that corresponds to the current version of Mac OSX on which cmake is running.
|
|
|
|
|
|
|
|
|
|
| |
In commit "use export all symbols on cygwin" (2003-01-21) we started
passing -Wl,--export-all-symbols when linking shared libraries. Now
cygwin exports all symbols automatically if no symbols are explicitly
exported. When symbols are explicitly exported we want to honor that
narrow interface. Therefore this flag should not be passed.
Change based on patch from issue #10122.
|
|
|
|
|
|
|
|
| |
The variable should contain the name of a library needed to link the
symbol equivalent to dlopen. On Cygwin no special library is needed,
and certainly not "gdi32".
Change based on patch from issue #10122.
|
|
|
|
|
|
|
|
| |
We add platform-specific compiler information files
Platform/Linux-PathScale-<lang>.cmake
to enable -fPIC and -shared flags for shared libraries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While Cygwin supports linking directly to .dll files, the behavior is
now discouraged. All Cygwin packages now provide import libraries of
the form lib*.dll.a and CMake has built the import libraries for years.
We believe it is now safe to stop explicitly searching for .dll files
because their import libraries will always be available when the
corresponding header files are available. Users can always set
find_library cache entries to point at a .dll file by hand if they
really must use one.
Change based on patch from issue #10122.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit "Find locally installed software first" made /usr/local the first
prefix searched to be consistent with the Filesystem Hierarchy Standard:
http://www.pathname.com/fhs/
The standard also implies that the root prefix "/" should not have any
package or development files. The "/bin" and "/lib" directories should
have only minimal contents to boot the system. No "/include" ever
exists. This commit re-orders the search path prefix list from
/usr/local
/
/usr
to
/usr/local
/usr
/
to prefer package and development files over low-level system files.
See issue #10136.
On Cygwin /usr/lib == /lib and /usr/bin == /bin. This change also makes
search results report locations as "/usr/..." instead of "/lib/...".
See issue #10122.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit "Drop -rdynamic from Linux build rules" removed default use
of the flag on Linux. It was expected to be compatible because any
project using plugins should set ENABLE_EXPORTS on its executables to
export their symbols for use by the plugins in a cross-platform way.
However, it is possible to build without ENABLE_EXPORTS and load plugins
that do not link to any symbols from the executable explicitly. These
plugins may need to see RTTI and other executable symbols needed by the
language implementation. Executables using such plugins were broken by
the change.
If we want to remove the -rdynamic flag in the future we should do so in
a compatible way. At that time we should also remove equivalent flags
on other platforms (like -bexpall on AIX). We will either need a policy
or an explicit API to disable symbol exports on executables.
The primary purpose of the above-mentioned commit was to avoid passing
the -rdynamic flag to compilers on Linux that do not support it. In
this commit we restore the flag but only on GNU and Intel compilers
which are known to support it.
See issue #9985.
|
|
|
|
|
| |
This macro will be used for GNU compiler flags that are specific to
Linux but not to any language.
|
|
|
|
| |
the MACOSX_DEPLOYMENT_TARGET environment variable. The problem was that we were setting the initial SDK value based on our own internal default value for deplyment target rather than the user's environment variable choice. The solution is to base the default value for the SDK on the deployment target variable after initially caching the deployment target... Every time I'm in this code I think I leave it cleaner, only to be proven otherwise. Let's give this one a whirl. Bleh.
|
|
|
|
|
|
| |
CMAKE_OSX_SYSROOT is set.
Default to "" for CMAKE_OSX_DEPLOYMENT_TARGET if CMAKE_OSX_SYSROOT is set. Also, add new error message to detect the case where there is a deployment target, but no SDK has been set. Fix args to STRING REGEX call so that it works even if _sdk_path variable is empty inside sanity check function.
|
|
|
|
|
|
|
|
| |
We remove the shared library compile/link flags "-fPIC" and "-shared"
because they are not provided by all compilers on Linux. This allows us
to drop code from the Linux-XL-*.cmake files that erases the bad flags.
All other supported compilers already provide their correct flags for
Linux in their own platform information files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We factor flags from Platform/Linux-PGI-Fortran.cmake into language
independent helper modules
Compiler/PGI.cmake
Platform/Linux-PGI.cmake
and invoke the macros from
Compiler/PGI-<lang>.cmake
Platform/Linux-PGI-<lang>.cmake
This enables general support for the PGI compilers.
|
|
|
|
|
| |
The CMAKE_DL_LIBS variable is set platform-wide by Linux.cmake so we do
not need to duplicate it in Linux-SunPro-<lang>.cmake files.
|
|
|
|
|
| |
We consolidate duplicate code from Platform/Linux-Intel-<lang>.cmake
files into a macro defined in Platform/Linux-Intel.cmake.
|
|
|
|
|
|
|
|
|
|
|
| |
The commit "Split GNU compiler information files" intended to move GNU
flags from the platform-wide Platform/SunOS.cmake module into
Platform/SunOS-GNU-<lang>.cmake
using a helper module Platform/SunOS-GNU.cmake to consolidate flags.
However, it accidentally put Fortran flags in the C language module and
left out the Fortran module altogether. This fixes those mistakes.
|