File tree 4 files changed +24
-2
lines changed 4 files changed +24
-2
lines changed Original file line number Diff line number Diff line change 1
1
cmake_minimum_required (VERSION 3.16.0)
2
2
3
+ list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} /cmake/modules)
4
+
3
5
project (swift-argument-parser
4
6
LANGUAGES Swift)
5
7
6
8
option (BUILD_EXAMPLES "Build Example Programs" TRUE )
9
+ option (BUILD_SHARED_LIBS "Build shared libraries by default" YES )
7
10
8
11
include (CTest)
9
12
13
+ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib)
14
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib)
15
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
10
16
set (CMAKE_Swift_MODULE_DIRECTORY ${CMAKE_BINARY_DIR} /swift)
11
17
12
18
find_package (Foundation QUIET )
@@ -20,5 +26,4 @@ if(BUILD_TESTING)
20
26
add_subdirectory (Tests)
21
27
endif ()
22
28
23
- export (TARGETS ArgumentParser
24
- FILE swift-argument-parser-config.cmake)
29
+ add_subdirectory (cmake/modules)
Original file line number Diff line number Diff line change @@ -2,3 +2,9 @@ add_subdirectory(ArgumentParser)
2
2
if (BUILD_TESTING)
3
3
add_subdirectory (ArgumentParserTestHelpers)
4
4
endif ()
5
+
6
+ set_property (GLOBAL APPEND PROPERTY ArgumentParser_EXPORTS ArgumentParser)
7
+
8
+ # NOTE: workaround for CMake not setting up include flags yet
9
+ set_target_properties (ArgumentParser PROPERTIES
10
+ INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY} )
Original file line number Diff line number Diff line change
1
+ if (NOT TARGET ArgumentParser)
2
+ include (@ArgumentParser_EXPORTS_FILE@)
3
+ endif ()
Original file line number Diff line number Diff line change
1
+ set (ArgumentParser_EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR} /ArgumentParserExports.cmake)
2
+
3
+ configure_file (ArgumentParserConfig.cmake.in
4
+ ${CMAKE_CURRENT_BINARY_DIR} /ArgumentParserConfig.cmake)
5
+
6
+ get_property (ArgumentParser_EXPORTS GLOBAL PROPERTY ArgumentParser_EXPORTS)
7
+ export (TARGETS ${ArgumentParser_EXPORTS}
8
+ FILE ${ArgumentParser_EXPORTS_FILE} )
You can’t perform that action at this time.
0 commit comments