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()
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()
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()
--- /dev/null
+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
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}")
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
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(