summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Fix if() command and CMP0012 OLD/NEW behaviorBrad King2009-10-274-94/+127
| | | | | | | | | | | | | | The commit "modified the if command to address bug 9123 some" changed the if() command behavior with respect to named boolean constants. It introduced policy CMP0012 to provide compatibility. However, it also changed behavior with respect to numbers (like '2') but did not cover the change with the policy. Also, the behavior it created for numbers is confusing ('2' is false). This commit teaches if() to recognize numbers again, and treats them like the C language does in terms of boolean conversion. We also fix the CMP0012 check to trigger in all cases where the result of boolean coersion differs from that produced by CMake 2.6.4.
* Report expanded arguments in if() command errorsBrad King2009-10-271-20/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The if() command reports its arguments at the beginning of some error messages. Originally it reported the un-expanded form of the arguments because in ancient CMake versions no context information was available. Now it is more useful to see the real arguments, which may be mentioned in the main error message. Since full context information is now available, users can refer back to the source if they need to see the unexpanded form of the arguments. For example, the code set(regex "++") if("x" MATCHES "${regex}") endif() now produces the message if given arguments: "x" "MATCHES" "++" Regular expression "++" cannot compile instead of if given arguments "x" MATCHES "${regex}" Regular expression "++" cannot compile
* KWSys Nightly Date StampKWSys Robot2009-10-271-1/+1
|
* Correct one of the valgrind errors from the CPackTestAllGenerators test. Do ↵David Cole2009-10-261-3/+6
| | | | not use auto_ptr on a new [] allocation because auto_ptr does not use delete [].
* ENH: Move SetErrorMode around calls to generate and configure instead of ↵Clinton Stimpson2009-10-262-9/+21
| | | | setting it for the whole application.
* Fix Xcode dylib version defaultBrad King2009-10-261-10/+10
| | | | | | | | | | The commit "Set version info for shared libs on OSX" taught the Xcode generator to honor VERSION and SOVERSION properties. However, it also set version '1.0.0' as the default when no version property is set, which is inconsistent with the Makefiles generator. This commit fixes the default to '0.0.0' for consistency. See issue #9773.
* Add a ctest test to cover cmCTestBatchTestHandler. Since its behavior isn't ↵Zach Mullen2009-10-261-4/+4
| | | | fully defined yet, we just run it as is and don't care much about the result.
* Revert "Always set OutputPath in VS 10 projects"Brad King2009-10-261-3/+0
| | | | | | | | | | | The reverted commit attempted to preserve the "../" PREFIX work-around for avoiding per-config build directories in the VS IDE generators. However, the original reporter has concluded that a "../" PREFIX no longer works everywhere in VS 10 project files anyway. Rather than set OutputPath, this commit restores the $(OutDir)$(TargetName)$(TargetExt) default. See issue #9768.
* KWSys Nightly Date StampKWSys Robot2009-10-261-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-10-251-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-10-241-1/+1
|
* Fix the showing of non-cpp files in the IDEBill Hoffman2009-10-231-3/+7
|
* Fix optionally-valued booleans in VS 10 flag tableBrad King2009-10-233-11/+21
| | | | | | | | | | | This commit fixes the cmparseMSBuildXML.py script to generate correct flag table entries for booleans with optional value. These flags use two entries: the first should ignore the value and enable the option, and the second should use the value if given. Previously the first entry did not recognize flags with values. In particular this fixes flags like /MP4, but the change corrects matching of some other flags too. See issue #9771.
* Detect and set Unicode character set in VS 10Brad King2009-10-232-11/+57
| | | | | | | | This commit teaches the VS 10 generator to detect the -D_UNICODE option in preprocessor definitions and set the CharacterSet attribute to the value 'Unicode'. This was already done for other VS IDE versions. See issue #9769
* Always set OutputPath in VS 10 projectsBrad King2009-10-231-4/+9
| | | | | | | | | | | The default $(OutDir)$(TargetName)$(TargetExt) for this value works in most cases because we set the three properties. However, if the target property PREFIX contains a path component (not documented but happens to work in other VS generators) we drop it from TargetName and do not put it in OutDir either. This commit corrects the resulting path by setting the OutputPath property explicitly with the full path. See issue #9768.
* Fix line-too-long style violationsBrad King2009-10-234-4/+8
| | | | | The commit "Define per-target OSX_ARCHITECTURES property" introduced some long lines. This wraps them into multiple shorter lines.
* KWSys Nightly Date StampKWSys Robot2009-10-231-1/+1
|
* Add Xcode file association for FortranBrad King2009-10-221-0/+4
| | | | | | | Intel Fortran on Mac OS X enables Fortran support in Xcode. This commit teaches CMake to associate Fortran sources properly in Xcode projects. See issue #9739.
* Fix VS 10 flag table for precompiled headersBrad King2009-10-221-3/+10
| | | | | | | | | | The VS 10 flag table generation script did not produce correct entries for precompiled header flags. Since precompiled header flag translation requires multiple entries cooperating in a certain order, it is not worth the time to make the generation script work automatically. This commit manually adds the proper entries. See issue #9753.
* Fix VS 10 .sln files for Windows ExplorerBrad King2009-10-221-1/+1
| | | | | | | This commit fixes generated .sln files so they open VS 2010 correctly when double-clicked in Windows Explorer. See issue #9758.
* Fix Microsoft.Cpp.$(Platform).user.props in VS10b2Brad King2009-10-221-6/+4
| | | | | | | MS changed the location of the Microsoft.Cpp.$(Platform).user.props file. This commit teaches the VS 10 generator about the new location. See issue #9759.
* Fix up download a bit, better error checking and uses of long not double for ↵Bill Hoffman2009-10-222-38/+125
| | | | timeout as curl needs, bug# 9748
* WIP: VS 10 Win64 generatorBrad King2009-10-229-14/+98
| | | | See issue #9754.
* KWSys Nightly Date StampKWSys Robot2009-10-221-1/+1
|
* Fix for bugs #9756, #9690 and #9755, header files were not included, and ↵Bill Hoffman2009-10-221-8/+25
| | | | link_directories we incorrect
* Use copies for versioned names on WindowsBrad King2009-10-211-0/+4
| | | | | | | | | | | | | | | Versioned UNIX libraries and executables produce multiple names for a single target using one of cmake -E cmake_symlink_library cmake -E cmake_symlink_executable to create symlinks to the real file for the extra names. However, when cross-compiling from Windows to Linux we cannot create symlinks. This commit teaches CMake to make copies instead of symbolic links when running on windows. While this approach does not produce exactly what Linux wants to see, at least the build will complete and the binary will run on the target system. See issue #9171.
* Tweak all files during target installationBrad King2009-10-212-48/+104
| | | | | | | | | | | | | During installation of a target we generate "tweak" rules to update the installed file (RPATH, strip, ranlib, etc.). However, some targets install multiple files, such as the versioned names of a shared library. Previously the extra files for a target have always been symbolic links, but for cross-compiling from Windows to UNIX they may need to be copies. This commit teaches the generated install scripts to loop over all files installed for the target to apply tweaks to those that are not symlinks. See issue #9171.
* Add IS_SYMLINK test to if commandBrad King2009-10-212-0/+10
|
* Compute install destination for all target filesBrad King2009-10-211-70/+70
| | | | | | | | | In cmInstallTargetGenerator::GenerateScriptForConfig we were computing the full 'from' paths for all target files to be installed, but only computing a 'to' path for the "main" target file. This commit teaches the method to compute both 'from' and 'to' paths for every target file to be installed. The result is cleaner, easier to follow, and will allow installation tweaks to be added later on all target files.
* Factor out "cmake -E cmake_symlink_*" codeBrad King2009-10-212-51/+61
| | | | | | | | | | | | | | We factor the implementation of cmake -E cmake_symlink_library cmake -E cmake_symlink_executable out of cmake::ExecuteCMakeCommand into methods cmake::SymlinkLibrary cmake::SymlinkExecutable plus a helper method cmake::SymlinkInternal.
* Simplify 'strip' and 'ranlib' install tweak codeBrad King2009-10-212-8/+4
| | | | | | The cmInstallTargetGenerator methods AddStripRule and AddRanlibRule do not need the target type argument. They can simply use the type of the target for which the generator instance was created.
* Define per-target OSX_ARCHITECTURES propertyBrad King2009-10-218-25/+112
| | | | | | | | | | | The CMAKE_OSX_ARCHITECTURES variable works only as a global setting. This commit defines target properties OSX_ARCHITECTURES OSX_ARCHITECTURES_<CONFIG> to specify OS X architectures on a per-target and per-configuration basis. See issue #8725.
* Fix seg fault for empty ENV{} call bug #9747Bill Hoffman2009-10-211-1/+5
|
* KWSys Nightly Date StampKWSys Robot2009-10-211-1/+1
|
* make testing the CodeBlocks and Eclipse generators easier by not requiring ↵Alexander Neundorf2009-10-202-4/+14
| | | | | | | | | | | | | the CMAKE_EDIT_COMMAND variable Both generators use the CMAKE_EDIT_COMMAND variable to determine whether they should add the edit_cache target, i.e. they don't add it if it's ccmake, since this does not work inside the output log view of Eclipse/Codeblocks. But instead of requiring the variable to be set they now check it for 0 and handle this appropriately. This should help Dave getting some testing for them :-) Alex
* Do not link library dependencies in VS solutionsBrad King2009-10-206-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | In VS 8 and greater this commit implements add_dependencies(myexe mylib) # depend without linking by adding the LinkLibraryDependencies="false" option to project files. Previously the above code would cause myexe to link to mylib in VS 8 and greater. This option prevents dependencies specified only in the solution from being linked. We already specify the real link library dependencies in the project files, and any project depending on this to link would not have worked in Makefile generators. We were already avoiding this problem in VS 7.1 and below by inserting intermediate mylib_UTILITY targets. It was more important for those versions because if a static library depended on another library the librarian would copy the dependees into the depender! This is no longer the case with VS 8 and above so we do not need that workaround. See issue #9732.
* Ctest was broken for subdirs. Restored working directory state for tests so ↵Zach Mullen2009-10-201-0/+5
| | | | that their executables could be found.
* KWSys Nightly Date StampKWSys Robot2009-10-201-1/+1
|
* Avoid C++ linker language in VS Fortran projectBrad King2009-10-191-1/+2
| | | | | | | | | | | | | | | In Visual Studio project files we pass compiler flags to the whole target based on the linker language, which works for MS tools and combinations of C and C++. For the Intel Fortran plugin though the generated .vfproj files should never contain C or C++ options. We generate .vfproj files only for targets consisting only of Fortran code. Now that the linker language is computed transitively through linking it is possible that the linker language is C++ for an otherwise Fortran-only project. This commit forces Fortran as the linker language for the purpose of specifying target-wide flags in .vfproj files. See issue #9719.
* fix two more icpc warnings, ok by Brad (float compared for equality, unused ↵Alexander Neundorf2009-10-191-2/+2
| | | | | | variable) Alex
* Avoid duplicate ZERO_CHECK in VS solutionsBrad King2009-10-194-122/+107
| | | | | | | | | | | | The commit "Avoid non-root copies of root-only targets" moved the check for root-only targets into cmGlobalGenerator::GetTargetSets to avoid adding multiple ALL_BUILD targets to the "original" target set. This approach did not work for ZERO_CHECK targets though because those are pulled in by dependency analysis. Instead we eliminate duplicate ZERO_CHECK targets altogether and refer to a single one from all solution files. This cleans up VS 10 project file references to ZERO_CHECK targets anyway.
* KWSys Nightly Date StampKWSys Robot2009-10-191-1/+1
|
* KWSys Nightly Date StampKWSys Robot2009-10-181-1/+1
|
* Fixed issues with message text in FILE command error situations. Added many ↵David Cole2009-10-171-8/+9
| | | | new test cases to increase the coverage of the FILE command even further.
* KWSys Nightly Date StampKWSys Robot2009-10-171-1/+1
|
* Better fix for crash on Windows. This time it will even work on Linux, too. ↵David Cole2009-10-161-2/+14
| | | | That GetLineFromStream method while loop sure is fussy.
* Fix crash on Windows. If input stream is no good, do not try to read a line ↵David Cole2009-10-161-2/+3
| | | | from it. Return false and an empty line instead...
* KWSys Nightly Date StampKWSys Robot2009-10-161-1/+1
|
* Fix ctest output alignment for cases where total tests run is not the same ↵Zach Mullen2009-10-151-1/+1
| | | | width as max test index.
* Fix crash on Windows. Remove trailing white space from regex. These changes ↵David Cole2009-10-151-1/+1
| | | | should correct all failures of the new FailedSubmit tests.