summaryrefslogtreecommitdiffstats
path: root/Modules/FindOpenMP.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'FindOpenMP-log-errors'Brad King2018-11-071-3/+10
|\ | | | | | | | | | | | | | | | | 272c4c3dee FindOpenMP: Log error output db0445f0c8 FindOpenMP: Fix warnings with -Wstrict-prototypes Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Christian Pfeiffer <cpfeiffer@live.de> Merge-request: !2574
| * FindOpenMP: Log error outputIvan Pozdeev2018-11-071-1/+8
| |
| * FindOpenMP: Fix warnings with -Wstrict-prototypesIvan Pozdeev2018-11-071-2/+2
| | | | | | | | With -Wstrict-prototype -Werror, the check would fail
* | Help: Convert remaining modules to block-style commentsKitware Robot2018-10-221-72/+73
|/
* FindOpenMP: Avoid warning in check codeBrad King2018-06-271-1/+1
| | | | | | | | | | The test code added by commit v3.12.0-rc1~411^2~1 (FindOpenMP: Verify in test source that OMP library is linked, 2018-03-01) leaves an unused variable warning. This breaks the check with `-Werror`. Remove the variable and leave just the function call, which should still check that the OMP library is linked. Fixes: #18102
* Merge topic 'FindOpenMP-Intel-Windows'Brad King2018-04-171-13/+4
|\ | | | | | | | | | | | | 0c7433e874 FindOpenMP: Fix support for Intel on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1957
| * FindOpenMP: Fix support for Intel on WindowsRoland Schulz2018-04-161-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.11.0-rc1~334^2 (FindOpenMP: Use NO_DEFAULT_PATH where appropriate, 2017-11-15) broke partial support for Intel on Windows. Since `OpenMP_${LANG}_IMPLICIT_LINK_DIRS` is empty for this compiler the `find_library` call without `NO_DEFAULT_PATH` worked accidentally in environments with the needed libraries in the search path already. Fix support for Intel on Windows by simply removing our explicit search for the `libiomp5md` library. In cases that it is needed, the compiler already inserts metadata in `.obj` files to tell the MSVC linker to use the library. Suggested-by: Christian Pfeiffer <cpfeiffer@live.de> Fixes: #17910
* | FindOpenMP: Add support for AppleClang compilerHenry Fredrick Schreiner2018-03-071-0/+23
| | | | | | | | | | | | | | This is possible using an external `omp` library and by passing the flag past the compiler driver via `-Xclang -fopenmp`. Fixes: #17775
* | FindOpenMP: Verify in test source that OMP library is linkedHenry Fredrick Schreiner2018-03-071-0/+1
| |
* | FindOpenMP: Improve inclusion of helper modulesHenry Fredrick Schreiner2018-03-071-3/+3
|/ | | | | Use `CMAKE_CURRENT_LIST_DIR` instead of `CMAKE_ROOT`. Do not include modules inside a loop.
* FindOpenMP: Employ genex where possibleChristian Pfeiffer2018-01-191-1/+1
| | | | Fixes: #17610
* Merge topic 'fomp-cmp0012'Christian Pfeiffer2017-11-171-0/+1
|\ | | | | | | | | | | | | 36cc4378 FindOpenMP: Enable policy CMP0012 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1490
| * FindOpenMP: Enable policy CMP0012Christian Pfeiffer2017-11-161-0/+1
| | | | | | | | Fixes: #17476
* | FindOpenMP: Use NO_DEFAULT_PATH where appropriateChristian Pfeiffer2017-11-151-0/+3
|/ | | | | | | | OpenMP libraries must always be found in the implicit linking directories of a compiler when using the OpenMP compile flag. If a suitable OpenMP library is also found in for example some CMAKE_PREFIX_PATH, this can lead to the module finding the incorrect library. On the other hand, CMAKE_PREFIX_PATH can't ever be a location that we need to consider since the OpenMP compile flag would not work if we needed to.
* Merge topic 'omp-oacc-werror-return-type'Brad King2017-10-251-1/+4
|\ | | | | | | | | | | | | 15da0ba3 Find{OpenMP,OpenACC}: Fix detection with -Werror=return-type Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1406
| * Find{OpenMP,OpenACC}: Fix detection with -Werror=return-typeChristian Pfeiffer2017-10-241-1/+4
| | | | | | | | | | | | Explicitly return a value from `main` in our test sources. Fixes: #17391
* | Merge topic 'findopenmp-lib-paths'Brad King2017-10-181-7/+21
|\ \ | | | | | | | | | | | | | | | | | | f4cc7109 FindOpenMP: Improve OMP libraries search Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1385
| * | FindOpenMP: Improve OMP libraries searchChristian Pfeiffer2017-10-171-7/+21
| | | | | | | | | | | | | | | | | | | | | This supports libraries given as full path and filters libraries given in CMAKE_<LANG>_STANDARD_LIBRARIES. Fixes: #17351
* | | Merge topic 'findopenmp-fix-verbose'Brad King2017-10-061-2/+13
|\ \ \ | |/ / | | / | |/ |/| | | | | e25d88ec FindOpenMP: Fix link flags being used for compile Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1348
| * FindOpenMP: Fix link flags being used for compileChristian Pfeiffer2017-10-051-2/+13
| | | | | | | | Fixes: #17307
* | FindOpenMP: Fix version if OpenMP doesn't workChristian Pfeiffer2017-10-041-2/+6
|/
* FindOpenMP: Avoid CMP0054 warningsBrad King2017-09-221-0/+1
| | | | | | | | | | | | | | When invoked in projects that don't set CMP0054 to NEW, FindOpenMP triggers a warning: CMake Warning (dev) at .../Modules/FindOpenMP.cmake:... (if): Policy CMP0054 is not set...Quoted variables like "c" will no longer be dereferenced when the policy is set to NEW. Since the policy is not set the OLD behavior will be used. Set the policy within the module's scope to avoid this. Fixes: #17292
* FindOpenMP: Add support for componentsChristian Pfeiffer2017-09-141-15/+39
| | | | | Language specific components are added to FindOpenMP to ease consumption of the module's results.
* FindOpenMP: Minor environmental improvementsChristian Pfeiffer2017-09-141-2/+4
| | | | | A backup flag for Cray compilers was added and the OpenMP 5.0 Preview 1 document was added to the specification map.
* Merge topic 'findopenmp-found'Brad King2017-09-061-0/+2
|\ | | | | | | | | | | | | 91fbda82 FindOpenMP: Restore OpenMP_FOUND result variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1233
| * FindOpenMP: Restore OpenMP_FOUND result variableChristian Pfeiffer2017-09-051-0/+2
| | | | | | | | | | | | | | | | The overhaul in commit v3.9.0-rc1~207^2~1 (FindOpenMP: Complete overhaul, 2017-04-24) documented this variable but accidentally left it unset. Fixes: #17251
* | FindOpenMP: Add Flang flag.Tin Huynh2017-08-311-0/+1
|/
* FindOpenMP: Cache compilation resultsChristian Pfeiffer2017-05-081-12/+10
|
* FindOpenMP: Refine list of flags to tryChristian Pfeiffer2017-05-081-5/+10
|
* separgs: Use NATIVE_COMMAND where appropriateChristian Pfeiffer2017-04-261-5/+1
|
* FindOpenMP: Complete overhaul.Christian Pfeiffer2017-04-251-207/+328
|
* FindOpenMP: Add iomp5 variant of Clang OpenMP flagsLucas Czech2017-02-231-0/+1
| | | | | | | Try `-fopenmp=libiomp5` in addition to `-fopenmp=libomp`. Leave the latter as the default that we try first when the compiler id is `Clang`. If that does not work we will still fall back to trying all the candidates and eventually get to the iomp5 variant.
* Simplify CMake per-source license noticesBrad King2016-09-271-16/+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.
* FindOpenMP: Detect version (specification date) from compilerSujin Philip2016-07-131-0/+102
| | | | | | Port changes from VTK commit fda6a31cb9 (Added Improved FindOpenMP module, 2015-04-23). Improve use of try_compile to avoid needing to pass OpenMP flags as libraries.
* FindOpenMP: Cleanup all variables unconditionallyBrad King2016-07-131-2/+4
|
* FindOpenMP: Improve documentation formattingBrad King2016-07-131-11/+8
| | | | | Also drop link to OpenMP compilers because our supported list may not include all compilers.
* FindOpenMP: Add Clang supportChris Pavlina2015-12-101-0/+3
|
* FindOpenMP: Use fixed form Fortran test programNils Gladitz2014-11-201-5/+5
| | | | | | This prevents the test program from failing when build as Fortran 77. Suggested-by: Alin Marin Elena <alinm.elena@gmail.com>
* FindOpenMP: Add support for Fortran (#14656)Nicolas Bock2014-08-181-0/+47
|
* FindOpenMP: ICC 15 deprecates -openmp, use -qopenmpAdam Strzelecki2014-06-271-1/+4
| | | | | | Intel Composer XE 2015 Beta 2 deprecates all options starting with -o for sake of compatibility with other compilers expecting anything goes after -o... is output file name.
* Find*: Make find_package(.. QUIET) affect Check* modules.Clinton Stimpson2014-03-301-2/+10
| | | | | | | | | | Fixes issues #14812 and #14813 where find_package(OpenMP QUIET) and find_package(Qt4 QUIET) would still print out messages when calling check*() functions. Also a partial fix for #14445 where building CMake (without cmake-gui) when Qt5 is installed and Qt4 is not installed and warnings come out of FindQt4.cmake.
* Merge topic 'openmp-cray'Brad King2013-11-141-4/+5
|\ | | | | | | | | ebf70b0 FindOpenMP: fix detecting compilers that do not need any special flag (#14567)
| * FindOpenMP: fix detecting compilers that do not need any special flag (#14567)Rolf Eike Beer2013-11-131-4/+5
| |
* | Convert builtin help to reStructuredText source filesKitware Robot2013-10-151-7/+18
|/ | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* FindOpenMP: improve documentation (#13895)Rolf Eike Beer2013-02-131-1/+3
|
* Find* (and some other): use ${CMAKE_CURRENT_LIST_DIR} in include()Rolf Eike Beer2012-11-041-2/+2
| | | | | | This solves a lots of warnings, e.g. in the FindModulesExecuteAll test. If the installed version on the system is rather old this may even lead to bugs, e.g. https://bugs.gentoo.org/show_bug.cgi?id=436540
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-5/+5
| | | | | | | | | | | | | | | | | 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/ \+$//'
* FindOpenMP: simplify check for enabled languagesRolf Eike Beer2012-02-221-10/+2
|
* FindOpenMP: try the most likely flags firstRolf Eike Beer2012-02-181-32/+67
| | | | | | Since we know which compiler we have we can test those OpenMP flags first that are likely to be correct. This doesn't make any difference for GNU compilers, but it should avoid useless try_compiles and output cluttering for all others.