Commit Graph

19531 Commits

Author SHA1 Message Date
Brad King e7e613efbf OS X: Teach deployment target sanity check about SDK names
Since commit 1786b121 (OS X: Allow CMAKE_OSX_SYSROOT to be a logical SDK
name, 2012-09-21) we support names like "macosx" or "macosx10.7" as the
specified value of CMAKE_OSX_SYSROOT.  Extend the SDK name->path
conversion to save the original value and also convert into a temporary
variable for the Xcode generator.  Re-implement the deployment target
sanity check to detect the version from the transformed path.
2012-09-22 07:43:43 -04:00
Brad King 43b74793de OS X: Further improve default CMAKE_OSX_SYSROOT selection
Since commit 230ea218 (OS X: Improve default CMAKE_OSX_SYSROOT
selection, 2012-09-21) we always set CMAKE_OSX_SYSROOT if any SDK is
found in order to support Makefile generator builds with Xcode >= 4.3
without the command-line tools installed.  However, in the basic
POSIX-only case of the Makefile generator with command-line tools and no
CMAKE_OSX_ARCHITECTURES we should not select any SDK by default.
2012-09-21 14:45:54 -04:00
Brad King 2690738458 OS X: If CMAKE_OSX_SYSROOT is already set do not compute default
The default computation logic is non-trivial.  Do not bother with it if
the value is already known.
2012-09-21 14:45:54 -04:00
Brad King 7995722e91 OS X: Simplify selection of CMAKE_OSX_ARCHITECTURES
Incremental changes to the logic over time have led to simply
initializing the cache entry with the environment value.
2012-09-21 14:45:53 -04:00
Brad King 1786b121b4 OS X: Allow CMAKE_OSX_SYSROOT to be a logical SDK name
Xcode supports SDKROOT values that just name an SDK rather than
specifying the full path to it.  Recognize these values and handle them.
For Xcode we just put the value directly in the generated project file.
For Makefile generators we ask xcodebuild to provide the full path to
the named SDK.

