summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt64
1 files changed, 32 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 33dd0635..cc17fef7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,54 +54,54 @@ target_include_directories(binaryninjaapi
PUBLIC ${PROJECT_SOURCE_DIR})
# We only need to find the core and UI when we also build the examples
-if(BN_API_BUILD_EXAMPLES OR BN_INTERNAL_BUILD)
- if((NOT BN_CORE_LIBRARY) AND (NOT BN_INTERNAL_BUILD))
- find_library(BN_CORE_LIBRARY
- NAMES binaryninjacore libbinaryninjacore.so.1
+if((NOT BN_CORE_LIBRARY) AND (NOT BN_INTERNAL_BUILD))
+ find_library(BN_CORE_LIBRARY REQUIRED
+ NAMES binaryninjacore libbinaryninjacore.so.1
+ PATHS ${BN_INSTALL_BIN_DIR})
+
+ if(BN_CORE_LIBRARY)
+ message(STATUS "Binary Ninja Core: ${BN_CORE_LIBRARY}")
+ else()
+ message(FATAL_ERROR "Binary Ninja Core Not Found")
+ endif()
+endif()
+
+if(NOT HEADLESS)
+ if((NOT BN_UI_LIBRARY) AND (NOT BN_INTERNAL_BUILD))
+ find_library(BN_UI_LIBRARY REQUIRED
+ NAMES binaryninjaui libbinaryninjaui.so.1
PATHS ${BN_INSTALL_BIN_DIR})
- if(BN_CORE_LIBRARY)
- message(STATUS "Binary Ninja Core: ${BN_CORE_LIBRARY}")
+ if(BN_UI_LIBRARY)
+ message(STATUS "Binary Ninja UI: ${BN_UI_LIBRARY}")
else()
- message(FATAL_ERROR "Binary Ninja Core Not Found")
+ message(FATAL_ERROR "Binary Ninja UI Not Found")
endif()
endif()
+endif()
- if(NOT HEADLESS)
- if((NOT BN_UI_LIBRARY) AND (NOT BN_INTERNAL_BUILD))
- find_library(BN_UI_LIBRARY
- NAMES binaryninjaui libbinaryninjaui.so.1
- PATHS ${BN_INSTALL_BIN_DIR})
+if(NOT BN_INTERNAL_BUILD)
+ target_link_libraries(binaryninjaapi PUBLIC ${BN_CORE_LIBRARY})
+ target_link_directories(binaryninjaapi PUBLIC ${BN_INSTALL_BIN_DIR})
+else()
+ target_link_libraries(binaryninjaapi PUBLIC binaryninjacore)
+endif()
- if(BN_UI_LIBRARY)
- message(STATUS "Binary Ninja UI: ${BN_UI_LIBRARY}")
- else()
- message(FATAL_ERROR "Binary Ninja UI Not Found")
- endif()
- endif()
- endif()
+if(NOT HEADLESS)
+ target_include_directories(binaryninjaapi PUBLIC ${PROJECT_SOURCE_DIR}/ui)
if(NOT BN_INTERNAL_BUILD)
- target_link_libraries(binaryninjaapi ${BN_CORE_LIBRARY})
+ target_link_libraries(binaryninjaapi PUBLIC ${BN_UI_LIBRARY})
+ target_link_directories(binaryninjaapi PUBLIC ${BN_INSTALL_BIN_DIR})
else()
- target_link_libraries(binaryninjaapi binaryninjacore)
- endif()
-
- if(NOT HEADLESS)
- target_include_directories(binaryninjaapi PUBLIC ${PROJECT_SOURCE_DIR}/ui)
-
- if(NOT BN_INTERNAL_BUILD)
- target_link_libraries(binaryninjaapi ${BN_UI_LIBRARY})
- else()
- target_link_libraries(binaryninjaapi)
- endif()
+ # Nothing
endif()
endif()
set_target_properties(binaryninjaapi PROPERTIES
CXX_STANDARD 17
CXX_VISIBILITY_PRESET hidden
- CXX_STANDARD_REQUIRED ON
+ CXX_STANDARD_REQUIRED ON
VISIBILITY_INLINES_HIDDEN ON
POSITION_INDEPENDENT_CODE ON
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out)