mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
chimera: add pkgconfig install files
This commit is contained in:
parent
1ad2f8760c
commit
c8ec0d0ec2
@ -460,7 +460,7 @@ if (NOT CORRECT_PCRE_VERSION)
|
||||
endif()
|
||||
|
||||
# we need static libs for Chimera - too much deep magic for shared libs
|
||||
if (CORRECT_PCRE_VERSION AND BUILD_STATIC_LIBS)
|
||||
if (CORRECT_PCRE_VERSION AND PCRE_BUILD_SOURCE AND BUILD_STATIC_LIBS)
|
||||
set(BUILD_CHIMERA TRUE)
|
||||
endif()
|
||||
|
||||
@ -512,7 +512,7 @@ if (NOT CORRECT_PCRE_VERSION)
|
||||
endif()
|
||||
|
||||
# we need static libs for Chimera - too much deep magic for shared libs
|
||||
if (CORRECT_PCRE_VERSION AND BUILD_STATIC_LIBS)
|
||||
if (CORRECT_PCRE_VERSION AND PCRE_BUILD_SOURCE AND BUILD_STATIC_LIBS)
|
||||
set(BUILD_CHIMERA TRUE)
|
||||
endif()
|
||||
|
||||
|
@ -30,3 +30,20 @@ SET(chimera_SRCS
|
||||
add_library(chimera STATIC ${chimera_SRCS})
|
||||
add_dependencies(chimera hs pcre)
|
||||
target_link_libraries(chimera hs pcre)
|
||||
|
||||
install(TARGETS chimera DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
if (NOT WIN32)
|
||||
# expand out library names for pkgconfig static link info
|
||||
foreach (LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES})
|
||||
# this is fragile, but protects us from toolchain specific files
|
||||
if (NOT EXISTS ${LIB})
|
||||
set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}")
|
||||
endif()
|
||||
endforeach()
|
||||
set(PRIVATE_LIBS "${PRIVATE_LIBS} -L${LIBDIR} -lpcre")
|
||||
|
||||
configure_file(libch.pc.in libch.pc @ONLY) # only replace @ quoted vars
|
||||
install(FILES ${CMAKE_BINARY_DIR}/chimera/libch.pc
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
endif()
|
||||
|
12
chimera/libch.pc.in
Normal file
12
chimera/libch.pc.in
Normal file
@ -0,0 +1,12 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_PREFIX@/lib
|
||||
includedir=@CMAKE_INSTALL_PREFIX@/include
|
||||
|
||||
Name: libch
|
||||
Description: Intel(R) Chimera Library
|
||||
Version: @HS_VERSION@
|
||||
Requires.private: libhs
|
||||
Libs: -L${libdir} -lchimera
|
||||
Libs.private: @PRIVATE_LIBS@
|
||||
Cflags: -I${includedir}/hs
|
@ -23,7 +23,9 @@ set_source_files_properties(
|
||||
|
||||
ragelmaker(ColliderCorporaParser.rl)
|
||||
|
||||
add_definitions(-DHS_HYBRID)
|
||||
if (BUILD_CHIMERA)
|
||||
add_definitions(-DHS_HYBRID)
|
||||
endif()
|
||||
|
||||
# only set these after all tests are done
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS}")
|
||||
@ -65,9 +67,15 @@ add_dependencies(hscollider ragel_ColliderCorporaParser)
|
||||
add_dependencies(hscollider pcre)
|
||||
|
||||
if(NOT WIN32)
|
||||
target_link_libraries(hscollider hs chimera ${PCRE_LDFLAGS} databaseutil
|
||||
expressionutil corpusomatic crosscompileutil pthread
|
||||
"${BACKTRACE_LDFLAGS}")
|
||||
if (BUILD_CHIMERA)
|
||||
target_link_libraries(hscollider hs chimera ${PCRE_LDFLAGS} databaseutil
|
||||
expressionutil corpusomatic crosscompileutil pthread
|
||||
"${BACKTRACE_LDFLAGS}")
|
||||
else()
|
||||
target_link_libraries(hscollider hs ${PCRE_LDFLAGS} databaseutil
|
||||
expressionutil corpusomatic crosscompileutil pthread
|
||||
"${BACKTRACE_LDFLAGS}")
|
||||
endif()
|
||||
|
||||
if(HAVE_BACKTRACE)
|
||||
set_source_files_properties(hscollider_SOURCES COMPILE_FLAGS
|
||||
@ -75,8 +83,13 @@ if(HAVE_BACKTRACE)
|
||||
endif()
|
||||
else() # WIN32
|
||||
set_target_properties(hscollider PROPERTIES LINK_FLAGS "/STACK:8388608,8388608")
|
||||
target_link_libraries(hscollider hs chimera pcre databaseutil
|
||||
expressionutil corpusomatic crosscompileutil)
|
||||
if (BUILD_CHIMERA)
|
||||
target_link_libraries(hscollider hs chimera pcre databaseutil
|
||||
expressionutil corpusomatic crosscompileutil)
|
||||
else()
|
||||
target_link_libraries(hscollider hs pcre databaseutil
|
||||
expressionutil corpusomatic crosscompileutil)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_custom_target(
|
||||
|
Loading…
x
Reference in New Issue
Block a user