Skip to content

Conversation

@compnerd
Copy link
Member

This updates the CMake build to bring it to parity with the autotools build. It also cleans up some of the custom list management for more modern approaches.

Use the target_sources function to add additional sources to the
dispatch target rather than managing lists.  This simplifies the
handling and modernises the CMake usage.
@compnerd
Copy link
Member Author

CC @das @MadCoder @llvm-beanz @gottesmm

Add support to the cmake based build system to use the internal pthread
workqueue implementation.  This restores parity with the autotools
build.
@das
Copy link
Contributor

das commented Jun 28, 2017

very cool, thanks!

BTW, I've made some progress on getting the CMake build to work on Darwin (against submodules of the dependent projects under github.com/apple/darwin*), I'll have to rebase on top of this and see if that solves some of the problems I was running into

@compnerd
Copy link
Member Author

@das awesome! Really looking forward to seeing this become the one build system for libdispatch. I am able to build with this change on linux and all tests pass. If you have specific things that I can try to address in the build system, to help in getting everything switched over, let me know!

swift/Wrapper.swift
CFLAGS
-fblocks
-fmodule-map-file=${CMAKE_SOURCE_DIR}/dispatch/module.modulemap
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a pre-existing bug but this is the linux modulemap, if we ever want this part to work on Darwin this path will need to be conditionalized per platform

@das das merged commit b791d23 into swiftlang:master Jun 28, 2017
@das das mentioned this pull request Jun 28, 2017
das added a commit that referenced this pull request Jul 31, 2017
cmake parity updates

Signed-off-by: Daniel A. Steffen <dsteffen@apple.com>
@das das removed the darwin pending label Aug 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants