summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/CMakeLists.txt15
-rw-r--r--python/generator.cpp5
2 files changed, 19 insertions, 1 deletions
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index cf9d5c40..483cbad3 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -22,12 +22,25 @@ if(BN_INTERNAL_BUILD)
COMMAND ${CMAKE_COMMAND} -E copy ${BN_CORE_OUTPUT_DIR}/binaryninjacore.dll ${PROJECT_BINARY_DIR}/)
endif()
+ option(LICENSE_FILE "Path to license file, for compiling")
+ set(LICENSE "")
+ if(LICENSE_FILE)
+ file(READ ${LICENSE_FILE} LICENSE_CONTS)
+ message(STATUS "Using licence for build: ${LICENSE_FILE}")
+ # Encode for passing through the command-line
+ string(REPLACE "\n" "" LICENSE_CONTS "${LICENSE_CONTS}")
+ string(REPLACE "\"" "\\\"" LICENSE_CONTS "${LICENSE_CONTS}")
+ string(REPLACE "{" "\\{" LICENSE_CONTS "${LICENSE_CONTS}")
+ string(REPLACE "}" "\\}" LICENSE_CONTS "${LICENSE_CONTS}")
+ set(LICENSE "BN_LICENSE=${LICENSE_CONTS}")
+ endif()
+
add_custom_target(generator_copy ALL
BYPRODUCTS ${PROJECT_SOURCE_DIR}/_binaryninjacore.py ${PROJECT_SOURCE_DIR}/enums.py
DEPENDS ${PYTHON_SOURCES} ${PROJECT_SOURCE_DIR}/../binaryninjacore.h $<TARGET_FILE:generator>
COMMAND ${CMAKE_COMMAND} -E echo "Copying Python Sources"
COMMAND ${CMAKE_COMMAND} -E make_directory ${BN_RESOURCE_DIR}/python/binaryninja/
- COMMAND ${CMAKE_COMMAND} -E env ASAN_OPTIONS=detect_leaks=0 $<TARGET_FILE:generator> ${PROJECT_SOURCE_DIR}/../binaryninjacore.h ${PROJECT_SOURCE_DIR}/_binaryninjacore.py ${PROJECT_SOURCE_DIR}/enums.py
+ COMMAND ${CMAKE_COMMAND} -E env ASAN_OPTIONS=detect_leaks=0 ${LICENSE} $<TARGET_FILE:generator> ${PROJECT_SOURCE_DIR}/../binaryninjacore.h ${PROJECT_SOURCE_DIR}/_binaryninjacore.py ${PROJECT_SOURCE_DIR}/enums.py
COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_SOURCES} ${BN_RESOURCE_DIR}/python/binaryninja/
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/_binaryninjacore.py ${BN_RESOURCE_DIR}/python/binaryninja/
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/enums.py ${BN_RESOURCE_DIR}/python/binaryninja/
diff --git a/python/generator.cpp b/python/generator.cpp
index 4901b07a..ed28e6f3 100644
--- a/python/generator.cpp
+++ b/python/generator.cpp
@@ -160,6 +160,11 @@ int main(int argc, char* argv[])
return 1;
}
+ if (getenv("BN_LICENSE"))
+ {
+ BNSetLicense(getenv("BN_LICENSE"));
+ }
+
Architecture::Register(new GeneratorArchitecture());
// Parse API header to get type and function information