Commit Graph

153 Commits

Author SHA1 Message Date
Peter Matula
f6089034cd CMake: add RETDEC_DEV_TOOLS option. 2018-01-15 16:08:10 +01:00
Peter Matula
632881f0d6 doc: move doxygen files to doc/doxygen. 2018-01-15 16:00:28 +01:00
Petr Zemek
ba197b6e99 Add the -jN parameter to make in README.
To build RetDec in parallel as not all users have e.g.

    export MAKEFLAGS="-j$(nproc)"

in their shell configuration files.
2018-01-15 14:10:28 +01:00
Peter Matula
9285f4e02d add all tools and libs to Repository Overview. 2018-01-15 14:09:36 +01:00
Petr Zemek
3342893c80 Simplify build instructions for Windows in README.
Instead of requiring a specific command prompt (MSBuild) and running

    msbuild /m /p:Configuration=Release retdec.sln
    msbuild /m /p:Configuration=Release INSTALL.vcxproj

we can just run the following commands from an arbitrary prompt:

    cmake --build . --config Release -- /m
    cmake --build . --config Release --target install
2018-01-15 13:56:32 +01:00
Peter Matula
0b13d79ddd deps/tinyxml: use patched tinyxml2 sources for now.
This will be reverted back to CMake external project once this pull
request is merged: https://github.com/leethomason/tinyxml2/pull/649
2018-01-15 13:29:05 +01:00
Petr Zemek
39b74bf554 Replace uses of CMAKE_FIND_LIBRARY_PREFIXES with CMAKE_STATIC_LIBRARY_PREFIX.
From https://cmake.org/cmake/help/latest/variable/CMAKE_FIND_LIBRARY_PREFIXES.html:

    This specifies what prefixes to add to library names when the
    find_library() command looks for libraries.

What we want is CMAKE_STATIC_LIBRARY_PREFIX:

    The prefix to use for the name of a static library, lib on UNIX.

