Use cmake to find libbfd
This commit is contained in:
parent
6222ce650f
commit
aa0edb65dc
@ -212,6 +212,17 @@ if(UNIX AND NOT APPLE)
|
|||||||
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
|
find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
|
||||||
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
|
mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(USE_LIBBFD)
|
||||||
|
find_package(Libbfd)
|
||||||
|
if(LIBBFD_FOUND)
|
||||||
|
add_definitions(-DENABLE_LIBBFD)
|
||||||
|
include_directories(${LIBBFD_INCLUDE_DIRS})
|
||||||
|
else()
|
||||||
|
set(USE_LIBBFD OFF CACHE BOOL "Use libbfd for crash reporting and leak check" FORCE)
|
||||||
|
message(WARNING "Libbfd not found, disable integrated stack trace.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Set some compiler options
|
# Set some compiler options
|
||||||
@ -361,14 +372,13 @@ if(UNIX AND NOT APPLE)
|
|||||||
else()
|
else()
|
||||||
target_link_libraries(supertuxkart ${IRRLICHT_XF86VM_LIBRARY})
|
target_link_libraries(supertuxkart ${IRRLICHT_XF86VM_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
if(USE_LIBBFD)
|
||||||
|
target_link_libraries(supertuxkart ${LIBBFD_LIBRARIES})
|
||||||
|
endif()
|
||||||
if(USE_ASAN)
|
if(USE_ASAN)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
|
||||||
target_link_libraries(supertuxkart "-fsanitize=address")
|
target_link_libraries(supertuxkart "-fsanitize=address")
|
||||||
endif()
|
endif()
|
||||||
if(USE_LIBBFD)
|
|
||||||
add_definitions(-DENABLE_LIBBFD)
|
|
||||||
target_link_libraries(supertuxkart "-lbfd")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# FreeBSD does not search in /usr/local/lib, but at least Freetype is installed there :(
|
# FreeBSD does not search in /usr/local/lib, but at least Freetype is installed there :(
|
||||||
|
89
cmake/FindLibbfd.cmake
Normal file
89
cmake/FindLibbfd.cmake
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
# - Try to find libbfd
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# LIBBFD_FOUND - system has libbfd
|
||||||
|
# LIBBFD_INCLUDE_DIRS - the libbfd include directory
|
||||||
|
# LIBBFD_LIBRARIES - Link these to use libbfd
|
||||||
|
# LIBBFD_DEFINITIONS - Compiler switches required for using libbfd
|
||||||
|
#
|
||||||
|
# Based on:
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008 Bernhard Walle <bernhard.walle@gmx.de>
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the New
|
||||||
|
# BSD license.
|
||||||
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
if (LIBBFD_LIBRARIES AND LIBBFD_INCLUDE_DIRS)
|
||||||
|
set (LIBBFD_FIND_QUIETLY TRUE)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path (LIBBFD_INCLUDE_DIRS
|
||||||
|
NAMES
|
||||||
|
bfd.h
|
||||||
|
dis-asm.h
|
||||||
|
PATHS
|
||||||
|
/usr/include
|
||||||
|
/usr/local/include
|
||||||
|
/opt/local/include
|
||||||
|
/opt/include
|
||||||
|
ENV CPATH)
|
||||||
|
|
||||||
|
# Ugly, yes ugly...
|
||||||
|
find_library (LIBBFD_BFD_LIBRARY
|
||||||
|
NAMES
|
||||||
|
bfd
|
||||||
|
PATHS
|
||||||
|
/usr/lib
|
||||||
|
/usr/lib64
|
||||||
|
/usr/local/lib
|
||||||
|
/usr/local/lib64
|
||||||
|
/usr/include
|
||||||
|
/opt/local/lib
|
||||||
|
/opt/usr/lib64
|
||||||
|
ENV LIBRARY_PATH
|
||||||
|
ENV LD_LIBRARY_PATH)
|
||||||
|
|
||||||
|
#find_library (LIBBFD_IBERTY_LIBRARY
|
||||||
|
# NAMES
|
||||||
|
# iberty
|
||||||
|
# PATHS
|
||||||
|
# /usr/lib
|
||||||
|
# /usr/lib64
|
||||||
|
# /usr/local/lib
|
||||||
|
# /usr/local/lib64
|
||||||
|
# /usr/include
|
||||||
|
# /opt/local/lib
|
||||||
|
# /opt/usr/lib64
|
||||||
|
# ENV LIBRARY_PATH
|
||||||
|
# ENV LD_LIBRARY_PATH)
|
||||||
|
|
||||||
|
#find_library (LIBBFD_OPCODES_LIBRARY
|
||||||
|
# NAMES
|
||||||
|
# opcodes
|
||||||
|
# PATHS
|
||||||
|
# /usr/lib
|
||||||
|
# /usr/lib64
|
||||||
|
# /usr/local/lib
|
||||||
|
# /usr/local/lib64
|
||||||
|
# /usr/include
|
||||||
|
# /opt/local/lib
|
||||||
|
# /opt/usr/lib64
|
||||||
|
# ENV LIBRARY_PATH
|
||||||
|
# ENV LD_LIBRARY_PATH)
|
||||||
|
|
||||||
|
|
||||||
|
include (FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set LIBBFD_FOUND to TRUE if all listed variables are TRUE
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBBFD DEFAULT_MSG
|
||||||
|
LIBBFD_BFD_LIBRARY
|
||||||
|
# LIBBFD_IBERTY_LIBRARY
|
||||||
|
# LIBBFD_OPCODES_LIBRARY
|
||||||
|
LIBBFD_INCLUDE_DIRS)
|
||||||
|
|
||||||
|
set(LIBBFD_LIBRARIES "${LIBBFD_BFD_LIBRARY}")
|
||||||
|
mark_as_advanced(LIBBFD_INCLUDE_DIRS LIBBFD_LIBRARIES LIBBFD_BFD_LIBRARY)
|
Loading…
Reference in New Issue
Block a user