Skip to content

Commit 0d3f6a9

Browse files
authored
Merge pull request #70791 from compnerd/cmark
build: update for cmark build revamp and split the build
2 parents ec7a7c6 + 49a5098 commit 0d3f6a9

File tree

4 files changed

+26
-24
lines changed

4 files changed

+26
-24
lines changed

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,11 +784,17 @@ if (CMAKE_Swift_COMPILER)
784784
else()
785785
message(STATUS "Swift Compiler (None).")
786786
endif()
787+
788+
set(THREADS_PREFER_PTHREAD_FLAG YES)
789+
include(FindThreads)
790+
787791
if(SWIFT_PATH_TO_CMARK_BUILD)
788792
execute_process(COMMAND ${SWIFT_PATH_TO_CMARK_BUILD}/src/cmark --version
789793
OUTPUT_VARIABLE _CMARK_VERSION
790794
OUTPUT_STRIP_TRAILING_WHITESPACE)
791795
message(STATUS "CMark Version: ${_CMARK_VERSION}")
796+
elseif(SWIFT_INCLUDE_TOOLS)
797+
find_package(cmark-gfm CONFIG REQUIRED)
792798
endif()
793799
message(STATUS "")
794800

cmake/modules/SwiftSharedCMakeConfig.cmake

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -278,24 +278,6 @@ macro(swift_common_unified_build_config product)
278278

279279
include_directories(${CLANG_INCLUDE_DIRS})
280280

281-
# If cmark was checked out into tools/cmark, expect to build it as
282-
# part of the unified build.
283-
if(EXISTS "${LLVM_EXTERNAL_CMARK_SOURCE_DIR}")
284-
set(${product}_PATH_TO_CMARK_SOURCE "${LLVM_EXTERNAL_CMARK_SOURCE_DIR}")
285-
set(${product}_PATH_TO_CMARK_BUILD "${CMAKE_BINARY_DIR}/tools/cmark")
286-
set(${product}_CMARK_LIBRARY_DIR "${CMAKE_BINARY_DIR}/lib")
287-
288-
get_filename_component(CMARK_MAIN_SRC_DIR "${${product}_PATH_TO_CMARK_SOURCE}"
289-
ABSOLUTE)
290-
get_filename_component(PATH_TO_CMARK_BUILD "${${product}_PATH_TO_CMARK_BUILD}"
291-
ABSOLUTE)
292-
get_filename_component(CMARK_LIBRARY_DIR "${${product}_CMARK_LIBRARY_DIR}"
293-
ABSOLUTE)
294-
295-
include_directories(${PATH_TO_CMARK_BUILD}/src
296-
${CMARK_MAIN_SRC_DIR}/src/include)
297-
endif()
298-
299281
include(AddSwiftTableGen) # This imports TableGen from LLVM.
300282
endmacro()
301283

lib/Markup/CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,4 @@ add_swift_host_library(swiftMarkup STATIC
33
LineList.cpp
44
Markup.cpp)
55
target_link_libraries(swiftMarkup PRIVATE
6-
libcmark-gfm_static)
7-
target_compile_definitions(swiftMarkup
8-
PRIVATE
9-
CMARK_GFM_STATIC_DEFINE)
10-
6+
libcmark-gfm)

utils/build.ps1

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,22 @@ function Build-WiXProject() {
847847
Invoke-Program $msbuild @MSBuildArgs
848848
}
849849

850+
function Build-CMark($Arch) {
851+
$ArchName = $Arch.ShortName
852+
853+
Build-CMakeProject `
854+
-Src $SourceCache\cmark `
855+
-Bin "$($Arch.BinaryCache)\cmark-gfm-0.29.0.gfm.13" `
856+
-InstallTo "$LibraryRoot\cmark-0.29.0.gfm.13\usr" `
857+
-Arch $Arch `
858+
-BuildTargets default `
859+
-Defines @{
860+
BUILD_SHARED_LIBS = "NO";
861+
BUILD_TESTING = "NO";
862+
CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP = "YES";
863+
}
864+
}
865+
850866
function Build-BuildTools($Arch) {
851867
Build-CMakeProject `
852868
-Src $SourceCache\llvm-project\llvm `
@@ -878,6 +894,7 @@ function Build-BuildTools($Arch) {
878894
SWIFT_INCLUDE_APINOTES = "NO";
879895
SWIFT_INCLUDE_DOCS = "NO";
880896
SWIFT_INCLUDE_TESTS = "NO";
897+
"cmark-gfm_DIR" = "$($HostArch.BinaryCache)\cmark-gfm-0.29.0.gfm.13";
881898
}
882899
}
883900

@@ -941,7 +958,6 @@ function Build-Compilers() {
941958
LLDB_PYTHON_RELATIVE_PATH = "lib/site-packages";
942959
LLDB_TABLEGEN = "$BinaryCache\0\bin\lldb-tblgen.exe";
943960
LLVM_CONFIG_PATH = "$BinaryCache\0\bin\llvm-config.exe";
944-
LLVM_EXTERNAL_CMARK_SOURCE_DIR = "$SourceCache\cmark";
945961
LLVM_EXTERNAL_SWIFT_SOURCE_DIR = "$SourceCache\swift";
946962
LLVM_NATIVE_TOOL_DIR = "$BinaryCache\0\bin";
947963
LLVM_TABLEGEN = "$BinaryCache\0\bin\llvm-tblgen.exe";
@@ -959,6 +975,7 @@ function Build-Compilers() {
959975
SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE = "$SourceCache\swift-syntax";
960976
SWIFT_PATH_TO_STRING_PROCESSING_SOURCE = "$SourceCache\swift-experimental-string-processing";
961977
SWIFT_PATH_TO_SWIFT_SDK = (Get-PinnedToolchainSDK);
978+
"cmark-gfm_DIR" = "$($HostArch.BinaryCache)\cmark-gfm-0.29.0.gfm.13";
962979
})
963980
}
964981
}
@@ -1743,6 +1760,7 @@ if (-not $SkipBuild) {
17431760
}
17441761

17451762
if (-not $SkipBuild) {
1763+
Invoke-BuildStep Build-CMark $HostArch
17461764
Invoke-BuildStep Build-BuildTools $HostArch
17471765
Invoke-BuildStep Build-Compilers $HostArch
17481766
}

0 commit comments

Comments
 (0)