-
Notifications
You must be signed in to change notification settings - Fork 193
/
CMakeLists.txt
61 lines (45 loc) · 1.56 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#[[
This source file is part of the Swift System open source project
Copyright (c) 2024 Apple Inc. and the Swift System project authors
Licensed under Apache License v2.0 with Runtime Library Exception
See https://swift.org/LICENSE.txt for license information
#]]
cmake_minimum_required(VERSION 3.19.0)
if(POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()
if(POLICY CMP0091)
cmake_policy(SET CMP0091 NEW)
endif()
project(SwiftMarkdown
LANGUAGES C Swift)
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/swift)
set(CMAKE_Swift_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY MultiThreadedDLL)
include(FetchContent)
include(SwiftSupport)
set(_SM_VENDOR_DEPENDENCIES)
set(BUILD_EXAMPLES NO)
set(BUILD_TESTING NO)
find_package(ArgumentParser CONFIG)
if(NOT ArgumentParser_FOUND)
FetchContent_Declare(ArgumentParser
GIT_REPOSITORY https://github.com/apple/swift-argument-parser
GIT_TAG 1.2.3)
list(APPEND _SM_VENDOR_DEPENDENCIES ArgumentParser)
endif()
find_package(cmark-gfm CONFIG)
if(NOT cmark-gfm_FOUND)
FetchContent_Declare(cmark-gfm
GIT_REPOSITORY https://github.com/apple/swift-cmark
GIT_TAG gfm)
list(APPEND _SM_VENDOR_DEPENDENCIES cmark-gfm)
endif()
if(_SM_VENDOR_DEPENDENCIES)
FetchContent_MakeAvailable(${_SM_VENDOR_DEPENDENCIES})
endif()
add_subdirectory(Sources)
add_subdirectory(cmake/modules)