1. 24 Aug, 2012 1 commit
    • Brad King's avatar
      Make platform information files specific to the CMake version · 7195aca5
      Brad King authored
      At the top of a build tree we configure inside the CMakeFiles directory
      files such as "CMakeSystem.cmake" and "CMake<lang>Compiler.cmake" to
      save information detected about the system and compilers in use.  The
      method of detection and the exact results store varies across CMake
      versions as things improve.  This leads to problems when loading files
      configured by a different version of CMake.  Previously we ignored such
      existing files only if the major.minor part of the CMake version
      component changed, and depended on the CMakeCache.txt to tell us the
      last version of CMake that wrote the files.  This led to problems if the
      user deletes the CMakeCache.txt or we add required information to the
      files in a patch-level release of CMake (still a "feature point" release
      by modern CMake versioning convention).
      
      Ensure that we always have version-consistent platform information files
      by storing them in a subdirectory named with the CMake version.  Every
      version of CMake will do its own system and compiler identification
      checks even when a build tree has already been configured by another
      version of CMake.  Stored results will not clobber those from other
      versions of CMake which may be run again on the same tree in the future.
      Loaded results will match what the system and language modules expect.
      
      Rename the undocumented variable CMAKE_PLATFORM_ROOT_BIN to
      CMAKE_PLATFORM_INFO_DIR to clarify its purpose.  The new variable points
      at the version-specific directory while the old variable did not.
      7195aca5
  2. 22 Aug, 2012 7 commits
    • Brad King's avatar
      Cleanly enable a language in multiple subdirectories · ec22a9b5
      Brad King authored
      When a language is not enabled at the top level of a project but is
      enabled in multiple disjoint subdirectories we should re-use the
      CMake<lang>Compiler.cmake file from the first directory.  Load the file
      whenever it exists and is not left from a different version of CMake.
      ec22a9b5
    • Brad King's avatar
      VS: Detect the compiler id and tool location · 66cb3356
      Brad King authored
      Configure a hand-generated Visual Studio project to build the compiler id
      source file since we cannot run the compiler command-line tool directly.
      Add a post-build command to print out the full path to the compiler tool.
      Parse the full path to the compiler tool from the build output.
      66cb3356
    • Brad King's avatar
      VS10: Define CMAKE_VS_PLATFORM_TOOLSET variable · 89595d6b
      Brad King authored
      When the VS 10 generator selects a non-default PlatformToolset to
      specify for MSBuild, report the selected name in this variable.
      89595d6b
    • Brad King's avatar
      Xcode: Detect the compiler id and tool location · 965a69dc
      Brad King authored
      Configure a hand-generated Xcode project to build the compiler id source
      file since we cannot run the compiler command-line tool directly.  Add a
      post-build shell script phase to print out the compiler toolset build
      setting.  Run xcodebuild to compile the identification binary.  Parse
      the full path to the compiler tool from the xcodebuild output.
      965a69dc
    • Brad King's avatar
      CMakeDetermineCompilerId: Prepare to detect IDE compiler id · 9a9e1ee9
      Brad King authored
      Teach CMAKE_DETERMINE_COMPILER_ID to check for variable
      CMAKE_${lang}_COMPILER_ID_TOOL after CMAKE_DETERMINE_COMPILER_ID_BUILD
      to use as CMAKE_${lang}_COMPILER since it will not be known until after
      the IDE runs.
      
      In CMAKE_DETERMINE_COMPILER_ID_BUILD prepare a cascading "if" so we can
      use a generator-specific method to compile the identification source
      file.  Leave "if(0)" as a placeholder for now and put the direct
      compiler invocation in "else()".  After running the compiler to build
      the compiler identification source we file(GLOB) the list of output
      files as candidates for extracting the compiler information.  An IDE may
      create directories, so exclude exclude directories from this list.
      9a9e1ee9
    • Brad King's avatar
      Re-order C/C++/Fortran compiler determination logic · b8b5c834
      Brad King authored
      Re-organize CMakeDetermine(C|CXX|Fortran)Compiler.cmake to search for
      the compiler command-line tool only under generators for which it makes
      sense.  For the Visual Studio generators we do not expect to find the
      compiler tool from the environment, nor would we use the result anyway.
      
      Furthermore, set CMAKE_${lang}_COMPILER_ID_TEST_FLAGS only when it has a
      chance to be used.  Extract _CMAKE_TOOLCHAIN_LOCATION from the compiler
      path after running the compiler id step so in the future that step can
      help find the path to the compiler.
      b8b5c834
    • Patrick Gansterer's avatar
      VS: Cleanup AddPlatformDefinitions() of Visual Studio generators · 2c7a451d
      Patrick Gansterer authored
      Move adding of definitions into cmGlobalVisualStudioGenerator to
      share code and avoid duplicate architecture string literals.
      2c7a451d
  3. 15 Aug, 2012 1 commit
  4. 14 Aug, 2012 6 commits
  5. 13 Aug, 2012 21 commits
  6. 12 Aug, 2012 1 commit
  7. 11 Aug, 2012 1 commit
  8. 10 Aug, 2012 2 commits