Adding CMake to manage the build process#774
Open
mikefero wants to merge 2 commits intoExpensify:mainfrom
Open
Adding CMake to manage the build process#774mikefero wants to merge 2 commits intoExpensify:mainfrom
mikefero wants to merge 2 commits intoExpensify:mainfrom
Conversation
|
This looks amazing, thank you! |
- 1:1 recreation of standard Makefile process - Added checks for library dependencies - Added source and folder grouping for IDE development - Moved test framework (tpunit) into a static library - Added error for Windows and warning for WSL Note: - Use '-DENABLE_MBEDTLS_PROGRAMS=On' to build libmedtls programs - Use '-DENABLE_PRODUCTION=On' for testplugin library - Use '-DENABLE_TESTING=On' to build tests and test dependencies - Use '-DCMAKE_VERBOSE_MAKEFILE=On' to see full build process
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tpunitinto a static libraryThis CMake build process will allow for different release, debug, and relwithdebug builds by adding the CMake build flag
-DCMAKE_BUILD_TYPE=<Debug|Release|RelWithDebug>. This also increases the speed of build process by approximately 30-40% when compared against the TravisCI build matrix (part of this is due to the libmbedtls programs not being built by default and movingtpunitinto a static library). "Out-of-tree" builds are also possible when using CMake to configure and manage the build process.IDE
source_groupandFOLDERusage can be seen here:Note:
-DENABLE_MBEDTLS_PROGRAMS=Onto build libmedtls programs-DENABLE_PRODUCTION=Onfor testplugin library-DENABLE_TESTING=Onto build tests and test dependencies-DCMAKE_VERBOSE_MAKEFILE=Onto see full build processStandard
makebuild process is still available with this addition.