@@ -18,29 +18,33 @@ find_package(Qt5 COMPONENTS Core Gui Test Widgets WebEngineWidgets Sql REQUIRED)
1818
1919find_package (CURL REQUIRED)
2020
21+ # Add miniz as a subdirectory
2122if (NOT EXISTS "${CMAKE_SOURCE_DIR} /libs/miniz/CMakeLists.txt" )
2223 message (STATUS "Submodule 'libs/miniz' not found. Updating submodules..." )
2324 execute_process (
2425 COMMAND git submodule update --init --recursive
2526 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
2627 )
27- file (READ "${CMAKE_SOURCE_DIR} /libs/miniz/CMakeLists.txt" cmake )
28+ file (READ "${CMAKE_SOURCE_DIR} /libs/miniz/CMakeLists.txt" MINIZ_CMAKE )
2829 string (REPLACE "cmake_minimum_required(VERSION 3.5)"
29- "cmake_minimum_required(VERSION 3.16)" my_cmake "${cmake} " )
30- file (WRITE "${CMAKE_SOURCE_DIR} /libs/miniz/CMakeLists.txt" "${my_cmake} " )
31- endif ()
32-
33- if (NOT EXISTS "${CMAKE_SOURCE_DIR} /database/tombll.db" )
34- message (STATUS "Database not found, running get_trle.sh..." )
35- execute_process (
36- COMMAND bash "${CMAKE_SOURCE_DIR} /database/get_trle.sh"
37- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
30+ "cmake_minimum_required(VERSION 3.16)"
31+ NEW_MINIZ_CMAKE
32+ "${MINIZ_CMAKE} "
33+ )
34+ file (WRITE "${CMAKE_SOURCE_DIR} /libs/miniz/CMakeLists.txt"
35+ "${NEW_MINIZ_CMAKE} "
3836 )
3937endif ()
40-
4138add_subdirectory (libs/miniz)
4239
4340# Add LIEF as a subdirectory
41+ if (NOT EXISTS "${CMAKE_SOURCE_DIR} /libs/LIEF/CMakeLists.txt" )
42+ message (STATUS "Submodule 'libs/LIEF' not found. Updating submodules..." )
43+ execute_process (
44+ COMMAND git submodule update --init --recursive
45+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
46+ )
47+ endif ()
4448set (LIEF_INSTALL OFF CACHE BOOL "Disable installation of LIEF" )
4549set (LIEF_EXAMPLES OFF )
4650set (LIEF_TESTS OFF )
@@ -51,18 +55,52 @@ set(LIEF_PE ON)
5155set (LIEF_MACHO OFF )
5256set (LIEF_DEX OFF )
5357set (LIEF_ART OFF )
58+ add_subdirectory (libs/LIEF)
5459
55- if (NOT EXISTS "${CMAKE_SOURCE_DIR} /libs/LIEF/CMakeLists.txt"
56- AND NOT NO_DATABASE
60+ # Add libbacktrace as a subdirectory
61+ if (NOT EXISTS "${CMAKE_SOURCE_DIR} /libs/libbacktrace/configure" )
62+ message (STATUS
63+ "Submodule 'libs/libbacktrace' not found. Updating submodules..."
5764 )
58- message (STATUS "Submodule 'libs/LIEF' not found. Updating submodules..." )
5965 execute_process (
6066 COMMAND git submodule update --init --recursive
6167 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
6268 )
6369endif ()
70+ if (EXISTS "${CMAKE_SOURCE_DIR} /libs/libbacktrace/configure" )
71+ message (STATUS "Running autoconf to prepare libbacktrace" )
72+ execute_process (
73+ COMMAND bash "${CMAKE_SOURCE_DIR} /libs/libbacktrace/configure"
74+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} /libs/libbacktrace"
75+ RESULT_VARIABLE AUTOCONF_RESULT
76+ )
77+ if (NOT AUTOCONF_RESULT EQUAL 0)
78+ message (
79+ FATAL_ERROR
80+ "Autoconf failed with exit code ${AUTOCONF_RESULT} "
81+ )
82+ endif ()
83+ execute_process (
84+ COMMAND make
85+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} /libs/libbacktrace"
86+ RESULT_VARIABLE MAKE_RESULT
87+ )
88+ if (NOT MAKE_RESULT EQUAL 0)
89+ message (
90+ FATAL_ERROR
91+ "Make failed with exit code ${MAKE__RESULT} "
92+ )
93+ endif ()
94+ endif ()
6495
65- add_subdirectory (libs/LIEF)
96+
97+ if (NOT EXISTS "${CMAKE_SOURCE_DIR} /database/tombll.db" )
98+ message (STATUS "Database not found, running get_trle.sh..." )
99+ execute_process (
100+ COMMAND bash "${CMAKE_SOURCE_DIR} /database/get_trle.sh"
101+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR} "
102+ )
103+ endif ()
66104
67105set (SOURCES_TESTS
68106 test /test .hpp
@@ -93,6 +131,7 @@ set(SOURCES_MC
93131 src/PyRunner.hpp
94132 src/Runner.cpp
95133 src/Runner.hpp
134+ src/assert.hpp
96135 src/binary.hpp
97136 src/binary.cpp
98137 src/main.cpp
@@ -114,6 +153,7 @@ set(LINK_COMMON
114153 miniz
115154 LIEF::LIEF
116155 ${CURL_LIBRARY}
156+ "${CMAKE_SOURCE_DIR} /libs/libbacktrace/.libs/libbacktrace.a"
117157)
118158
119159set (LINK_GUI
@@ -124,6 +164,7 @@ set(INCLUDE_DIR
124164 ${CURL_INCLUDE_DIR}
125165 libs/miniz
126166 libs/LIEF/include
167+ libs/libbacktrace
127168 src
128169)
129170
0 commit comments