-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added a module and corresponding tests #91
base: main
Are you sure you want to change the base?
Conversation
May I help you? I see some cmake issues with installing the code with module. |
I'd certainly appreciate help with that one! There are two things I think I need help with (note: I don't understand
|
I will try to fix it
Yes, and this
There are some limitations right now:
see too cxx_modules |
done: bash-5.2$ cmake --workflow release
# ...
Executing workflow step 3 of 4: test preset "release"
Test project /Users/clausklein/Workspace/cpp/beman-project/execution26/build/release
Start 1: beman.execution26.execution-module.test
1/3 Test #1: beman.execution26.execution-module.test .... Passed 0.32 sec
Start 2: beman.execution26.stop-token-module.test
2/3 Test #2: beman.execution26.stop-token-module.test ... Passed 0.26 sec
Start 3: find-package-test
3/3 Test #3: find-package-test .......................... Passed 1.95 sec
100% tests passed, 0 tests failed out of 3
Total Test time (real) = 2.53 sec
Executing workflow step 4 of 4: package preset "release"
CPack: Create package using TGZ
CPack: Install projects
CPack: - Install project: beman_execution26 [Release]
CPack: Create package
CPack: - package: /Users/clausklein/Workspace/cpp/beman-project/execution26/build/release/beman_execution26-0.1.0-Darwin.tar.gz generated.
bash-5.2$ tree stagedir/lib/cmake/
stagedir/lib/cmake/
`-- beman_execution26
|-- beman_execution26-config-version.cmake
|-- beman_execution26-config.cmake
|-- beman_execution26-targets-relwithdebinfo.cmake
|-- beman_execution26-targets.cmake
`-- src
`-- execution.cppm
3 directories, 5 files
bash-5.2$ |
* First step to install cxx_module * Allow CI workflow to run on every branch * Disable g++ builds for now * Cleanup * Set CXX_MODULES_DIRECTORY and CMAKE_DEBUG_POSTFIX * Fix module example * Prevent linker problems with sanitizer or gcov
I have started to implemented a it is based on Boost modules benchmark and POC |
Dit you read this paper: C++20 modules and Boost: deep dive? |
I have read the documents now. It seems at most module support could become an option and it may need to be done differently. The current state was an attempt testing things out and I hoped that there is something useful coming from that. My plan is to do whatever is needed to enable module use for One issue which may cause grief is that various names are defined hidden and imported into the proper namespace with a |
I got the |
The
CMakeLists.txt
aren't quite right, yet:Also, there is probably some suitable guard needed to avoid trying to compile modules when there isn't any support. It seems
clang++
has some level of implementation of modules but doesn't define the feature test macro. I haven't tried withgcc
or MSVC++, yet.