summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug #9722. Report error when not able to create build directory.Clinton Stimpson2009-10-301-1/+8
|
* Switch to using libarchive from libtar for cpack and cmake -E tarBill Hoffman2009-10-3012-1027/+615
| | | | | | This allows for a built in bzip and zip capability, so external tools will not be needed for these packagers. The cmake -E tar xf should be able to handle all compression types now as well.
* Fix more mismatched new[] / delete[] (eliminate invalid auto_ptr use) to ↵David Cole2009-10-303-15/+20
| | | | correct valgrind reported memory issues.
* KWSys Nightly Date StampKWSys Robot2009-10-301-1/+1
|
* Hook for scheduling tests in a random orderZach Mullen2009-10-296-3/+42
| | | | | This may help statistically detect implicit dependencies among unit tests while running in parallel.
* Fix bug#9767 catch missing leak.Bill Hoffman2009-10-291-2/+10
|
* KWSys Nightly Date StampKWSys Robot2009-10-291-1/+1
|
* Introduce per-config OUTPUT_DIRECTORY propertiesBrad King2009-10-281-2/+57
| | | | | | | | | | | | | | | | | We create per-configuration target properties to specify ARCHIVE, LIBRARY, and RUNTIME output directories. The properties override the generic properties for the <CONFIG> configuration: ARCHIVE_OUTPUT_DIRECTORY -> ARCHIVE_OUTPUT_DIRECTORY_<CONFIG> LIBRARY_OUTPUT_DIRECTORY -> LIBRARY_OUTPUT_DIRECTORY_<CONFIG> RUNTIME_OUTPUT_DIRECTORY -> RUNTIME_OUTPUT_DIRECTORY_<CONFIG> For multi-configuration generators, the per-configuration subdirectory normally appended to the generic output directory is not added to the configuration-specific property values. This allows projects to set the exact location at which binaries will be placed for each configuration. See issue #9163.
* Consolidate duplicate documentation in cmTargetBrad King2009-10-281-15/+10
| | | | | The documentation of (ARCHIVE|LIBRARY|RUNTIME)_OUTPUT_DIRECTORY was duplicated. We consolidate it using a macro.
* Create a static library's output dir for VS 6Brad King2009-10-282-0/+35
| | | | | | | VS 6 forgets to create the output directory for a static library if it differs from the intermediate files directory. We work around this VS bug by creating a pre-link event on the library target to make the directory.
* Use per-config output dir in VS 6 templatesBrad King2009-10-281-0/+34
| | | | | | | This commit removes use of configuration-less cmTarget::GetDirectory() by the VS 6 generator (except for compatibility with user templates). We replace OUTPUT_DIRECTORY_<CONFIG> tokens in the templates using the per-configuration result of cmTarget::GetDirectory(config).
* Fix Xcode <= 2.0 projects with CMAKE_BUILD_TYPEBrad King2009-10-281-1/+4
| | | | | The dependency-helper makefiles should not have per-configuration names for Xcode <= 2.0. Older Xcodes do not support multiple configurations.
* Fix try_compile when file cannot be foundBrad King2009-10-281-1/+2
| | | | | | The try_compile() command's COPY_FILE option should not try to actually copy the file if it cannot be found. Some C runtime library's fopen cannot handle an empty file name.
* Keep Xcode intermediate files away from output dirBrad King2009-10-281-2/+14
| | | | | | | | | | | | Previously the Xcode generator set SYMROOT to be the target output directory. This told Xcode to put the "<proj>.build" directory in the output path too. This commit sets SYMROOT, CONFIGURATION_BUILD_DIR, and OBJROOT to put intermediate files in the build directory corresponding to the source directory that created each target. This is more consistent with the VS IDE generators. Now only the build output files (actual targets) go to the target output directory.
* Remove unreachable code in cmIfCommandBrad King2009-10-281-1/+0
| | | | | The commit "Fix if() command and CMP0012 OLD/NEW behavior" introduced an unreachable 'break' after 'return' in a switch statement. We remove it.
* KWSys Nightly Date StampKWSys Robot2009-10-281-1/+1
|
* BUG: hardcore some values so output matches cmVS10CLFlagTable.h (addresses ↵Zack Galbreath2009-10-271-2/+25
| | | | bug #9753)
* Fix working dir issue for ctest show only mode (-N)Zach Mullen2009-10-271-0/+5
|
* 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.