diff --git a/CMakeLists.txt b/CMakeLists.txt index 7256362e8..882aab817 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,8 +18,6 @@ set(PLUGINS # example_rust ) -findLibraries() - detectOS() detectArch() diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake index ae789a143..633f608e8 100644 --- a/cmake/build_helpers.cmake +++ b/cmake/build_helpers.cmake @@ -27,22 +27,13 @@ macro(addVersionDefines) set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -DRELEASE -DIMHEX_VERSION=\"\\\"${PROJECT_VERSION}-ReleaseMinimumSize\"\\\"") endmacro() -macro(findLibraries) +macro(configurePython) set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL) set(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC) # Enforce that we use non system Python 3 on macOS. set(Python_FIND_FRAMEWORK NEVER) - # Find packages - find_package(PkgConfig REQUIRED) - - find_package(mbedTLS 2.26.0 REQUIRED) - - pkg_search_module(CAPSTONE 4.0.2 REQUIRED capstone) - - find_package(OpenGL REQUIRED) - find_package(Python COMPONENTS Development REQUIRED) if(Python_VERSION LESS 3) message(STATUS ${PYTHON_VERSION_MAJOR_MINOR}) @@ -59,13 +50,6 @@ macro(findLibraries) list(JOIN PYTHON_VERSION_MAJOR_MINOR "." PYTHON_VERSION_MAJOR_MINOR) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} -DPYTHON_VERSION_MAJOR_MINOR=\"\\\"${PYTHON_VERSION_MAJOR_MINOR}\"\\\"") - - pkg_search_module(MAGIC libmagic>=5.39) - if(NOT MAGIC_FOUND) - find_library(MAGIC 5.39 magic REQUIRED) - else() - set(MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDEDIR}) - endif() endmacro() # Detect current OS / System diff --git a/external/ImGui/CMakeLists.txt b/external/ImGui/CMakeLists.txt index d75ce7d4b..14725bc62 100644 --- a/external/ImGui/CMakeLists.txt +++ b/external/ImGui/CMakeLists.txt @@ -5,6 +5,7 @@ set(CMAKE_CXX_STANDARD 17) find_package(PkgConfig REQUIRED) find_package(Freetype REQUIRED) +find_package(OpenGL REQUIRED) pkg_search_module(GLFW REQUIRED glfw3) if (UNIX) diff --git a/plugins/builtin/CMakeLists.txt b/plugins/builtin/CMakeLists.txt index 4af2e159e..7a3715a99 100644 --- a/plugins/builtin/CMakeLists.txt +++ b/plugins/builtin/CMakeLists.txt @@ -52,10 +52,12 @@ add_library(${PROJECT_NAME} SHARED # Add additional include directories here # target_include_directories(${PROJECT_NAME} PRIVATE include) + # Add additional libraries here # -target_link_libraries(${PROJECT_NAME} PRIVATE libimhex LLVMDemangle) - +find_package(PkgConfig REQUIRED) +pkg_search_module(CAPSTONE 4.0.2 REQUIRED capstone) +target_link_libraries(${PROJECT_NAME} PRIVATE libimhex LLVMDemangle capstone) # ---- No need to change anything from here downwards unless you know what you're doing ---- # diff --git a/plugins/libimhex/CMakeLists.txt b/plugins/libimhex/CMakeLists.txt index f04c76ce6..ad6122ff7 100644 --- a/plugins/libimhex/CMakeLists.txt +++ b/plugins/libimhex/CMakeLists.txt @@ -13,6 +13,9 @@ set(CMAKE_USE_MBEDTLS ON) set(BUILD_CURL_EXE OFF) set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "") +# Find packages +find_package(PkgConfig REQUIRED) + if(NOT USE_SYSTEM_NLOHMANN_JSON) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../../external/nlohmann_json ${CMAKE_CURRENT_BINARY_DIR}/external/nlohmann_json) set(NLOHMANN_JSON_LIBRARIES nlohmann_json) @@ -52,6 +55,16 @@ else() pkg_check_modules(YARA REQUIRED IMPORTED_TARGET yara) endif() +find_package(mbedTLS 2.26.0 REQUIRED) +configurePython() + +pkg_search_module(MAGIC libmagic>=5.39) +if(NOT MAGIC_FOUND) + find_library(MAGIC 5.39 magic REQUIRED) +else() + set(MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDEDIR}) +endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") if (WIN32)