Skip to content

Commit b522bcb

Browse files
committed
deps/yara: install libyara archive
1 parent 81b0fd2 commit b522bcb

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

deps/yara/CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ else()
8484
set(_YARA_URL "${YARA_URL}")
8585
endif()
8686

87+
set(YARA_INSTALL_DIR ${CMAKE_BINARY_DIR}/deps/install/yara)
8788
set(YARA_LIB_NAME ${YARA_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})
8889
set(YARA_LIB_NAMEP libretdec-yara${CMAKE_STATIC_LIBRARY_SUFFIX})
89-
set(YARA_LIB ${YARA_LIBRARY_DIR}/${YARA_LIB_NAME})
90+
set(YARA_LIB_B ${YARA_LIBRARY_DIR}/${YARA_LIB_NAME})
91+
set(YARA_LIB ${YARA_INSTALL_DIR}/lib/${YARA_LIB_NAME})
9092

9193
ExternalProject_Add(yara
9294
SOURCE_DIR ${YARA_SOURCE_DIR}
@@ -129,6 +131,17 @@ else()
129131
)
130132
endif()
131133

134+
# Install the library file manually.
135+
# We need it to get rif of MSVC's Release/Debug, because gen exprs cannot be
136+
# used in BUILD_BYPRODUCTS.
137+
# We could install YARA using YARA_INSTALL_DIR, but it would not work on MSVC.
138+
ExternalProject_Add_Step(yara move-install
139+
WORKING_DIRECTORY ${YARA_DIR}
140+
DEPENDEES install
141+
COMMAND ${CMAKE_COMMAND} -E make_directory ${YARA_INSTALL_DIR}/lib
142+
COMMAND ${CMAKE_COMMAND} -E copy ${YARA_LIB_B} ${YARA_LIB}
143+
)
144+
132145
# Create target.
133146
add_library(libyara INTERFACE)
134147
add_library(retdec::deps::libyara ALIAS libyara)

0 commit comments

Comments
 (0)