mirror of
https://github.com/apple/swift-argument-parser.git
synced 2026-05-07 20:12:41 +00:00
e9051489bb
These packages are not marked `REQUIRED` and when this project is used as a dependency of another CMake project they don't need to be findable when this CMakeLists.txt is read. They may in fact be found later in the configuration process, so the messages when they actually _are_ needed, so the messages ``` -- Could NOT find dispatch (missing: dispatch_DIR) -- Could NOT find Foundation (missing: Foundation_DIR) -- Could NOT find XCTest (missing: XCTest_DIR) ``` are needlessly alarming.
41 lines
1001 B
CMake
41 lines
1001 B
CMake
cmake_minimum_required(VERSION 3.19)
|
|
|
|
# Due to a bug in CMake, we need to enable the C language before we can use
|
|
# GNUInstallDirs.
|
|
project(swift-argument-parser
|
|
LANGUAGES C Swift)
|
|
|
|
option(BUILD_EXAMPLES "Build Example Programs" TRUE)
|
|
option(BUILD_SHARED_LIBS "Build shared libraries by default" YES)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_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)
|
|
|
|
include(CTest)
|
|
|
|
include(GNUInstallDirs)
|
|
include(SwiftSupport)
|
|
|
|
if(NOT APPLE)
|
|
find_package(dispatch CONFIG)
|
|
find_package(Foundation CONFIG)
|
|
if(BUILD_TESTING)
|
|
find_package(XCTest CONFIG)
|
|
endif()
|
|
endif()
|
|
|
|
add_subdirectory(Sources)
|
|
if(BUILD_EXAMPLES)
|
|
add_subdirectory(Examples)
|
|
endif()
|
|
if(BUILD_TESTING)
|
|
add_subdirectory(Tests)
|
|
endif()
|
|
|
|
add_subdirectory(cmake/modules)
|