summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Windows-cl.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Modernize MSVC compiler information filesBrad King2012-08-301-165/+0
| | | | | | | Remove the old-style "Windows-cl.cmake" and its helper "cl.cmake". Load the information through new-style "Platform/Windows-MSVC-<lang>.cmake" files. Factor information common to C and CXX into a helper file "Platform/Windows-MSVC.cmake" loaded from the per-language files.
* VS: Simplify MSVC version reportingBrad King2012-08-301-85/+42
| | | | | | | | | Teach Windows-cl.cmake to use CMAKE_(C|CXX)_COMPILER_VERSION to set the "MSVC##" and MSVC_VERSION variables. It no longer needs the IDE generator to dictate the version or to detect the version by running the command-line tool for NMake and Ninja generators. Drop configuration of CMakeCPlatform.cmake and CMakeCXXPlatform.cmake from Windows-cl.cmake.in because all the results it saved are now cheap to compute every time.
* VS: Remove support for "free" version 2003 toolsBrad King2012-08-231-56/+11
| | | | | | | Several more recent Visual Studio Express editions are now available and they support debug builds. Simplify our VS platform files by removing support for these old tools. If anyone still uses them we can restore support with a more modern way to test for them.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-28/+28
| | | | | | | | | | | | | | | | | 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
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-189/+189
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-11/+11
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* Ninja: don't define MSVC_IDE when using the ninja generatorPeter Kuemmel2012-02-181-2/+2
| | | | Thanks to Oscar Fuentes
* Add VisualStudio 9 and 10 generators for Itanium platformMatej Hribernik2011-06-201-2/+2
|
* Fix incremental linking for VS2010 with nmake or make.Bill Hoffman2010-12-091-0/+2
| | | | | | VS2010 deprecated /INCREMENTAL:YES. This change makes /INCREMENTAL the flag to use for incremental linking with VS2010.
* Fix Windows-cl.cmake so that at most one MSVC** variable is defined.David Cole2010-05-051-23/+4
| | | | | | | | | | | | | 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.
* Change the way 32/64 bit compiles are detected with MSVC and intel makefile ↵Bill Hoffman2009-11-201-30/+11
| | | | builds. Use the platform ID preprocessor approach.
* Move /MANIFEST flag into -E vs_link. This is so it can be used by the intel ↵Bill Hoffman2009-09-011-1/+1
| | | | compilers without having to specifiy it in the intel compiler files
* ENH: remove debug messageBill Hoffman2009-07-151-1/+0
|
* ENH: do not use /INCREMENTAL:YES with VS 10 compilerBill Hoffman2009-07-151-4/+16
|
* ENH: fix problem where rc language recursively included itself because ↵Bill Hoffman2008-10-141-4/+1
| | | | CMAKE_BASE_NAME was used from c compiler, do the same fix for other uses of CMAKE_BASE_NAME
* ENH: better error message for mis-configured nmake environmentBill Hoffman2008-10-141-1/+4
|
* ENH: undo optional because we need itBill Hoffman2008-06-241-3/+0
|
* ENH: rc is not so optional at least with 2005 and newer, as it is used to ↵Bill Hoffman2008-06-241-1/+1
| | | | embed the manifest files
* ENH: make rc optionalBill Hoffman2008-06-231-1/+4
|
* ENH: fix c flags for 2003 free command line toolsBill Hoffman2008-03-131-9/+8
|
* BUG: Do not place $(CMAKE_COMMAND) in link scripts.Brad King2008-03-011-4/+4
|
* ENH: make sure MSVC90 is setBill Hoffman2008-01-181-0/+4
|
* ENH: add ability to have manifest files and incremental linking with make ↵Bill Hoffman2008-01-011-14/+4
| | | | and nmake
* ENH: add support for vs 2008 beta 2Bill Hoffman2007-09-171-5/+17
|
* ENH: use WindowsPaths.cmake on all Windows platforms, not only for cl, makesAlexander Neundorf2007-08-021-1/+0
| | | | | | | the mingw cross compiler work out of the box and should help mingw users on windows with a common install dir Alex
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-50/+1
| | | | | | | | | | | | | | | | | | | | | | | | -add a RESULT_VARIABLE to INCLUDE() -add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain -have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system) -use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to run the executables if they have a different suffix because they are probably crosscompiled, but nevertheless it should be able to find them -make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE -support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.) -move ranlib on OSX from the file command to a command in executed in cmake_install.cmake -add support for stripping during install in cmake_install.cmake -split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools -remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms -create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these -add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a list of directories which will be prepended to all search directories, right now as a cmake variable, turning it into a global cmake property may need some more work -remove cmTestTestHandler::TryExecutable(), it's unused -split cmFileCommand::HandleInstall() into slightly smaller functions Alex
* ENH: Added support for import libraries created by executable and module ↵Brad King2007-03-191-4/+3
| | | | targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly.
* BUG: Fixed MSVC8 module build rule to not use /implib option. This is an ↵Brad King2007-03-101-8/+12
| | | | incremental fix for bug#4210.
* BUG: Shared library creation should use /implib option to specify the name ↵Brad King2007-03-091-6/+7
| | | | of the import library explicitly. This is an incremental step for bug #4210.
* BUG: Get rid of ancient variables CMAKE_CXX_WARNING_LEVEL, ↵Brad King2007-03-071-5/+1
| | | | CMAKE_CXX_USE_RTTI, CMAKE_CXX_STACK_SIZE which are only partially implemented and now taken care of by flag mapping anyway.
* BUG: use different commands for shared libraries and exe for manifest stuff ↵Bill Hoffman2006-11-111-2/+2
| | | | fix for bug#4039
* ENH: Adding image version number (major.minor) property to windows binaries. ↵Brad King2006-10-161-3/+3
| | | | Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219.
* BUG: fix for bug#3652 use link /lib instead of libBill Hoffman2006-10-031-1/+1
|
* ENH: Adding flags to force generation of manifest files when building with VC 8.Brad King2006-08-151-6/+13
|
* ENH: Enabled generation of preprocessed and assembly source rules for MSVC ↵Brad King2006-08-091-0/+12
| | | | with NMake.
* BUG: fix for bug 3550, for release builds do not build incrementalBill Hoffman2006-07-261-6/+20
|
* BUG: fix for CXX only projectsKen Martin2006-07-241-3/+7
|
* ENH: centralized locaiton of CMakeFiles settingKen Martin2006-06-141-12/+12
|
* ENH: removed logo info from the manifest toolKen Martin2006-06-121-3/+3
|
* ENH: Makefile performance improvementsKen Martin2006-05-021-6/+6
|
* ENH: name pdb files for visual studio make based buildsBill Hoffman2006-04-191-5/+5
|
* ENH: unix makefiles should work with clBill Hoffman2006-04-191-2/+2
|
* ENH: don't need two of theseBill Hoffman2006-04-191-4/+0
|
* ENH: test for vs8 correctlyBill Hoffman2006-04-191-0/+4
|
* ENH: check for version 1400Bill Hoffman2006-04-191-0/+4
|
* ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables ↵Brad King2006-04-111-12/+4
| | | | CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway.
* ENH: add better variables for MSVC versionsBill Hoffman2006-04-071-11/+25
|
* BUG: Fixed order of options to cl for 32-bit/64-bit test to work with VS 6 ↵Brad King2006-03-301-4/+5
| | | | NMake.
* ENH: add support for win64 for visual studio 2005 ide and nmake, also fix ↵Bill Hoffman2006-03-301-1/+32
| | | | warnings produced by building for win64
* BUG: /DWIN32 and /D_WINDOWS should be defined for all configurations or if ↵Brad King2006-03-161-30/+30
| | | | no configuration is set.