diff options
| author | Glenn Smith <glenn@vector35.com> | 2021-08-17 16:47:36 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2021-08-17 16:56:58 -0400 |
| commit | a9bfea5e6b844f7129a5510176e85b274ccab795 (patch) | |
| tree | 42fbd08392e3334d02015747568ef354cae5f142 /python | |
| parent | 54c78775ab4eb53c991ed17e4317bf876dea5bb0 (diff) | |
CMake option to set license for generator
Diffstat (limited to 'python')
| -rw-r--r-- | python/CMakeLists.txt | 15 | ||||
| -rw-r--r-- | python/generator.cpp | 5 |
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 |
