Skip to content

Commit d574ea3

Browse files
committed
Add gersemi as a formatter for CMake files
1 parent 09633d1 commit d574ea3

File tree

19 files changed

+529
-423
lines changed

19 files changed

+529
-423
lines changed
Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
22
# file Copyright.txt or https://cmake.org/licensing for details.
33

4-
54
# This module is shared by multiple languages; use include blocker.
65
if(__WINDOWS_INTEL)
7-
return()
6+
return()
87
endif()
98
set(__WINDOWS_INTEL 1)
109

1110
include(Platform/Windows-MSVC)
1211
macro(__windows_compiler_intel lang)
13-
__windows_compiler_msvc(${lang})
14-
15-
set(CMAKE_${lang}_LINK_EXECUTABLE "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
16-
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
17-
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
18-
if (NOT "${lang}" STREQUAL "Fortran") # Fortran driver does not support -fuse-ld, yet
19-
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> -link <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
20-
endif()
21-
set(CMAKE_DEPFILE_FLAGS_${lang} "-QMMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
22-
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)
12+
__windows_compiler_msvc(${lang})
2313

14+
set(CMAKE_${lang}_LINK_EXECUTABLE
15+
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}"
16+
)
17+
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
18+
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD -link -out:<TARGET> -implib:<TARGET_IMPLIB> -pdb:<TARGET_PDB> -version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}"
19+
)
20+
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
21+
if(NOT "${lang}" STREQUAL "Fortran") # Fortran driver does not support -fuse-ld, yet
22+
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
23+
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> -link <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}"
24+
)
25+
endif()
26+
set(CMAKE_DEPFILE_FLAGS_${lang} "-QMMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
27+
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)
2428
endmacro()
Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
22
# file Copyright.txt or https://cmake.org/licensing for details.
33

4-
54
# This module is shared by multiple languages; use include blocker.
65
if(__WINDOWS_INTEL_LLVM)
7-
return()
6+
return()
87
endif()
98
set(__WINDOWS_INTEL_LLVM 1)
109

@@ -15,52 +14,65 @@ set(__WINDOWS_INTEL_LLVM 1)
1514

1615
# Save original CMAKE_${t}_LINKER_FLAGS_INIT
1716
foreach(t EXE SHARED MODULE STATIC)
18-
set(_saved_cmake_${t}_linker_flags_init ${CMAKE_${t}_LINKER_FLAGS_INIT})
19-
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
17+
set(_saved_cmake_${t}_linker_flags_init ${CMAKE_${t}_LINKER_FLAGS_INIT})
18+
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
2019
endforeach()
2120
include(Platform/Windows-MSVC)
2221
# Wrap linker flags from Windows-MSVC
2322
set(_IntelLLVM_LINKER_WRAPPER_FLAG "/Qoption,link,")
2423
set(_IntelLLVM_LINKER_WRAPPER_FLAG_SEP ",")
2524
foreach(t EXE SHARED MODULE STATIC)
26-
set(_wrapped_linker_flags "")
27-
foreach(flag ${CMAKE_${t}_LINKER_FLAGS_INIT})
28-
string(STRIP ${flag} flag)
29-
list(APPEND _wrapped_linker_flags "${_IntelLLVM_LINKER_WRAPPER_FLAG}${flag}")
30-
endforeach()
31-
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
32-
list(APPEND CMAKE_${t}_LINKER_FLAGS_INIT
33-
${_saved_cmake_${t}_linker_flags_init} ${_wrapped_linker_flags})
25+
set(_wrapped_linker_flags "")
26+
foreach(flag ${CMAKE_${t}_LINKER_FLAGS_INIT})
27+
string(STRIP ${flag} flag)
28+
list(APPEND _wrapped_linker_flags "${_IntelLLVM_LINKER_WRAPPER_FLAG}${flag}")
29+
endforeach()
30+
set(CMAKE_${t}_LINKER_FLAGS_INIT "")
31+
list(
32+
APPEND CMAKE_${t}_LINKER_FLAGS_INIT
33+
${_saved_cmake_${t}_linker_flags_init}
34+
${_wrapped_linker_flags}
35+
)
3436
endforeach()
3537

3638
macro(__windows_compiler_intel lang)
37-
__windows_compiler_msvc(${lang})
39+
__windows_compiler_msvc(${lang})
3840

