@@ -112,22 +112,35 @@ macro(swift_common_standalone_build_config_llvm product is_cross_compiling)
112
112
endmacro ()
113
113
114
114
macro (swift_common_standalone_build_config_clang product is_cross_compiling )
115
- # Clang
116
115
set (${product} _PATH_TO_CLANG_SOURCE "${PATH_TO_LLVM_SOURCE} /tools/clang"
117
116
CACHE PATH "Path to Clang source code." )
118
117
set (${product} _PATH_TO_CLANG_BUILD "${PATH_TO_LLVM_BUILD} " CACHE PATH
119
118
"Path to the directory where Clang was built or installed." )
120
119
121
- if (NOT EXISTS "${${product} _PATH_TO_CLANG_SOURCE}/include/clang/AST/Decl.h" )
120
+ set (PATH_TO_CLANG_SOURCE "${${product} _PATH_TO_CLANG_SOURCE}" )
121
+ set (PATH_TO_CLANG_BUILD "${${product} _PATH_TO_CLANG_BUILD}" )
122
+
123
+ # Add all Clang CMake paths to our cmake module path.
124
+ set (SWIFT_CLANG_CMAKE_PATHS
125
+ "${PATH_TO_CLANG_BUILD} /share/clang/cmake" )
126
+ foreach (path ${SWIFT_CLANG_CMAKE_PATHS} )
127
+ list (APPEND CMAKE_MODULE_PATH ${path} )
128
+ endforeach ()
129
+
130
+ # Then include ClangTargets.cmake. If Clang adds a ClangConfig.cmake, this is
131
+ # where it will be included. By including ClangTargets.cmake, we at least get
132
+ # the right dependency ordering for clang libraries.
133
+ include (ClangTargets )
134
+
135
+ if (NOT EXISTS "${PATH_TO_CLANG_SOURCE} /include/clang/AST/Decl.h" )
122
136
message (FATAL_ERROR "Please set ${product} _PATH_TO_CLANG_SOURCE to the root directory of Clang's source code." )
123
137
endif ()
124
- get_filename_component (CLANG_MAIN_SRC_DIR ${${product}_PATH_TO_CLANG_SOURCE}
125
- ABSOLUTE )
138
+ get_filename_component (CLANG_MAIN_SRC_DIR "${PATH_TO_CLANG_SOURCE} " ABSOLUTE )
126
139
127
- if (NOT EXISTS "${${product} _PATH_TO_CLANG_BUILD }/tools/clang/include/clang/Basic/Version.inc" )
140
+ if (NOT EXISTS "${PATH_TO_CLANG_BUILD } /tools/clang/include/clang/Basic/Version.inc" )
128
141
message (FATAL_ERROR "Please set ${product} _PATH_TO_CLANG_BUILD to a directory containing a Clang build." )
129
142
endif ()
130
- set (CLANG_BUILD_INCLUDE_DIR "${${product} _PATH_TO_CLANG_BUILD }/tools/clang/include" )
143
+ set (CLANG_BUILD_INCLUDE_DIR "${PATH_TO_CLANG_BUILD } /tools/clang/include" )
131
144
132
145
if (NOT ${is_cross_compiling} )
133
146
set (${product} _NATIVE_CLANG_TOOLS_PATH "${PATH_TO_LLVM_TOOLS_BINARY_DIR} " )
0 commit comments