Commit 2c86b239 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

cmake: Add a FindDlopen module. (Ask for review by dlopen users).

parent 6404591b
PROJECT(vlc)
# Set the module path
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
# Our own include
include( ${CMAKE_SOURCE_DIR}/cmake/vlc_module_funcs.cmake )
include( vlc_module_funcs )
# Config
include( ${CMAKE_SOURCE_DIR}/cmake/config.cmake )
# Our config
include( config )
add_definitions(-DHAVE_CONFIG_H)
add_definitions(-D__LIBVLC__)
add_definitions(-I. -std=gnu99)
# Needed for glibc:
add_definitions(-D_GNU_SOURCE)
# Our main include directories
include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/include)
# Sources
# our sources:
add_subdirectory(src)
add_subdirectory(modules)
......@@ -177,6 +177,8 @@ if(APPLE)
target_link_libraries(libvlc ${CARBON_FRAMEWORK})
endif(APPLE)
target_link_libraries(libvlc ${Dlopen_LIBRARY})
##########################################################
# revision.c
......
# From licq www.licq.org (GPL)
# - Find library containing dlopen()
# The following variables are set if dlopen is found. If dlopen is not
# found, Dlopen_FOUND is set to false.
# Dlopen_FOUND - System has dlopen.
# Dlopen_LIBRARIES - Link these to use dlopen.
#
# Copyright (c) 2007 Erik Johansson <erik@ejohansson.se>
# Redistribution and use is allowed according to the terms of the BSD license.
include(CheckLibraryExists)
# Assume dlopen is not found.
set(Dlopen_FOUND FALSE)
foreach (library c c_r dl)
if (NOT Dlopen_FOUND)
check_library_exists(${library} dlopen "" Dlopen_IN_${library})
if (Dlopen_IN_${library})
set(Dlopen_LIBRARIES ${library} CACHE STRING "Library containing dlopen")
set(Dlopen_FOUND TRUE)
endif (Dlopen_IN_${library})
endif (NOT Dlopen_FOUND)
endforeach (library)
if (Dlopen_FOUND)
if (NOT Dlopen_FIND_QUIETLY)
message(STATUS "Found dlopen in: ${Dlopen_LIBRARIES}")
endif (NOT Dlopen_FIND_QUIETLY)
else (Dlopen_FOUND)
if (Dlopen_FIND_REQUIRED)
message(FATAL_ERROR "Could not find the library containing dlopen")
endif (Dlopen_FIND_REQUIRED)
endif (Dlopen_FOUND)
mark_as_advanced(Dlopen_LIBRARIES)
......@@ -22,6 +22,8 @@ vlc_check_include_files (netinet/in.h netinet/udplite.h)
vlc_check_include_files (netdb.h fcntl.h sys/time.h poll.h)
vlc_check_include_files (errno.h time.h)
vlc_check_include_files (dlfcn.h dl.h)
vlc_check_include_files (kernel/OS.h)
vlc_check_include_files (mach-o/dyld.h)
......@@ -77,7 +79,6 @@ find_library(HAVE_ICONV iconv)
# FIXME: this will break on *BSD:
set( ICONV_CONST " " )
check_library_exists(dl dlopen "" HAVE_DL_DLOPEN)
check_library_exists(rt clock_nanosleep "" HAVE_CLOCK_NANOSLEEP)
###########################################################
......@@ -232,7 +233,9 @@ if(${LIBCDDB_FOUND})
vlc_add_module_compile_flag(cdda ${LIBCDDB_CFLAGS} )
endif(${LIBCDDB_FOUND})
include (FindDlopen)
set(HAVE_DL_DLOPEN ${Dlopen_FOUND})
###########################################################
# Final configuration
###########################################################
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment