summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Windows.cmake
Commit message (Collapse)AuthorAgeFilesLines
* MSVC: Teach find_library to consider the 'libfoo.a' naming conventionBrad King2024-01-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When targeting the GNU ABI, we consider `.a` libraries first but also accept `.lib`. For symmetry, when targeting the MSVC ABI, we now consider `.lib` first but also accept `.a`. This adds support for meson-generated static libraries, which are named with the pattern `lib${foo}.a`: * https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa Note that this was previously attempted by * commit be848a71b0 (MSVC: Teach find_library to consider the 'libfoo.a' naming convention, 2022-09-19, v3.25.0-rc1~111^2) but was reverted by * commit 955d6245c1 (MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2) due to problems finding GNU ABI libraries in PATH-derived prefixes. Since then, * commit 0a81110b84 (find_(library|file|path): Drop PATH-derived search prefixes, 2023-09-14, v3.28.0-rc1~91^2) removed the problematic search paths, so we can restore this change. Fixes: #23975
* MSVC: Teach find_library to consider Rust's '${name}.dll.lib' conventionDaniel Ching2023-12-081-1/+4
| | | | | | | This convention is used by Rust toolchains (rustc/cargo/cargo-c) for the MSVC ABI. Fixes: #25478
* Windows: Add experimental WindowsKernelModeDriver platformKyle Edwards2023-07-171-1/+5
|
* enable_language: Establish target platform identification variables earlierBrad King2023-06-071-10/+0
| | | | | | | | Set target platform identification variables like `APPLE` and `LINUX` as soon as the target system is identified. This makes them available during toolchain and binutils selection. Fixes: #23333
* MSVC: Revert "Teach find_library to consider the 'libfoo.a' naming convention"Brad King2022-11-281-2/+2
| | | | | | | | | | | | Revert commit be848a71b0 (MSVC: Teach find_library to consider the 'libfoo.a' naming convention, 2022-09-19, v3.25.0-rc1~111^2). When targeting the MSVC ABI, this causes GNU-ABI libraries to be found in cases they were not previously, and broke existing builds. Revert the change pending further discussion on how to handle the motivating use case. Issue: #23975 Fixes: #24168
* MSVC: Teach find_library to consider the 'libfoo.a' naming conventionYonggang Luo2022-09-191-2/+2
| | | | | | | | | | | | | | When targeting the GNU ABI, we consider `.a` libraries first but also accept `.lib`. For symmetry, when targeting the MSVC ABI, we now consider `.lib` first but also accept `.a`. This adds support for meson-generated static libraries, which are named with the pattern `lib${foo}.a`: * https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa Fixes: #23975 Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
* VS: Treat libraries ending in `.targets` as msbuild importsSoji Yamakawa2016-11-091-0/+1
| | | | | | | Generate `<Import Project="..." .../>` to import the `.targets` files into `.vcxproj` files. Closes: #16340
* Define 'WINDOWS_PHONE' and 'WINDOWS_STORE' variablesGilles Khouzam2014-07-311-0/+4
| | | | | Set one of these when CMAKE_SYSTEM_NAME is "WindowsPhone" or "WindowsStore", respectively.
* WindowsCE: Refactor setting of "WINCE"Brad King2014-07-281-0/+4
| | | | | | Move it to the Platform/Windows module since it is independent of the compiler used. While at it, remove redundant "WIN32" setting from Platform/Windows-MSVC since Plaform/Windows already sets its.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-2/+2
| | | | | | | | | | | | | | | | | 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
* Convert CMake-language commands to lower caseKitware Robot2012-08-131-24/+24
| | | | | | | | | | | | | | | | | Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code: cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | xargs -0 sed -i -f convert.sed && rm convert.sed
* ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set inAlexander Neundorf2007-08-091-0/+2
| | | | | | | | | | | | | | cmMakefile.cxx, but now in the platform files and are now valid for the target platform, not the host platform. New variables CMAKE_HOST_WIN32, CMAKE_HOST_UNIX, CMAKE_HOST_APPLE and CMAKE_HOST_CYGWIN have been added in cmMakefile.cxx (...and have now to be used in all cmake files which are executed before CMakeSystemSpecificInformation.cmake is loaded). For compatibility the old set is set to the new one in CMakeDetermineSystem.cmake and reset before the system platform files are loaded, so custom language or compiler modules which use these should still work. Alex
* ENH: use WindowsPaths.cmake on all Windows platforms, not only for cl, makesAlexander Neundorf2007-08-021-2/+2
| | | | | | | the mingw cross compiler work out of the box and should help mingw users on windows with a common install dir Alex
* ENH: Generate import libraries for DLLs on Cygwin and MinGW.Brad King2006-02-181-0/+2
|
* ENH: Added platform settings CMAKE_FIND_LIBRARY_PREFIXES and ↵Brad King2006-02-091-0/+3
| | | | CMAKE_FIND_LIBRARY_SUFFIXES to allow customized searching for libraries.
* BUG: fix for bug 2322, use CMAKE_EXECUTABLE_SUFFIX variable for exe suffixBill Hoffman2006-01-021-0/+1
|
* ENH: add the unix makefile generator as an option from the windows GUI, this ↵Bill Hoffman2003-08-211-0/+22
| | | | builds with mingw, cygwin, and combinations of make cl, bcc32
* Complete rework of makefile generators expect troubleBill Hoffman2002-11-081-0/+6