39-
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "${_IntelLLVM_LINKER_WRAPPER_FLAG}")
40-
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP "${_IntelLLVM_LINKER_WRAPPER_FLAG_SEP}")
41-
set(CMAKE_${lang}_CREATE_WIN32_EXE "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:windows")
42-
set(CMAKE_${lang}_CREATE_CONSOLE_EXE "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:console")
43-
set(CMAKE_LINK_DEF_FILE_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/DEF:")
44-
set(CMAKE_LIBRARY_PATH_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/LIBPATH:")
41+
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "${_IntelLLVM_LINKER_WRAPPER_FLAG}")
42+
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG_SEP "${_IntelLLVM_LINKER_WRAPPER_FLAG_SEP}")
43+
set(CMAKE_${lang}_CREATE_WIN32_EXE
44+
"${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:windows"
45+
)
46+
set(CMAKE_${lang}_CREATE_CONSOLE_EXE
47+
"${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/subsystem:console"
48+
)
49+
set(CMAKE_LINK_DEF_FILE_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/DEF:")
50+
set(CMAKE_LIBRARY_PATH_FLAG "${CMAKE_${lang}_LINKER_WRAPPER_FLAG}/LIBPATH:")
4551

46-
# Features for LINK_LIBRARY generator expression
47-
if(MSVC_VERSION GREATER "1900")
48-
## WHOLE_ARCHIVE: Force loading all members of an archive
49-
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:/WHOLEARCHIVE:<LIBRARY>")
50-
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE_SUPPORTED TRUE)
51-
endif()
52+
# Features for LINK_LIBRARY generator expression
53+
if(MSVC_VERSION GREATER "1900")
54+
## WHOLE_ARCHIVE: Force loading all members of an archive
55+
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:/WHOLEARCHIVE:<LIBRARY>")
56+
set(CMAKE_LINK_LIBRARY_USING_WHOLE_ARCHIVE_SUPPORTED TRUE)
57+
endif()
5258

53-
set(CMAKE_${lang}_LINK_EXECUTABLE
54-
"${_CMAKE_VS_LINK_EXE}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <LINK_LIBRARIES> /link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}")
55-
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
56-
"${_CMAKE_VS_LINK_DLL}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD <LINK_FLAGS> <LINK_LIBRARIES> -link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}")
57-
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
58-
if (NOT "${lang}" STREQUAL "Fortran" OR CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 2022.1)
59-
# The Fortran driver does not support -fuse-ld=llvm-lib before compiler version 2022.1
60-
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
61-
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
62-
endif()
59+
set(CMAKE_${lang}_LINK_EXECUTABLE
60+
"${_CMAKE_VS_LINK_EXE}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} <LINK_FLAGS> <LINK_LIBRARIES> /link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}"
61+
)
62+
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
63+
"${_CMAKE_VS_LINK_DLL}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -LD <LINK_FLAGS> <LINK_LIBRARIES> -link /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR>${_PLATFORM_LINK_FLAGS} ${CMAKE_END_TEMP_FILE}"
64+
)
65+
set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
66+
if(
67+
NOT "${lang}" STREQUAL "Fortran"
68+
OR CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 2022.1
69+
)
70+
# The Fortran driver does not support -fuse-ld=llvm-lib before compiler version 2022.1
71+
set(CMAKE_${lang}_CREATE_STATIC_LIBRARY
72+
"<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} <CMAKE_${lang}_LINK_FLAGS> <OBJECTS> ${CMAKE_START_TEMP_FILE} -fuse-ld=llvm-lib -o <TARGET> <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}"
73+
)
74+
endif()
6375

64-
set(CMAKE_DEPFILE_FLAGS_${lang} "-QMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
65-
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)
76+
set(CMAKE_DEPFILE_FLAGS_${lang} "-QMD -QMT <DEP_TARGET> -QMF <DEP_FILE>")
77+
set(CMAKE_${lang}_DEPFILE_FORMAT gcc)
6678
endmacro()

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,9 @@ repos:
127127
rev: v1.7.8
128128
hooks:
129129
- id: actionlint
130+
- repo: https://github.com/BlankSpruce/gersemi
131+
rev: 0.23.1
132+
hooks:
133+
- id: gersemi
134+
exclude: "dpnp/backend/cmake/Modules/"
135+
args: ["-i", "-l", "88", "--no-warn-about-unknown-commands"]

0 commit comments

Comments
 (0)