Also, we are already using CMAKE_STATIC_LIBRARY_SUFFIX, so this change also
makes the used variables consistent.
2018-01-12 12:25:13 +01:00
Petr Zemek
3c761149e5 Set proper RPATH also for macOS + add a rationale behind it (#77).
On macOS, RPATH has to be set differently from Linux. For more details, see
https://cmake.org/Wiki/CMake_RPATH_handling
2018-01-12 12:19:47 +01:00
Petr Zemek
60436fb5bf Change the order of commands in the top-level CMakeLists.txt.
We want to first show available options, and only then set build settings.
2018-01-12 10:37:31 +01:00
Petr Zemek
e3d2c150c3 Remove unused dependent libraries for yaramod.
This fixes the build after commit 718a06ec37 (in
the new yaramod version, the tl-cpputils dependency no longer exists).
2018-01-12 10:34:04 +01:00
Petr Zemek
13365143f9 Remove useless cmake_minimum_required() command from nested CMakeLists.txt files.
We just need this command in the top-level CMakeLists.txt.
2018-01-12 09:20:33 +01:00
Petr Zemek
c3eaf064a0 Remove a useless project() command from deps/llvm/CMakeLists.txt.
We just need a top-level project in the top-level CMakeLists.txt.
2018-01-12 09:09:33 +01:00
Petr Zemek
9532d604f9 Add C into the top-level project() command in CMakeLists.txt.
Some parts of RetDec (e.g. libelf and libdwarf) require a C compiler, so we
should make this apparent in the top-level CMakeLists.txt.
2018-01-12 09:04:09 +01:00
Petr Zemek
9ef11c96d2 Unify formatting in CMakeLists.txt files.
* Remove redundant first empty line from some files.
* Convert spaces to tabs.
* Remove redundant comments.
2018-01-12 09:00:52 +01:00
Petr Zemek
718a06ec37 Use newer versions of jsoncpp, yaracpp, and yaramod.
They contain bug fixes + yaramod does no longer use submodules.

* jsoncpp 1.8.3 -> 1.8.4
* yaracpp (latest master)
* yaramod (latest master)
2018-01-12 08:38:55 +01:00
Petr Zemek
1e8294c264 Download external projects via URL instead of GIT_REPOSITORY.
The use of URL is safer than GIT_REPOSITORY as CMake does not update the cloned
repository when GIT_TAG changes. On the other hand, it downloads new sources
when URL changes.
2018-01-12 08:33:07 +01:00
Petr Zemek
a0ceeae672 Update deps/openssl/CMakeLists.txt to its latest version from the fileformat repository.
This change was forgotten during the merging of all repositories into the
retdec repository in commit 7cad5076c0.
2018-01-11 14:18:50 +01:00
Marek Milkovič
2ebca10c90 Added example unpacker plugin to the build
We want to be sure that example plugin, which serves as template for
writing other plugins, is up-to-date with the current plugin system.
Therefore, example unpacker plugin is now built with all other plugins
but it is not used during unpacking.
2018-01-11 11:42:58 +01:00
Petr Zemek
5eba79862e Fix run of unpacker via retdec-unpacker.sh due to removal of the 'unpacker-plugins' directory.
All unpacking plugins are now statically built into the unpacker, so there is
no longer any `-d` parameter or the 'unpacker-plugins' directory.
2018-01-11 11:25:23 +01:00
Petr Zemek
1808a535c2 Remove useless execution permissions from scripts.
These scripts are not supposed to be run from the 'scripts' directory (they
should be run only from the 'bin' directory after installation).
2018-01-11 10:34:10 +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
d7e21774e4 Remove the need to clone the repository recursively.
It no longer contains any submodules.
2018-01-11 09:08:51 +01:00
Petr Zemek
7d67046f20 Rename decompile.sh to retdec-decompiler.sh in README.
retdec-decompiler.sh is the new name of decompile.sh.
2018-01-11 09:08:51 +01:00
Peter Matula
102908edf5 deps: remove target guards from CMake files. 2018-01-10 16:33:41 +01:00
Peter Matula
30a9f172a1 deps: remove target guards from CMake files. 2018-01-10 16:33:15 +01:00
Peter Matula
7eeeb30e3d deps/libdwarf: change LIBDWARF_INSTALL_DIR path. 2018-01-10 13:17:06 +01:00
Peter Matula
3f03b3da4f install retdec-tests-runner.sh only if unit tests are built 2018-01-10 13:16:34 +01:00
Petr Zemek
a5e79aef88 Remove the .gitmodules file.
There are no submodules anymore, so the file is no longer needed.
2018-01-10 06:54:34 +01:00
Peter Matula
3c28951656 add stuff to changelog 2018-01-09 16:11:42 +01:00
Marek Milkovič
853844800b Unpacker plugins are now built directly into unpacker
We no longer load dynamic libraries as plugins. This features wasn't
used and it is much more easier for us to maintain the unpacker this
way.
2018-01-09 15:56:40 +01:00
Peter Matula
b53a0b1a31 scripts: rename scripts so that their names are more uniform. 2018-01-09 13:32:36 +01:00
Peter Matula
8c1fa45426 fix license list in LICENSE-THIRD-PARTY file 2018-01-09 12:16:50 +01:00
Peter Matula
e99e26d3a7 add retdec namespace to pdbparser. 2018-01-09 12:02:56 +01:00
Peter Matula
e0d2426ee5 remove fnc_patterns namespace. 2018-01-09 11:41:22 +01:00
Peter Matula
56ee9f21a4 scripts: fix scripts so that retdec can be installed in path with spaces 2018-01-08 16:23:27 +01:00
Peter Matula
3ad168b018 add retdec prefix to all cmake targets, scripts, binaries, etc. 2018-01-08 15:49:39 +01:00
Peter Matula
5064810226 scripts: remove decompile-all.sh script 2018-01-08 14:13:04 +01:00
Peter Matula
4ff0a04ff0 refactor unit tests cmake names, installation dirs, etc. 2018-01-08 14:10:51 +01:00
Peter Matula
15cb39fb9e add more retdec namespaces 2018-01-08 09:53:01 +01:00
Peter Matula
8acae3fbbb add a bunch of retdec namespaces
however, they are still not everywhere where they will be
2018-01-05 19:32:43 +01:00
Peter Matula
85fd152220 move include/* to include/retdec/* 2018-01-05 18:04:25 +01:00
Peter Matula
060b75ac5f tests/CMakeLists,txt: fix relative path for RPATH. 2018-01-05 16:03:39 +01:00
Peter Matula
f7547144fa fix build and installation on windows 2018-01-05 16:02:33 +01:00
Peter Matula
fd3e41460d deps/llvm/CMakeLists.txt: fix target_include_directories(). 2018-01-05 12:58:23 +01:00
Peter Matula
093597e779 CMakeLists.txt: set and use EP_PREFIX variable. 2018-01-05 12:44:52 +01:00
Peter Matula
f662c81826 deps/llvm: update referenced commit. 2018-01-05 12:44:25 +01:00
Peter Matula
7cad5076c0 all in one repo, no submodules, deps via cmake external project 2018-01-05 11:26:55 +01:00
Petr Zemek
6e7fc1d5ec Mention that Bash version >= 4 is required in README.
macOS has Bash 3 by default, which is quite old.
2018-01-03 16:35:16 +01:00
Petr Zemek
6c83f80ce6 Add a missing space before '--' in README (formatting). 2018-01-03 11:11:53 +01:00
Petr Zemek
6382f8f96c Add missing Linux build requirements (pkg-config, m4) into README. 2018-01-03 09:19:21 +01:00