summaryrefslogtreecommitdiffstats
path: root/Modules/SelectLibraryConfigurations.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Simplify CMake per-source license noticesBrad King2016-09-271-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-14/+22
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* SelectLibraryConfigurations: Use -NOTFOUND instead of copying the varsDaniele E. Domenichelli2013-07-221-40/+30
| | | | | | | | | | If one of the libraries (_DEBUG or _RELEASE) is not set, the value is set to the value of the other one. FindQt4, from which the macro is extracted, sets the values to XXX_LIBRARY_{DEBUG,RELEASE}-NOTFOUND instead. In both cases the XXX_LIBRARY is correct, but using NOTFOUND makes it easier to understand which one is missing. Update Tests/CMakeOnly/SelectLibraryConfigurations with the new logic.
* SelectLibraryConfigurations: Do not cache the _LIBRARY variableDaniele E. Domenichelli2013-07-101-5/+1
| | | | | | | | | | | | | | | | | SelectLibraryConfigurations module currently cache and mark as advanced the variable ${basename}_LIBRARY. ${basename}_LIBRARY_RELEASE and ${basename}_LIBRARY_DEBUG are usually cached, because they often come from find_library(). ${basename}_LIBRARY on the other hand is always of type "optimized;${${basename}_LIBRARY_RELEASE};debug;${${basename}_LIBRARY_DEBUG}" or just "${basename}_LIBRARY_RELEASE" or "${basename}_LIBRARY_DEBUG" if only one version of the library is not found, if both have the same value, or if configuration types are not supported. Caching and marking as advanced just ${basename}_LIBRARY_RELEASE and ${basename}_LIBRARY_DEBUG is enough, just by modifying these two variables, the user has enough control on finding the library, and having 3 variables is redundant and confusing.
* SelectLibraryConfigurations: Fix for cached <base>_LIBRARYBjoern Thiel2013-05-281-1/+1
| | | | | | | | | | | | | | | | | The line set( ${basename}_LIBRARY ) removes the normal variable, but if the corresponding cached variable is present then line list( APPEND ${basename}_LIBRARY optimized "${_libname}" ) uses that and fails. Replace the original line with set( ${basename}_LIBRARY "" ) to set the normal variable to empty instead of unsetting it.
* Merge topic 'test-SelectLibraryConfigurations'David Cole2012-10-231-5/+9
|\ | | | | | | | | | | a22f4fa SelectLibraryConfigurations: fix for release and debug libs being the same 5052fbc SelectLibraryConfigurations: add testcase
| * SelectLibraryConfigurations: fix for release and debug libs being the sameRolf Eike Beer2012-10-211-5/+9
| |
* | Merge topic 'fix-SelectLibraryConfigurations-regression'David Cole2012-10-231-2/+2
|\ \ | |/ |/| | | | | 1cd2ec1 SelectLibraryConfigurations: Fix foreach(x IN LISTS ...) syntax
| * SelectLibraryConfigurations: Fix foreach(x IN LISTS ...) syntaxThomas Arcila2012-10-191-2/+2
| | | | | | | | | | In commit 5797512c (SelectLibraryConfiguration: generate correct output when input vars are lists, 2012-07-28) the "IN" keyword was left out.
* | Remove CMake-language block-end command argumentsKitware Robot2012-08-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-3/+3
|/ | | | | | | | | | | | | | | | | 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/ \+$//'
* SelectLibraryConfiguration: generate correct output when input vars are listsRolf Eike Beer2012-07-291-8/+10
| | | | | | | | | | In case that any of the input variables that hold the library names contains more than just a single library the "debug" or "optimized" keywords were only prepended to the first item, making all other libs appear in all configurations. Just treat both input variables as lists. Thanks to Philipp Berger <newsletters@philippberger.de> for pointing me at this.
* SelectLibraryConfigurations: do not output identical configurationsRolf Eike Beer2012-01-261-4/+3
| | | | | | | If the debug and release libraries are the same (which usually means only one of them was found) do not output the library as "optimized" and "debug", but just as one plain library. At the end this means that the Find* output of the avarage (Un*x) user will be much less cluttered.
* Modules: Fix spelling 'To distributed' -> 'To distribute'Todd Gamblin2010-08-091-1/+1
|
* Convert CMake non-find modules to BSD LicenseBrad King2009-09-281-0/+15
| | | | | | | This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
* Add HDF5 find module and select_library_configurations module.Will Dicharry2009-08-241-0/+67