Skip to content
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

New build system #730

Merged
merged 62 commits into from
Apr 5, 2020
Merged

New build system #730

merged 62 commits into from
Apr 5, 2020

Conversation

PeterMatula
Copy link
Collaborator

Solves #648.

TeamCity will check that RetDec as a whole can be build on Linux, macOS, and Windows.

I also used https://github.com/avast/retdec-build-system-tests to check all the individual components on my Linux machine and our Linux servers. I partially did the same on our Windows server, but for some reason it is unable to compile OpenSSL and I was not able to solve that. It is not caused by these changes, it cannot do so even in master - there is simply something wrong on that machine. I checked only the components that do not transitively depend on OpenSSL and it looks like it is OK. I have no macOS machine to manually do these tests, so we will look into potential problems once they are reported.

this allows us to set it to ODD and build only documentation
When they are absolute, then all the paths in instaled cmake scripts are absolute - install dir could not be moved.
PeterMatula and others added 21 commits April 2, 2020 18:49
I have no idea why it doesn't work with PRIVATE.
1. Protect against including the same target file multiple times. It looks like this was not a problem, but who knows.
2. Use find_package() instead of find_dependency(). It looks like the later does not work correctly for components on some CMake versions.
Only the main RetDec version file is needed.
It is used to find the same version retdec components.
…ity settings

Since we probably will make breaking changes, make retdec installation compatible only with the same version.
Previous version should work, but there is a CMake bug in older versions which screws it up on Windows and macOS.
@PeterMatula PeterMatula self-assigned this Apr 5, 2020
@PeterMatula PeterMatula added this to the RetDec v4 milestone Apr 5, 2020
@PeterMatula PeterMatula merged commit 8fea90b into master Apr 5, 2020
@PeterMatula PeterMatula deleted the new-build-system branch April 6, 2020 20:37
xkubov pushed a commit to radareorg/r2retdec that referenced this pull request Apr 12, 2020
RetDec's Build system was refactored and introduced in pull request
avast/retdec#730

This PR provided new way for building RetDec's libraries that is
more convenient. There is no need to specify full paths of files
of builded libraries.
xkubov pushed a commit to radareorg/r2retdec that referenced this pull request Apr 12, 2020
RetDec's Build system was refactored and introduced in pull request
avast/retdec#730

This PR provided new way for building RetDec's libraries that is
more convenient. There is no need to specify full paths of files
of builded libraries.
xkubov pushed a commit to radareorg/r2retdec that referenced this pull request Apr 12, 2020
RetDec's Build system was refactored and introduced in pull request
avast/retdec#730

This PR provided new way for building RetDec's libraries that is
more convenient. There is no need to specify full paths of files
of builded libraries.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant