From d8e3001e535fad178c621ff07418f81f25123dc4 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 22 Aug 2024 12:55:49 -0600 Subject: Allow multiple high level representations for display, add Pseudo Rust and a Pseudo Python example plugin --- lang/rust/CMakeLists.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lang/rust/CMakeLists.txt (limited to 'lang/rust/CMakeLists.txt') diff --git a/lang/rust/CMakeLists.txt b/lang/rust/CMakeLists.txt new file mode 100644 index 00000000..e374d8e9 --- /dev/null +++ b/lang/rust/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) + +project(lang_pseudorust) + +if(NOT BN_INTERNAL_BUILD) + add_subdirectory(${PROJECT_SOURCE_DIR}/../.. ${PROJECT_BINARY_DIR}/api) +endif() + +file(GLOB SOURCES + *.cpp + *.h) + +if(DEMO) + add_library(lang_pseudorust STATIC ${SOURCES}) +else() + add_library(lang_pseudorust SHARED ${SOURCES}) +endif() + +target_include_directories(lang_pseudorust + PRIVATE ${PROJECT_SOURCE_DIR}) + +if(WIN32) + target_link_directories(lang_pseudorust + PRIVATE ${BN_INSTALL_DIR}) + target_link_libraries(lang_pseudorust binaryninjaapi binaryninjacore) +else() + target_link_libraries(lang_pseudorust binaryninjaapi) +endif() + +set_target_properties(lang_pseudorust PROPERTIES + CXX_STANDARD 17 + CXX_VISIBILITY_PRESET hidden + CXX_STANDARD_REQUIRED ON + C_STANDARD 99 + C_STANDARD_REQUIRED ON + C_VISIBILITY_PRESET hidden + VISIBILITY_INLINES_HIDDEN ON + POSITION_INDEPENDENT_CODE ON) + +if(BN_INTERNAL_BUILD) + plugin_rpath(lang_pseudorust) + set_target_properties(lang_pseudorust PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${BN_CORE_PLUGIN_DIR} + RUNTIME_OUTPUT_DIRECTORY ${BN_CORE_PLUGIN_DIR}) +endif() -- cgit v1.3.1