summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Do not crash on SHARED library without language (#13324)Brad King2012-06-208-2/+16
| | | | | | | | | | | | | Since commit e1409ac5 (Support building shared libraries or modules without soname, 2012-04-22) CMake crashes on the code add_library(foo SHARED foo.nolang) because the logic to lookup the language's soname flag was moved from cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check for a NULL language. Restore the check for NULL. Add RunCMake.Languages test to cover language error cases like this one.
* Merge topic 'module-no-soname'David Cole2012-05-0118-59/+161
|\ | | | | | | | | | | fdb3f87 Test NO_SONAME property (#13155) e1409ac Support building shared libraries or modules without soname (#13155)
| * Test NO_SONAME property (#13155)Brad King2012-04-302-0/+58
| | | | | | | | | | | | | | Teach the Plugin test to check that the NO_SONAME target property works as documented. Check that the IMPORTED targets are written with the correct properties. When readelf is available use it to check the actual binary files for SONAME fields.
| * Support building shared libraries or modules without soname (#13155)Modestas Vainius2012-04-3016-59/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a boolean target property NO_SONAME which may be used to disable soname for the specified shared library or module even if the platform supports it. This property should be useful for private shared libraries or various plugins which live in private directories and have not been designed to be found or loaded globally. Replace references to <CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG> and hard-coded -install_name flags with a conditional <SONAME_FLAG> which is expanded to the value of the CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG definition as long as soname supports is enabled for the target in question. Keep expanding CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG in rules in case third party projects still use it. Such projects would not yet use NO_SONAME so the adjacent <TARGET_SONAME> will always be expanded. Make <TARGET_INSTALLNAME_DIR> NO_SONAME aware as well. Since -install_name is soname on OS X, this should not be a problem if this variable is expanded only if soname is enabled. The Ninja generator performs rule variable substitution only once globally per rule to put its own placeholders. Final substitution is performed by ninja at build time. Therefore we cannot conditionally replace the soname placeholders on a per-target basis. Rather than omitting $SONAME from rules.ninja, simply do not write its contents for targets which have NO_SONAME. Since 3 variables are affected by NO_SONAME ($SONAME, $SONAME_FLAG, $INSTALLNAME_DIR), set them only if soname is enabled.
* | Merge topic 'intel-Windows-RTC1'David Cole2012-05-011-1/+1
|\ \ | | | | | | | | | | | | dd08062 Intel: On Windows use /RTC1 instead of deprecated /GZ (#13174)
| * | Intel: On Windows use /RTC1 instead of deprecated /GZ (#13174)Brad King2012-04-301-1/+1
| | |
* | | Merge topic 'fix-12564-avoid-git-re-clones'David Cole2012-05-011-29/+72
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 08db81e ExternalProject: Avoid repeated git clone operations (#12564) d14c024 ExternalProject: Refactor repeated code into function (#12564) 987c017 ExternalProject: Avoid unnecessary git clones (#12564)
| * | | ExternalProject: Avoid repeated git clone operations (#12564)David Cole2012-04-281-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By tracking a stamp file within the git clone script itself. Avoids a 2nd git clone operation after switching from Debug to Release builds in Visual Studio, or vice-versa.
| * | | ExternalProject: Refactor repeated code into function (#12564)David Cole2012-04-281-27/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "private/internal-use-only" function _ep_get_step_stampfile to get the name of the stamp file for a given step. The functionality provided by this commit should be identical to its parent commit.
| * | | ExternalProject: Avoid unnecessary git clones (#12564)David Cole2012-04-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of git, only track the repository in the repository info dependency tracking file. Not the tag. The download step should only re-run if the repository changes. The download step should NOT re-run if the tag changes. The update step is an 'always' re-running step, and so should already re-run, unless it's been eliminated by use of UPDATE_COMMAND ""
* | | | Merge topic 'vs10-source-paths'David Cole2012-05-014-80/+137
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d931ce9 VS10: Generate relative source paths when possible (#12570) b2e7c7a VS11: Do not use source path conversion workaround specific to VS 10 4248132 VS10: Convert paths normally unless forced to relative c2ba6ba VS10: Simplify vcxproj.filter file generation 4f2d9d2 VS10: Refactor custom commands to use WriteSource
| * | | | VS10: Generate relative source paths when possible (#12570)Brad King2012-04-273-4/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit ed0075bd (Use relative paths for custom command inputs, 2011-06-22) CMake generates full paths to source files in VS 10 project files to avoid trouble with deep source/build tree paths. However, the VS 10 IDE will not populate the source file property dialog for a file referenced by full path. Instead use a relative path when possible. When not possible produce a detailed warning explaining the problem and suggesting use of shorter directory paths.
| * | | | VS11: Do not use source path conversion workaround specific to VS 10Brad King2012-04-271-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake <= 2.8.4 generated VS 10 project files with a relative path to source files. Then commit ed0075bd (Use relative paths for custom command inputs, 2011-06-22) switched to using relative paths only for source files holding custom commands and full paths for other sources. This behavior was inhereted by the VS 11 generator but is not needed so use the workaround only for exactly VS 10. Explain the behavior in comments.
| * | | | VS10: Convert paths normally unless forced to relativeBrad King2012-04-272-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most CMake generators produce relative paths within the build tree and full paths to files outside the build tree. Make VS 10 and VS 11 project files consistent with this approach except for paths forced to be relative to work around a VS 10 bug.
| * | | | VS10: Simplify vcxproj.filter file generationBrad King2012-04-272-65/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the duplicate source file classification logic used to generate the filter files. Instead record during the main vcxproj file generation the source files generated for each tool. Also record whether or not each source file is converted to a relative path. Use the recorded result during filter generation to ensure consistency between the project file and filter file.
| * | | | VS10: Refactor custom commands to use WriteSourceBrad King2012-04-272-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | | All other source file elements are already written through WriteSource. Refactor custom command source element generation into WriteSource too.
* | | | | Merge topic 'kwsys-environ-cleanup'David Cole2012-05-0111-94/+370
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e48796b KWSys: Fix SystemTools environment memory handling (#13156) b10c5cb CTest: Simplify environment save/restore
| * | | | | KWSys: Fix SystemTools environment memory handling (#13156)Brad King2012-04-276-28/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SystemTools::PutEnv function tries to provide the "putenv" API without leaking memory. However, the kwsysDeletingCharVector singleton frees memory that may still be referenced by the environment table, having been placed there by putenv. If any static destruction or processing by an external tool happens after the singleton is destroyed and accesses the environment it will read invalid memory. Replace use of putenv with setenv/unsetenv when available. The latter manage internal copies of the values passed instead of referencing the original memory. When setenv/unsetenv are not available use putenv with a singleton that removes its values from the environment before freeing their memory. This requires an "unputenv" implementation. On at least some platforms it must be written in terms of "putenv" because other APIs are not available and direct modification of the "environ" global is not safe (e.g. on Windows there is interaction with "wenviron"). Fortunately either putenv("A=") or putenv("A") will remove "A" from the environment on these platforms. On other platforms fall back to direct manipulation of "environ". Also add UnPutEnv to the API and add a test for the behavior of both.
| * | | | | CTest: Simplify environment save/restoreBrad King2012-04-245-66/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace use of AppendEnv/RestoreEnv pairs with instances of SaveRestoreEnvironment. Simplify the signature of AppendEnv and use it in place of similar loops elsewhere. Move the RestoreEnv implementation inside the SaveRestoreEnvironment destructor which is the only place left that calls it.
* | | | | | Merge topic 'more-Intel-warnings'David Cole2012-05-012-2/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | f621ead Check{C,CXX}CompilerFlag: catch more Intel warning types (#12576)
| * | | | | | Check{C,CXX}CompilerFlag: catch more Intel warning types (#12576)Rolf Eike Beer2012-04-262-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch provided by Szilárd Páll.
* | | | | | | Merge topic 'require-CMake-2.8.2'David Cole2012-05-012-5/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d960de2 Require CMake 2.8.2 or higher to build CMake
| * | | | | | | Require CMake 2.8.2 or higher to build CMakeBrad King2012-04-262-5/+4
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the requirement specified in the top-level CMakeLists.txt file. Drop the special-case minimum required version of 2.8.0 because the new minimum subsumes it. Revert commit 6c611c6b (libarchive: Restore CMake 2.6.3 as minimum version, 2012-01-05) since our requirement now subsumes libarchive's.
* | | | | | | Merge topic 'doc-html-anchors'David Cole2012-05-011-5/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dfccdd6 Documentation: Fix HTML anchor ranges
| * | | | | | | Documentation: Fix HTML anchor rangesBrad King2012-04-261-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generate anchors of the form <a name="..."></a> instead of <a name="..."/> to ensure browsers know that the anchor contains no text and do not try to guess an end of the range. Also make the "section_Index" and item label anchors empty instead of containing the section header or label text. This ensures that the text associated with target anchors is not rendered as if it were a hyperlink.
* | | | | | | | Merge topic 'ctest_memcheck-xml-encoding'David Cole2012-05-011-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3da577d CTest: Escape MemCheck test output for XML (#13124)
| * | | | | | | | CTest: Escape MemCheck test output for XML (#13124)Brad King2012-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any output that goes through CleanTestOutput must be printed through cmXMLSafe.
* | | | | | | | | Merge topic 'developer-setup'David Cole2012-05-011-10/+36
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c9072f8 Merge branch 'setup' into developer-setup b7daff9 setup-stage: Optionally reconfigure topic stage
| * \ \ \ \ \ \ \ \ Merge branch 'setup' into developer-setupBrad King2012-04-261-10/+36
| |\ \ \ \ \ \ \ \ \
| | * | | | | | | | | setup-stage: Optionally reconfigure topic stageBrad King2012-04-261-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the topic stage has already been configured present the current configuration and prompt for optional reconfiguration. While at it, make the topic stage remote name configurable by the project.
* | | | | | | | | | | Merge topic 'try-compile-cleanup-dirs'David Cole2012-05-011-0/+1
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 953257c try_compile: Cleanup temporary directories (#13160)
| * | | | | | | | | | | try_compile: Cleanup temporary directories (#13160)Brad King2012-04-261-0/+1
| | |_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 4fbdce2b (try_compile: Use random executable file name, 2012-02-13) a different <target>.dir is used for each try-compile. Cleanup the directories as well as their content to avoid accumulating leftover temporary directories.
* | | | | | | | | | | Merge topic 'kwsys-remove-DateStamp'David Cole2012-05-014-119/+1
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5f807a6 KWSys: Remove DateStamp
| * | | | | | | | | | | KWSys: Remove DateStampBrad King2012-04-254-119/+1
| | |_|_|_|_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KWSys is no longer shared in projects via a server-side directory symlink in CVS. An automated nightly date stamp commit can no longer be shared by multiple projects directly. It needs a per-project replay robot so the nightly commits end up needing N+1 robots instead of N. Remove the DateStamp feature because it is no longer useful or maintained by nightly commits.
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2012-05-011-1/+1
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2012-04-301-1/+1
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2012-04-291-1/+1
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2012-04-281-1/+1
| | | | | | | | | | |
* | | | | | | | | | | CMake Nightly Date StampKitware Robot2012-04-271-1/+1
| |/ / / / / / / / / |/| | | | | | | | |
* | | | | | | | | | CMake Nightly Date StampKitware Robot2012-04-261-1/+1
| |_|_|_|_|_|/ / / |/| | | | | | | |
* | | | | | | | | Merge topic 'intel-Windows-EHsc'David Cole2012-04-251-1/+1
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | 4f80896 Intel: On Windows use /EHsc instead of deprecated /GX (#13163)
| * | | | | | | | Intel: On Windows use /EHsc instead of deprecated /GX (#13163)Brad King2012-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of the deprecated option with Intel 2011 produces icl: command line remark #10010: option '/GX' is deprecated and will be removed in a future release. See '/help deprecated' so use its replacement option which has been supported for several older versions anyway.
* | | | | | | | | Merge topic 'EnhanceBash-completion-part1'David Cole2012-04-257-207/+306
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83729f9 Install editors helper files 5b97942 Enhancement of bash completion scripts given by Igor Murzov.
| * | | | | | | | | Install editors helper filesEric NOULARD2012-04-231-0/+2
| | | | | | | | | |
| * | | | | | | | | Enhancement of bash completion scripts given by Igor Murzov.Eric NOULARD2012-04-237-207/+304
| | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The orginal patch has been reworked in order to follow CMake source tree layout habit. Inspired-By: Igor Murzov <e-mail@date.by>
* | | | | | | | | Merge topic 'fix-9946-uninstall-before-install'David Cole2012-04-253-0/+34
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fe58b67 Added CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
| * | | | | | | | | Added CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALLPatrick Gansterer2012-04-223-0/+34
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | If CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL is set to ON the NSIS installer will look for a previous installed version and ask the user about uninstall.
* | | | | | | | | Merge topic 'fix-ExternalProject-COMMAND-niggly'David Cole2012-04-251-1/+2
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 64818c1 ExternalProject: Add missing COMMAND keyword
| * | | | | | | | | ExternalProject: Add missing COMMAND keywordDavid Cole2012-04-221-1/+2
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f67139ae added running a verify script in between running the download and extract scripts. Since then, it has always been missing the COMMAND keyword added in this commit. It worked anyway (semi-accidentally) by running a command line like: cmake -P script1.cmake cmake -P script2.cmake CMake, when running -P scripts on the command line, runs them in order, and apparently ignores spurious arguments in between (the middle "cmake" in the above example) and so, all appeared to work as intended. This commit adds the missing keyword and the commands that run are now two separate sequential cmake invocations like: cmake -P script1.cmake cmake -P script2.cmake ...which was the original intent of commit f67139ae
* | | | | | | | | Merge topic 'fix-13085-add-nsis-preinstall-hook'David Cole2012-04-252-3/+12
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aa8acea CPack/NSIS: Add CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS (#13085)