diff options
| author | Rusty Wagner <rusty@vector35.com> | 2020-07-10 23:36:26 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2020-07-17 18:31:55 -0400 |
| commit | 308caf1f5b3f8f02ebb44c0c43a838e0709200a1 (patch) | |
| tree | 2b04f6b809eedf88285eab69c662035ec6ce200d /examples | |
| parent | b3d490e9e7f21a90922973a617a89a8620f5778b (diff) | |
Switch build system to cmake
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/bin-info/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/bin-info/Makefile | 54 | ||||
| -rw-r--r-- | examples/breakpoint/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | examples/breakpoint/Makefile | 57 | ||||
| -rw-r--r-- | examples/cmdline_disasm/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/cmdline_disasm/Makefile | 51 | ||||
| -rw-r--r-- | examples/llil_parser/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/llil_parser/Makefile | 51 | ||||
| -rw-r--r-- | examples/mlil_parser/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/mlil_parser/Makefile | 51 | ||||
| -rw-r--r-- | examples/print_syscalls/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | examples/print_syscalls/Makefile | 54 | ||||
| -rw-r--r-- | examples/triage/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | examples/x86_extension/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | examples/x86_extension/Makefile | 59 |
15 files changed, 37 insertions, 386 deletions
diff --git a/examples/bin-info/CMakeLists.txt b/examples/bin-info/CMakeLists.txt index 498a5793..54381871 100644 --- a/examples/bin-info/CMakeLists.txt +++ b/examples/bin-info/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(bin-info CXX) diff --git a/examples/bin-info/Makefile b/examples/bin-info/Makefile deleted file mode 100644 index c8b2efc2..00000000 --- a/examples/bin-info/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja/ - CC := g++ -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - CC := $(shell xcrun -f clang++) -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := bininfo -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe -ifeq ($(UNAME_S),Darwin) - CFLAGS += -arch x86_64 -pipe -stdlib=libc++ -endif - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -Wl,-rpath=$(BINJAPATH) -ldl -o $@ -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -change @rpath/libbinaryninjacore.dylib $(BINJAPATH)/libbinaryninjacore.dylib $@ -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean diff --git a/examples/breakpoint/CMakeLists.txt b/examples/breakpoint/CMakeLists.txt index 70de8884..f0ed85c9 100644 --- a/examples/breakpoint/CMakeLists.txt +++ b/examples/breakpoint/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(breakpoint CXX) @@ -12,4 +12,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../bin) -binja_install_plugin(${PROJECT_NAME}) +bn_install_plugin(${PROJECT_NAME}) diff --git a/examples/breakpoint/Makefile b/examples/breakpoint/Makefile deleted file mode 100644 index d85b63e5..00000000 --- a/examples/breakpoint/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := breakpoint -TARGET := $(TARGETDIR)/$(TARGETNAME) -INSTALLBINDIR := $(BINJAPATH)/plugins/ - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe -ifeq ($(UNAME_S),Linux) - CC := g++ -all: $(TARGET).so -else - CC := $(shell xcrun -f clang++) - CFLAGS += -arch x86_64 -pipe -stdlib=libc++ -mmacosx-version-min=10.7 -all: $(TARGET).dylib -endif - -$(TARGET).so: $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) -shared $^ $(BINJA_API_A) $(LIBS) -o $@ - -$(TARGET).dylib: $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) -dynamiclib $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -id @loader_path/$(TARGETNAME).dylib -add_rpath @loader_path/.. $@ - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -install: - cp $(TARGET) $(INSTALLBINDIR) - -.PHONY: clean diff --git a/examples/cmdline_disasm/CMakeLists.txt b/examples/cmdline_disasm/CMakeLists.txt index 98e5f535..c76d49fc 100644 --- a/examples/cmdline_disasm/CMakeLists.txt +++ b/examples/cmdline_disasm/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(cmdline_disasm CXX) diff --git a/examples/cmdline_disasm/Makefile b/examples/cmdline_disasm/Makefile deleted file mode 100644 index 12931876..00000000 --- a/examples/cmdline_disasm/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja/ - CC := gcc -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - CC := clang -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := disasm -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CPPFLAGS := -c -O2 -Wall -W -fPIC --std=c++11 -pipe - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -Wl,-rpath=$(BINJAPATH) -ldl -o $@ -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -change @rpath/libbinaryninjacore.dylib $(BINJAPATH)/libbinaryninjacore.dylib $@ -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CPPFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean diff --git a/examples/llil_parser/CMakeLists.txt b/examples/llil_parser/CMakeLists.txt index dd850fc5..bc744ccb 100644 --- a/examples/llil_parser/CMakeLists.txt +++ b/examples/llil_parser/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(llil_parser CXX) diff --git a/examples/llil_parser/Makefile b/examples/llil_parser/Makefile deleted file mode 100644 index 13c01e62..00000000 --- a/examples/llil_parser/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja/ - CC := g++ -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - CC := clang++ -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := llil_parser -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -Wl,-rpath=$(BINJAPATH) -ldl -o $@ -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -change @rpath/libbinaryninjacore.dylib $(BINJAPATH)/libbinaryninjacore.dylib $@ -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean diff --git a/examples/mlil_parser/CMakeLists.txt b/examples/mlil_parser/CMakeLists.txt index 4f4f450b..f5cfa1ef 100644 --- a/examples/mlil_parser/CMakeLists.txt +++ b/examples/mlil_parser/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(mlil_parser CXX) diff --git a/examples/mlil_parser/Makefile b/examples/mlil_parser/Makefile deleted file mode 100644 index 44b7b77f..00000000 --- a/examples/mlil_parser/Makefile +++ /dev/null @@ -1,51 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja/ - CC := g++ -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - CC := clang++ -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := mlil_parser -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -Wl,-rpath=$(BINJAPATH) -ldl -o $@ -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -change @rpath/libbinaryninjacore.dylib $(BINJAPATH)/libbinaryninjacore.dylib $@ -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean diff --git a/examples/print_syscalls/CMakeLists.txt b/examples/print_syscalls/CMakeLists.txt index d8495b3c..166017fe 100644 --- a/examples/print_syscalls/CMakeLists.txt +++ b/examples/print_syscalls/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(print_syscalls CXX) diff --git a/examples/print_syscalls/Makefile b/examples/print_syscalls/Makefile deleted file mode 100644 index 54fd1237..00000000 --- a/examples/print_syscalls/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(HOME)/binaryninja/ - CC := g++ -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - CC := $(shell xcrun -f clang++) -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := print_syscalls -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) - -LIBS := -L $(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe -ggdb -ifeq ($(UNAME_S),Darwin) - CFLAGS += -arch x86_64 -pipe -stdlib=libc++ -endif - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -Wl,-rpath=$(BINJAPATH) -ldl -o $@ -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -o $@ - install_name_tool -change @rpath/libbinaryninjacore.dylib $(BINJAPATH)/libbinaryninjacore.dylib $@ -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean diff --git a/examples/triage/CMakeLists.txt b/examples/triage/CMakeLists.txt new file mode 100644 index 00000000..f3d77fb4 --- /dev/null +++ b/examples/triage/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) + +project(triage) + +file(GLOB SOURCES + *.cpp + *.h) + +if(DEMO) + add_library(triage STATIC ${SOURCES}) +else() + add_library(triage SHARED ${SOURCES}) +endif() + +target_link_libraries(triage binaryninjaapi binaryninjaui) + +set_target_properties(triage PROPERTIES + CXX_STANDARD 17 + CXX_VISIBILITY_PRESET hidden + CXX_STANDARD_REQUIRED ON + VISIBILITY_INLINES_HIDDEN ON + POSITION_INDEPENDENT_CODE ON) + +if(BN_INTERNAL_BUILD) + ui_plugin_rpath(triage) + set_target_properties(triage PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ${BN_CORE_PLUGIN_DIR}) +endif() diff --git a/examples/x86_extension/CMakeLists.txt b/examples/x86_extension/CMakeLists.txt index 632a9381..7f04d5a5 100644 --- a/examples/x86_extension/CMakeLists.txt +++ b/examples/x86_extension/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(x86_extension CXX) @@ -14,4 +14,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../bin) -binja_install_plugin(${PROJECT_NAME}) +bn_install_plugin(${PROJECT_NAME}) diff --git a/examples/x86_extension/Makefile b/examples/x86_extension/Makefile deleted file mode 100644 index 1ee60891..00000000 --- a/examples/x86_extension/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# Path to prebuilt libbinaryninjaapi.a -BINJA_API_A := ../../bin/libbinaryninjaapi.a - -# Path to binaryninjaapi.h and json -INC := -I../../ - -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - # Path to binaryninja install - BINJAPATH := $(shell cat ~/.binaryninja/lastrun) - PLUGIN_DIR := ~/.binaryninja/plugins/ - CC := g++ -else - BINJAPATH := /Applications/Binary\ Ninja.app/Contents/MacOS - PLUGIN_DIR := ~/Library/Application\ Support/Binary\ Ninja/plugins/ - CC := clang++ -endif - -SRCDIR := src -BUILDDIR := build -TARGETDIR := bin - -TARGETNAME := x86_extension -TARGET := $(TARGETDIR)/$(TARGETNAME) - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) src/asmx86/libasmx86.a - -LIBS := -L$(BINJAPATH) -lbinaryninjacore -CFLAGS := -c -std=gnu++11 -O2 -Wall -W -fPIC -pipe -Wno-unused-function - -all: $(TARGET) - -ifeq ($(UNAME_S),Linux) -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -shared -Wl,-rpath=$(BINJAPATH) -ldl -o bin/lib$(TARGETNAME).so -else -$(TARGET): $(OBJECTS) - @mkdir -p $(TARGETDIR) - $(CC) $^ $(BINJA_API_A) $(LIBS) -single_module -dynamiclib -o bin/lib$(TARGETNAME).dylib - install_name_tool -add_rpath $(BINJAPATH)/libbinaryninjacore.dylib bin/lib$(TARGETNAME).dylib -endif - -$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) - @mkdir -p $(BUILDDIR) - $(CC) $(CFLAGS) $(INC) -c -o $@ $< - -src/asmx86/libasmx86.a: - $(MAKE) -C src/asmx86 - -install: - cp bin/lib$(TARGETNAME).dylib $(PLUGIN_DIR) - -clean: - $(RM) -r $(BUILDDIR) $(TARGETDIR) - -.PHONY: clean |
