Commit Graph

17 Commits

Author SHA1 Message Date
Matula Peter
af6eabbe97 cmake: use STATUS in all of our messages 2020-08-13 15:49:07 +02:00
Peter Matula
8fea90b2f7
New build system (#730)
* something working

* progress

* progress

* progress

* cmake: fix common and add ctypes

* src/serdes: new build system

* new build system for pdbparser

* new build system for yaracpp

* new build system for crypto component

* new build system for config

* refactor cmake for retdec-configtool

* new build system for idr2pat

* new build system for ar-extractor and its LLVM dependency

* refactor the new build system

* new build for ar-extractortool

* new build system for macho-extractor and macho-extractortool

* new build for ctypesparser, demangler, and demanglertool

* new build for llvm-support and llvmir-emul

* new build for capstone2llvmir and capstone2llvmirtool

* new build for fileformat, loader, cpdetect, fileinfo

* new build for most remaining modules

* cmake/options.cmake: fix debugformat enable settings

* some build system fixes

* cmake/options.cmake: make RETDEC_ENABLE_ALL into option

this allows us to set it to ODD and build only documentation

* tests: new build system for unit tests

* pelib: fix doxygen comment

* retdec/retdec: remove unused include of llvm-support/diagnostics.h

* fileformat: do not include openssl in headers

* cmake: make install paths relative.

When they are absolute, then all the paths in instaled cmake scripts are absolute - install dir could not be moved.

* deps/yara: refactor cmake to properly install libs

* deps/yara: small cosmetic changes

* deps/llvm: refactor cmake to properly install libs

* deps/capstone: refactor cmake to properly install libs

* deps: refactor cmake files

* deps: refactor cmake files

* deps/yaramod: refactor cmake to properly install libs

* CMakeLists.txt: fix files installation

* config/retdec-config-config.cmake: fix required component order

Looks like this may matter (on some machines or cmake version).

* deps/llvm: fix include installation

* fileformat/cmake: do not use openssl-crypto

For some reasons, this can cause linking problems on some machines.

* deps/yaramod: fix link library order

* deps/googletests: fix target link library order

* rtti-finder: make deps PUBLIC.

I have no idea why it doesn't work with PRIVATE.

* deps/yaramod: fix formatting

* cmake: more refactorization...

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.

* cmake: do not create version files for all components

Only the main RetDec version file is needed.

* cmake: propagate current project version to package config files

It is used to find the same version retdec components.

* CMakeLists.txt: replace AnyNewerVersion -> ExactVersion in compatibility settings

Since we probably will make breaking changes, make retdec installation compatible only with the same version.

* cmake: remove all COMPONENT options, these are not really needed

* cmake: move dependency finders inside double target protection conditions

* cmake: prefix all deps targets with retdec::deps::

* fileinfo: add openssl-crypto dep

* Revert "fileinfo: add openssl-crypto dep"

This reverts commit e1645d7fd5.

* remove RETDEC_FORCE_OPENSSL_BUILD option, always build OpenSSL

* cmake: refactorization

* deps/whereami: fix include paths

* deps/tinyxml+whereami: fix included dirs

* deps/yaramod: fix pog_fmt lib installation

* deps/whereami: properly install target, not as part of utils.

Previous version should work, but there is a CMake bug in older versions which screws it up on Windows and macOS.

* crypto: link retdec::deps::openssl-crypto as PUBLIC

* bin2llvmir/providers/debugformat: fix segfault

Co-authored-by: Peter Matula <imatula@fit.vutbr.cz>
2020-04-05 16:50:56 +02:00
Petr Zemek
5b478c72df Fix links to repositories after the move from avast-tl to avast.
We have moved all of our repositories in https://github.com/avast-tl to
https://github.com/avast.
2019-04-17 09:09:58 +02:00
Marek Milkovič
e4265f1019 Show doxygen.log contents after doxygen documentation is generated 2019-02-23 13:34:55 +01:00
Petr Zemek
8e65c05a76 Add missing newlines to the end of source files.
Text files should end with a trailing newline.
2018-12-04 14:17:42 +01:00
Peter Matula
6f624766a0 doc/doxygen: fix #105 - include graphs are not generated by default
Generation can be controled from CMake by setting
@DOXYGEN_INCLUDE_GRAPH@ and @DOXYGEN_INCLUDED_BY_GRAPH@. Right now it is
hardcoded to "NO" in CMake, but it can be easily changed in the future.
2018-08-15 15:35:09 +02:00
Peter Matula
61a47f2986 Fix all code related doxygen warnings. 2018-08-14 16:20:23 +02:00
Petr Zemek
4b66a11dba doxygen: Remove useless trailing whitespace from doxygen.cfg.in. 2018-02-04 19:24:01 +01:00
Petr Zemek
9a65ac6992 doxygen: Rename doxygen.in to doxygen.cfg.in.
The new name is better at reflecting the fact that this is the input for the
creating of a configuration file.
2018-02-04 18:07:52 +01:00
Peter Matula
cc3915ad17 doc/doxygen: fix relative paths to sources. 2018-01-16 11:24:28 +01:00
Peter Matula
48691b522c doc/doxygen: generate doxygen log file. 2018-01-16 11:24:28 +01:00
Peter Matula
632881f0d6 doc: move doxygen files to doc/doxygen. 2018-01-15 16:00:28 +01:00
Petr Zemek
f17bb26cc7 Remove doc/git-submodule-deps.
It is no longer needed as we no longer have any submodule dependencies.
2018-01-11 09:08:51 +01:00
Petr Zemek
3f5b82abd8 Unify formatting in CMake files. 2018-01-02 12:32:04 +01:00
Peter Matula
7d67338abf doc: add graph of git submodule dependencies. 2017-12-20 16:01:26 +01:00
Peter Matula
1fd9d34ed5 install documentation into <install_dir>/share/retdec/doc
instead of <install_dir>/doc
2017-12-15 13:57:32 +01:00
Petr Zemek
d9230cbc94 Initial commit. 2017-12-12 18:05:30 +01:00