Suggested-by: Jason DiCioccio <jd@ods.org>
2012-09-21 13:31:46 -04:00
Brad King 242f673829 Tests/Assembler: Use CMAKE_OSX_SYSROOT to generate .s file
On OS X if the user-provided flags do not include -isysroot and
CMAKE_OSX_SYSROOT is defined then add the proper -isysroot flag to the C
compiler invocation we use to generate the .s file.
2012-09-21 11:15:23 -04:00
Brad King a1c032b994 bootstrap: Suppress CMAKE_OSX_SYSROOT if CFLAGS have -isysroot
In order to bootstrap on OS X with Xcode without the command line tools
one must add -isysroot to CFLAGS and CXXFLAGS.  In this case the flags
will make it into the configured CMake.  Set CMAKE_OSX_SYSROOT to empty
in the initial cache to prevent CMake from adding -isysroot again.
2012-09-21 10:06:00 -04:00
Brad King 230ea218a7 OS X: Improve default CMAKE_OSX_SYSROOT selection
Simplify the search for OSX_DEVELOPER_ROOT and allow it to fail if no
"/Developer" exists.  When it does exist, always find a MacOSX SDK
inside it to use as the default CMAKE_OSX_SYSROOT.  Otherwise set
CMAKE_OSX_SYSROOT to empty.
2012-09-21 08:59:01 -04:00
Brad King a0a0877a1e OS X: Always generate -isysroot if any SDK is in use
Drop the last use of CMAKE_OSX_SYSROOT_DEFAULT.  Replace internal
platform variable CMAKE_${lang}_HAS_ISYSROOT with a more general
CMAKE_${lang}_SYSROOT_FLAG variable.  If the -isysroot flag exists and
CMAKE_OSX_SYSROOT points to an SDK (not "/") then always add it to
compiler command lines.  This is already done in the Xcode IDE.
2012-09-21 08:53:42 -04:00
Brad King 33a60e6bd1 Xcode: Remove unused code reading CMAKE_OSX_SYSROOT_DEFAULT
The condition for entering the block where the value is used
can never be true anymore.
2012-09-21 08:47:02 -04:00
Kitware Robot bb18bb7f55 CMake Nightly Date Stamp 2012-09-21 00:01:03 -04:00
Kitware Robot 7e4a37800c CMake Nightly Date Stamp 2012-09-20 00:01:02 -04:00
Brad King 8fc88b7eb0 Merge topic 'vs-link-rsp'
5598d9b Ninja: don't expand any rsp files
2012-09-19 13:58:12 -04:00
Brad King d58448544c Merge topic 'ExternalProject-DOWNLOAD_NAME'
8da0fe4 ExternalProject: Add DOWNLOAD_NAME option
2012-09-19 13:58:05 -04:00
Brad King 03077c9cbc Merge topic 'file-DOWNLOAD-user-agent'
14aff4d file(DOWNLOAD): Add HTTP User-Agent string
2012-09-19 13:58:01 -04:00
Brad King fbe7b3cdfc Merge topic 'vs11-express'
7ee3cee VS11: Add VS 2012 Express support (#13348)
e17f345 VS11: Detect VS 2012 Express for default generator (#13348)
2012-09-19 13:57:53 -04:00
Brad King 65af5e90b9 Merge topic 'ninja-rc-compile-flag'
a1c9c13 Ninja: filter target specific compile flags with language specific regex
2012-09-19 13:57:47 -04:00
Brad King d1513950fa Merge topic 'document-MSVC-variables-12567'
f35e35b add documentation for all MSVCxxx version variables (#12567)
2012-09-19 13:57:44 -04:00
Brad King 816e4ca0eb Merge topic 'osx-clang-target-flags'
011d5a4 OS X: Add platform-specific Clang compiler info files (#13536)
2012-09-19 13:57:38 -04:00
Peter Kuemmel 5598d9b2a0 Ninja: don't expand any rsp files 2012-09-19 11:40:47 -04:00
Brad King d407dcdbc8 Merge topic 'generator-expression-refactor'
91011bd cmGeneratorExpression: Port users to two-stage processing
f1eacf0 cmGeneratorExpression: Re-write for multi-stage evaluation
2012-09-19 08:28:16 -04:00
Kitware Robot 281654b5d6 CMake Nightly Date Stamp 2012-09-19 00:01:03 -04:00
Stephen Kelly 91011bd217 cmGeneratorExpression: Port users to two-stage processing
Removing the Process() API and removing the parameters from the
constructor will allow cmGeneratorExpressions to be cached and evaluated
with multiple configs for example, such as when evaluating target
properties.  This requires the creation of a new compiled representation
of cmGeneratorExpression.  The cmListFileBacktrace remains in the
constructor so that we can record where a particular generator
expression appeared in the CMakeLists file.
2012-09-18 17:03:08 -04:00
Stephen Kelly f1eacf0e07 cmGeneratorExpression: Re-write for multi-stage evaluation
The expressions may be parsed and then cached and evaluated multiple
times.  They are evaluated lazily so that literals such as ',' can be
treated as universal parameter separators, and can be processed from
results without appearing literally, and without interfering with the
parsing/evaluation of the entire expression.
2012-09-18 17:02:23 -04:00
David Cole a24830521b Merge topic 'findsdl-unlimited-main-13262'
adf7058 FindSDL: add SDLMAIN_LIBRARY only once (#13262)
2012-09-18 16:42:57 -04:00
David Cole 024bbad230 Merge topic 'cleanup-TLS-and-SSL-interface'
7369a8f file(DOWNLOAD): Make TLS options behave as documented
131d91a Rename SSL terminology to TLS
2012-09-18 16:42:47 -04:00
David Cole 893d84b221 Merge topic 'ExternalProject-check-hashes'
c266461 Add SSL_VERIFYPEER and CAINFO file options to ExternalProject_Add.
beb8a83 ExternalProject: Generalize URL_MD5 option to URL_HASH
2012-09-18 16:42:39 -04:00
David Cole 2183743f8f Merge topic 'vs-simplify-CreateLocalGenerator'
f34321a VS: Remove duplicated implementations of CreateLocalGenerator()
2012-09-18 16:42:30 -04:00
David Cole 9642655c5b Merge topic 'openscenegraph-simplify-fphsa'
248db6c FindOpenSceneGraph: simplify by using more features of FPHSA
2012-09-18 16:42:16 -04:00
David Cole 3e7fe5a7a0 Merge topic 'if-version-depth'
dfa0ebd if: Compare up to 8 components in VERSION tests
2012-09-18 16:41:59 -04:00
David Cole a98881ac8f Merge topic 'NewFindGLEWModule'
fbda7bb Initial version of find module
2012-09-18 16:41:44 -04:00
David Cole 865feff4c1 Merge topic 'qt5-qtdialog-port'
25a4f56 Build with Qt5 if it is found.
717f31a Compile with both Qt4 and Qt5.
066e858 Replace two include_directories with a setting.
430ba9f Use add_subdirectory instead of the obsolete subdirs.
32a5725 Remove an if which is always true.
0b6625c Move variable setting down to where it relates to.
8ab312b Use CMake platform variables instead of Qt ones.
bd728f6 Add a return-after-error if an old Qt is found.
2012-09-18 16:41:31 -04:00
David Cole 3dea63d04d Merge topic 'topics/FindCUDA/Add-CUDA_HOST_COMPILER'
db207e4 FindCUDA: Added CUDA_HOST_COMPILER variable.
2012-09-18 16:41:20 -04:00
Brad King 8da0fe4b53 ExternalProject: Add DOWNLOAD_NAME option
Some download URLs do not have the filename embedded in the url.
Add an interface to specify the local filename explicitly.

Suggested-by: James Goppert <james.goppert@gmail.com>
2012-09-18 16:06:21 -04:00
Brad King 14aff4daf4 file(DOWNLOAD): Add HTTP User-Agent string
Some servers require a User-Agent string.  The curl command-line tool
just sends "curl/$curlver", so do the same.

Suggested-by: Fredrik Ehnbom <fehnbom@nvidia.com>
2012-09-18 14:53:07 -04:00
Brad King 7ee3cee919 VS11: Add VS 2012 Express support (#13348)
Use the registry entries that vsvars32.bat uses to detect the location of
MSBuild.exe in the framework directory.  Invoke MSBuild with the option

 /p:VisualStudioVersion=$version

so it knows from which VS version to load the system build rules.  Teach
cmGlobalVisualStudio11Generator to set its ExpressEdition member using the
registry.
2012-09-18 14:03:02 -04:00
Brad King e17f3458ce VS11: Detect VS 2012 Express for default generator (#13348)
Add WDExpress to the list of registry search locations.  Add VS 11 to
the list of VS versions and corresponding generator names.  Fix the
search logic to use the most recent version found under any registry
entry.

Inspired-by: Peter Kümmel <syntheticpp@gmx.net>
2012-09-18 14:02:01 -04:00
Peter Kümmel a1c9c136c3 Ninja: filter target specific compile flags with language specific regex
sync with Makefile code.

Bug: 13486

Many thanks to Nils Gladitz
2012-09-18 18:02:10 +02:00
Rolf Eike Beer f35e35b058 add documentation for all MSVCxxx version variables (#12567) 2012-09-18 08:45:01 +02:00
Kitware Robot 21f5fc12ee CMake Nightly Date Stamp 2012-09-18 00:01:05 -04:00
Brad King 011d5a4b47 OS X: Add platform-specific Clang compiler info files (#13536)
Clang has the same interface as GNU except that we do not need to test
for the deployment target and sysroot flags.  Simply set variables

 CMAKE_${lang}_HAS_ISYSROOT
 CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG

to true because every version of Clang available on OS X supports these
flags.
2012-09-17 15:36:41 -04:00
Rolf Eike Beer adf705863c FindSDL: add SDLMAIN_LIBRARY only once (#13262) 2012-09-17 20:29:29 +02:00
Brad King 7369a8faee file(DOWNLOAD): Make TLS options behave as documented
The logic added in commit e1c89f08 (file(DOWNLOAD): Add options for SSL,
2012-08-21) did not actually provide the documented behavior.  Simplify
the implementation to read the variable values first and then replace
them with the explicit argument values if encountered.  Always set the
curl option CURLOPT_SSL_VERIFYPEER to either on or off explicitly
instead of depending on the curl default behavior.
2012-09-17 09:03:45 -04:00
Kitware Robot 70169ec1bf CMake Nightly Date Stamp 2012-09-17 00:01:07 -04:00
Kitware Robot 4824633642 CMake Nightly Date Stamp 2012-09-16 00:01:03 -04:00
Kitware Robot 875f3a4231 CMake Nightly Date Stamp 2012-09-15 00:01:04 -04:00
Brad King 131d91a1f9 Rename SSL terminology to TLS
TLS has superseded SSL so rename the recently added file(DOWNLOAD) and
ExternalProject options using the newer terminology.  Drop "CURLOPT"
from names because curl is an implementation detail.
2012-09-14 15:40:09 -04:00
Patrick Gansterer f34321a02d VS: Remove duplicated implementations of CreateLocalGenerator()
The IA64 and Win64 versions of the VS8 and VS9 generators
contain the same code for this function as in the base class.
2012-09-14 12:42:31 +02:00
Kitware Robot c5f36de99e CMake Nightly Date Stamp 2012-09-14 00:01:01 -04:00
Kitware Robot f155e9ae2e CMake Nightly Date Stamp 2012-09-13 00:01:03 -04:00