build: Various build improvements (#1193)
This commit is contained in:
parent
1aed960a38
commit
aae3004f1f
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
@ -203,7 +203,6 @@ jobs:
|
|||||||
OBJC=$(brew --prefix llvm)/bin/clang \
|
OBJC=$(brew --prefix llvm)/bin/clang \
|
||||||
OBJCXX=$(brew --prefix llvm)/bin/clang++ \
|
OBJCXX=$(brew --prefix llvm)/bin/clang++ \
|
||||||
PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig":"$(brew --prefix)/lib/pkgconfig" \
|
PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig":"$(brew --prefix)/lib/pkgconfig" \
|
||||||
MACOSX_DEPLOYMENT_TARGET="10.10" \
|
|
||||||
cmake -G "Ninja" \
|
cmake -G "Ninja" \
|
||||||
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
|
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
|
||||||
-DCREATE_BUNDLE=ON \
|
-DCREATE_BUNDLE=ON \
|
||||||
@ -216,7 +215,6 @@ jobs:
|
|||||||
-DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \
|
-DIMHEX_COMMIT_HASH_SHORT="${GITHUB_SHA::7}" \
|
||||||
-DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \
|
-DIMHEX_COMMIT_HASH_LONG="${GITHUB_SHA}" \
|
||||||
-DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \
|
-DIMHEX_COMMIT_BRANCH="${GITHUB_REF##*/}" \
|
||||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="10.10" \
|
|
||||||
-DCPACK_PACKAGE_FILE_NAME="imhex-${{env.IMHEX_VERSION}}-macOS${{matrix.suffix}}-x86_64" \
|
-DCPACK_PACKAGE_FILE_NAME="imhex-${{env.IMHEX_VERSION}}-macOS${{matrix.suffix}}-x86_64" \
|
||||||
..
|
..
|
||||||
ninja package
|
ninja package
|
||||||
@ -437,7 +435,6 @@ jobs:
|
|||||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DUSE_SYSTEM_CURL=ON \
|
|
||||||
-DUSE_SYSTEM_FMT=ON \
|
-DUSE_SYSTEM_FMT=ON \
|
||||||
-DUSE_SYSTEM_YARA=ON \
|
-DUSE_SYSTEM_YARA=ON \
|
||||||
-DUSE_SYSTEM_NLOHMANN_JSON=ON \
|
-DUSE_SYSTEM_NLOHMANN_JSON=ON \
|
||||||
|
6
.gitmodules
vendored
6
.gitmodules
vendored
@ -14,10 +14,6 @@
|
|||||||
path = lib/external/fmt
|
path = lib/external/fmt
|
||||||
url = https://github.com/fmtlib/fmt
|
url = https://github.com/fmtlib/fmt
|
||||||
ignore = dirty
|
ignore = dirty
|
||||||
[submodule "lib/external/curl"]
|
|
||||||
path = lib/external/curl
|
|
||||||
url = https://github.com/curl/curl
|
|
||||||
ignore = dirty
|
|
||||||
[submodule "lib/external/capstone"]
|
[submodule "lib/external/capstone"]
|
||||||
path = lib/external/capstone
|
path = lib/external/capstone
|
||||||
url = https://github.com/capstone-engine/capstone
|
url = https://github.com/capstone-engine/capstone
|
||||||
@ -31,4 +27,4 @@
|
|||||||
url = https://github.com/WerWolv/PatternLanguage
|
url = https://github.com/WerWolv/PatternLanguage
|
||||||
[submodule "lib/external/libwolv"]
|
[submodule "lib/external/libwolv"]
|
||||||
path = lib/external/libwolv
|
path = lib/external/libwolv
|
||||||
url = https://github.com/WerWolv/libwolv
|
url = https://github.com/WerWolv/libwolv
|
@ -19,7 +19,6 @@
|
|||||||
"CMAKE_CXX_COMPILER": "g++",
|
"CMAKE_CXX_COMPILER": "g++",
|
||||||
"IMHEX_PATTERNS_PULL_MASTER": "ON",
|
"IMHEX_PATTERNS_PULL_MASTER": "ON",
|
||||||
"CMAKE_INSTALL_PREFIX": "./install",
|
"CMAKE_INSTALL_PREFIX": "./install",
|
||||||
"USE_SYSTEM_CURL": "ON",
|
|
||||||
"USE_SYSTEM_CAPSTONE": "ON",
|
"USE_SYSTEM_CAPSTONE": "ON",
|
||||||
"IMHEX_USE_DEFAULT_BUILD_SETTINGS": "ON"
|
"IMHEX_USE_DEFAULT_BUILD_SETTINGS": "ON"
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,14 @@ For format patterns, libraries, magic and constant files, check out the [ImHex-P
|
|||||||
|
|
||||||
To use ImHex, the following minimal system requirements need to be met:
|
To use ImHex, the following minimal system requirements need to be met:
|
||||||
|
|
||||||
- **OS**: Windows 7 or higher, macOS 10.15 (Catalina) or higher, "Modern" Linux (Ubuntu 22.04, Fedora 36/37, RHEL/AlmaLinux 9, and Arch Linux have official packages, other and older distributions can use the AppImage)
|
- **OS**:
|
||||||
|
- **Windows**: Windows 7 or higher (Windows 10/11 recommended)
|
||||||
|
- **macOS**: macOS 11 (Big Sur) or higher,
|
||||||
|
- **Linux**: "Modern" Linux. The following distributions have official releases available. Other distros are supported through the AppImage and Flatpak releases.
|
||||||
|
- Ubuntu 22.04/23.04
|
||||||
|
- Fedora 36/37
|
||||||
|
- RHEL/AlmaLinux 9
|
||||||
|
- Arch Linux
|
||||||
- **CPU**: x86_64 (64 Bit)
|
- **CPU**: x86_64 (64 Bit)
|
||||||
- **GPU**: OpenGL 3.0 or higher
|
- **GPU**: OpenGL 3.0 or higher
|
||||||
- Intel HD drivers are really buggy and often cause graphic artifacts
|
- Intel HD drivers are really buggy and often cause graphic artifacts
|
||||||
|
@ -47,10 +47,6 @@ macro(detectOS)
|
|||||||
set(CMAKE_INSTALL_BINDIR ".")
|
set(CMAKE_INSTALL_BINDIR ".")
|
||||||
set(CMAKE_INSTALL_LIBDIR ".")
|
set(CMAKE_INSTALL_LIBDIR ".")
|
||||||
set(PLUGINS_INSTALL_LOCATION "plugins")
|
set(PLUGINS_INSTALL_LOCATION "plugins")
|
||||||
|
|
||||||
if (NOT USE_SYSTEM_CURL)
|
|
||||||
SET(IMHEX_USE_BUNDLED_CA ON)
|
|
||||||
endif ()
|
|
||||||
elseif (APPLE)
|
elseif (APPLE)
|
||||||
add_compile_definitions(OS_MACOS)
|
add_compile_definitions(OS_MACOS)
|
||||||
set(CMAKE_INSTALL_BINDIR ".")
|
set(CMAKE_INSTALL_BINDIR ".")
|
||||||
@ -479,8 +475,6 @@ macro(addBundledLibraries)
|
|||||||
set_property(TARGET libwolv-net PROPERTY POSITION_INDEPENDENT_CODE ON)
|
set_property(TARGET libwolv-net PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
set(XDGPP_INCLUDE_DIRS "${EXTERN_LIBS_FOLDER}/xdgpp")
|
set(XDGPP_INCLUDE_DIRS "${EXTERN_LIBS_FOLDER}/xdgpp")
|
||||||
set(CURL_USE_MBEDTLS ON)
|
|
||||||
set(BUILD_CURL_EXE OFF)
|
|
||||||
set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
|
set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
|
||||||
|
|
||||||
if(NOT USE_SYSTEM_FMT)
|
if(NOT USE_SYSTEM_FMT)
|
||||||
@ -515,15 +509,8 @@ macro(addBundledLibraries)
|
|||||||
set(NLOHMANN_JSON_LIBRARIES nlohmann_json::nlohmann_json)
|
set(NLOHMANN_JSON_LIBRARIES nlohmann_json::nlohmann_json)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT USE_SYSTEM_CURL)
|
find_package(PkgConfig REQUIRED)
|
||||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/curl EXCLUDE_FROM_ALL)
|
pkg_check_modules(LIBCURL REQUIRED IMPORTED_TARGET libcurl>=7.60.0)
|
||||||
set_target_properties(libcurl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
||||||
target_compile_options(libcurl PRIVATE -Wno-deprecated-declarations)
|
|
||||||
set(LIBCURL_LIBRARIES libcurl)
|
|
||||||
else()
|
|
||||||
find_package(PkgConfig REQUIRED)
|
|
||||||
pkg_check_modules(LIBCURL REQUIRED IMPORTED_TARGET libcurl>=7.76.1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT USE_SYSTEM_LLVM)
|
if (NOT USE_SYSTEM_LLVM)
|
||||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/llvm-demangle EXCLUDE_FROM_ALL)
|
add_subdirectory(${EXTERN_LIBS_FOLDER}/llvm-demangle EXCLUDE_FROM_ALL)
|
||||||
@ -567,7 +554,7 @@ macro(addBundledLibraries)
|
|||||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/pattern_language EXCLUDE_FROM_ALL)
|
add_subdirectory(${EXTERN_LIBS_FOLDER}/pattern_language EXCLUDE_FROM_ALL)
|
||||||
set_target_properties(libpl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
set_target_properties(libpl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
find_package(mbedTLS 2.26.0 REQUIRED)
|
find_package(mbedTLS 3.4.0 REQUIRED)
|
||||||
|
|
||||||
pkg_search_module(MAGIC libmagic>=5.39)
|
pkg_search_module(MAGIC libmagic>=5.39)
|
||||||
if(NOT MAGIC_FOUND)
|
if(NOT MAGIC_FOUND)
|
||||||
|
1
dist/Brewfile
vendored
1
dist/Brewfile
vendored
@ -5,6 +5,7 @@ brew "ccache"
|
|||||||
brew "freetype2"
|
brew "freetype2"
|
||||||
brew "libmagic"
|
brew "libmagic"
|
||||||
brew "pkg-config"
|
brew "pkg-config"
|
||||||
|
brew "curl"
|
||||||
brew "gcc@12"
|
brew "gcc@12"
|
||||||
brew "llvm"
|
brew "llvm"
|
||||||
brew "glfw"
|
brew "glfw"
|
||||||
|
1
dist/Dockerfile
vendored
1
dist/Dockerfile
vendored
@ -14,6 +14,7 @@ RUN pacman -S --needed --noconfirm \
|
|||||||
file \
|
file \
|
||||||
mbedtls \
|
mbedtls \
|
||||||
freetype2 \
|
freetype2 \
|
||||||
|
curl \
|
||||||
dbus \
|
dbus \
|
||||||
xdg-desktop-portal
|
xdg-desktop-portal
|
||||||
|
|
||||||
|
2
dist/get_deps_debian.sh
vendored
2
dist/get_deps_debian.sh
vendored
@ -13,7 +13,6 @@ apt install -y \
|
|||||||
lld \
|
lld \
|
||||||
${PKGCONF:-} \
|
${PKGCONF:-} \
|
||||||
cmake \
|
cmake \
|
||||||
make \
|
|
||||||
ccache \
|
ccache \
|
||||||
libglfw3-dev \
|
libglfw3-dev \
|
||||||
libglm-dev \
|
libglm-dev \
|
||||||
@ -21,5 +20,6 @@ apt install -y \
|
|||||||
libmbedtls-dev \
|
libmbedtls-dev \
|
||||||
libfreetype-dev \
|
libfreetype-dev \
|
||||||
libdbus-1-dev \
|
libdbus-1-dev \
|
||||||
|
libcurl4-gnutls-dev \
|
||||||
xdg-desktop-portal \
|
xdg-desktop-portal \
|
||||||
ninja-build
|
ninja-build
|
||||||
|
1
dist/get_deps_fedora.sh
vendored
1
dist/get_deps_fedora.sh
vendored
@ -5,6 +5,7 @@ dnf install -y \
|
|||||||
dbus-devel \
|
dbus-devel \
|
||||||
file-devel \
|
file-devel \
|
||||||
freetype-devel \
|
freetype-devel \
|
||||||
|
libcurl-devel \
|
||||||
gcc-c++ \
|
gcc-c++ \
|
||||||
git \
|
git \
|
||||||
mesa-libGL-devel \
|
mesa-libGL-devel \
|
||||||
|
2
dist/get_deps_msys2.sh
vendored
2
dist/get_deps_msys2.sh
vendored
@ -4,10 +4,10 @@ pacman -S --needed --noconfirm \
|
|||||||
mingw-w64-x86_64-gcc \
|
mingw-w64-x86_64-gcc \
|
||||||
mingw-w64-x86_64-lld \
|
mingw-w64-x86_64-lld \
|
||||||
mingw-w64-x86_64-cmake \
|
mingw-w64-x86_64-cmake \
|
||||||
mingw-w64-x86_64-make \
|
|
||||||
mingw-w64-x86_64-ccache \
|
mingw-w64-x86_64-ccache \
|
||||||
mingw-w64-x86_64-glfw \
|
mingw-w64-x86_64-glfw \
|
||||||
mingw-w64-x86_64-file \
|
mingw-w64-x86_64-file \
|
||||||
|
mingw-w64-x86_64-curl \
|
||||||
mingw-w64-x86_64-mbedtls \
|
mingw-w64-x86_64-mbedtls \
|
||||||
mingw-w64-x86_64-freetype \
|
mingw-w64-x86_64-freetype \
|
||||||
mingw-w64-x86_64-dlfcn \
|
mingw-w64-x86_64-dlfcn \
|
||||||
|
1
dist/rpm/imhex.spec
vendored
1
dist/rpm/imhex.spec
vendored
@ -74,7 +74,6 @@ CXXFLAGS+=" -std=gnu++2b"
|
|||||||
-D IMHEX_OFFLINE_BUILD=ON \
|
-D IMHEX_OFFLINE_BUILD=ON \
|
||||||
-D USE_SYSTEM_NLOHMANN_JSON=ON \
|
-D USE_SYSTEM_NLOHMANN_JSON=ON \
|
||||||
-D USE_SYSTEM_FMT=ON \
|
-D USE_SYSTEM_FMT=ON \
|
||||||
-D USE_SYSTEM_CURL=ON \
|
|
||||||
-D USE_SYSTEM_LLVM=ON \
|
-D USE_SYSTEM_LLVM=ON \
|
||||||
-D USE_SYSTEM_YARA=ON \
|
-D USE_SYSTEM_YARA=ON \
|
||||||
-D USE_SYSTEM_NFD=ON \
|
-D USE_SYSTEM_NFD=ON \
|
||||||
|
1
lib/external/curl
vendored
1
lib/external/curl
vendored
@ -1 +0,0 @@
|
|||||||
Subproject commit 7ab9d43720bc34d9aa351c7ca683c1668ebf8335
|
|
@ -62,7 +62,7 @@ set_target_properties(libimhex PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|||||||
setupCompilerFlags(libimhex)
|
setupCompilerFlags(libimhex)
|
||||||
|
|
||||||
|
|
||||||
target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS} ${LIBBACKTRACE_INCLUDE_DIRS})
|
target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIR} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS} ${LIBBACKTRACE_INCLUDE_DIRS})
|
||||||
target_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS})
|
target_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS})
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user