forked from avast/retdec
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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 e1645d7. * 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>
- Loading branch information
1 parent
5c9c785
commit 8fea90b
Showing
412 changed files
with
3,860 additions
and
904 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
@PACKAGE_INIT@ | ||
|
||
if(NOT TARGET retdec::deps::capstone-libs) | ||
add_library(retdec::deps::capstone-libs STATIC IMPORTED) | ||
set_target_properties(retdec::deps::capstone-libs PROPERTIES | ||
IMPORTED_LOCATION @PACKAGE_CAPSTONE_LIB_INSTALLED@ | ||
) | ||
endif() | ||
|
||
if(NOT TARGET retdec::deps::capstone) | ||
include(${CMAKE_CURRENT_LIST_DIR}/retdec-capstone-targets.cmake) | ||
endif() |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,36 @@ | ||
|
||
add_library(elfio INTERFACE) | ||
target_include_directories(elfio SYSTEM INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include) | ||
add_library(retdec::deps::elfio ALIAS elfio) | ||
|
||
target_include_directories(elfio | ||
SYSTEM INTERFACE | ||
$<BUILD_INTERFACE:${RETDEC_DEPS_DIR}/elfio/include> | ||
$<INSTALL_INTERFACE:${RETDEC_INSTALL_DEPS_INCLUDE_DIR}> | ||
) | ||
|
||
# Install includes. | ||
install( | ||
DIRECTORY ${RETDEC_DEPS_DIR}/elfio/include/ | ||
DESTINATION ${RETDEC_INSTALL_DEPS_INCLUDE_DIR} | ||
) | ||
|
||
# Install targets. | ||
install(TARGETS elfio | ||
EXPORT elfio-targets | ||
# Header only -> there are no actual libs to install to destination. | ||
) | ||
|
||
# Export targets. | ||
install(EXPORT elfio-targets | ||
FILE "retdec-elfio-targets.cmake" | ||
NAMESPACE retdec::deps:: | ||
DESTINATION ${RETDEC_INSTALL_CMAKE_DIR} | ||
) | ||
|
||
# Install CMake files. | ||
install( | ||
FILES | ||
"${CMAKE_CURRENT_LIST_DIR}/retdec-elfio-config.cmake" | ||
DESTINATION | ||
"${RETDEC_INSTALL_CMAKE_DIR}" | ||
) |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
|
||
if(NOT TARGET retdec::deps::elfio) | ||
include(${CMAKE_CURRENT_LIST_DIR}/retdec-elfio-targets.cmake) | ||
endif() |
Oops, something went wrong.