retdec/tests/ctypes
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
..
annotation_in_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
annotation_inout_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
annotation_optional_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
annotation_out_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
array_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
call_convention_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
CMakeLists.txt New build system (#730) 2020-04-05 16:50:56 +02:00
composite_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
context_tests.cpp ctypes context: function type now looks at calling convention and var argnes when creating new object 2019-03-12 15:56:32 +01:00
doxygen.h add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
enum_type_tests.cpp Remove duplicate empty lines from the C++ source files. 2018-06-10 17:32:51 +02:00
floating_point_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
function_declaration_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
function_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
function_type_tests.cpp Remove duplicate empty lines from the C++ source files. 2018-06-10 17:32:51 +02:00
header_file_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
integral_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
member_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
module_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
parameter_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
pointer_type.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
struct_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
typedefed_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
union_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
unknown_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
visit_all_visitor_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00
void_type_tests.cpp add a bunch of retdec namespaces 2018-01-05 19:32:43 +01:00