* CMake: set project language to C, added module FindFunctionLibrary, added search for dl library. (tested with debian-wheezy-i386)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14902 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
2
3rdparty/CMakeLists.txt
vendored
2
3rdparty/CMakeLists.txt
vendored
@@ -47,7 +47,7 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
|
||||
endmacro( CONFIGURE_WITH_LOCAL_OR_SYSTEM )
|
||||
|
||||
|
||||
set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH} )
|
||||
set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake CACHE INTERNAL "" )
|
||||
add_subdirectory( msinttypes )
|
||||
add_subdirectory( mt19937ar )
|
||||
add_subdirectory( mysql )
|
||||
|
||||
47
3rdparty/cmake/FindFunctionLibrary.cmake
vendored
Normal file
47
3rdparty/cmake/FindFunctionLibrary.cmake
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# - Check which library is needed to link a C function
|
||||
# find_function_library( <function> <variable> [<library> ...] )
|
||||
#
|
||||
# Check which library provides the <function>.
|
||||
# Sets <variable> to 0 if found in the global libraries.
|
||||
# Sets <variable> to the library path if found in the provided libraries.
|
||||
# Raises a FATAL_ERROR if not found.
|
||||
#
|
||||
# The following variables may be set before calling this macro to
|
||||
# modify the way the check is run:
|
||||
#
|
||||
# CMAKE_REQUIRED_FLAGS = string of compile command line flags
|
||||
# CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
|
||||
# CMAKE_REQUIRED_INCLUDES = list of include directories
|
||||
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
|
||||
include( CheckFunctionExists )
|
||||
|
||||
macro( find_function_library FUNC VAR )
|
||||
if( "${VAR}" MATCHES "^${VAR}$" )
|
||||
CHECK_FUNCTION_EXISTS( ${FUNC} ${VAR} )
|
||||
if( ${VAR} )
|
||||
message( STATUS "Found ${FUNC} in global libraries" )
|
||||
set( ${VAR} 0 CACHE INTERNAL "Found ${FUNC} in global libraries" )# global
|
||||
else()
|
||||
foreach( LIB IN ITEMS ${ARGN} )
|
||||
message( STATUS "Looking for ${FUNC} in ${LIB}" )
|
||||
find_library( ${LIB}_LIBRARY ${LIB} )
|
||||
mark_as_advanced( ${LIB}_LIBRARY )
|
||||
if( ${LIB}_LIBRARY )
|
||||
unset( ${VAR} CACHE )
|
||||
set( CMAKE_REQUIRED_LIBRARIES ${${LIB}_LIBRARY} )
|
||||
CHECK_FUNCTION_EXISTS( ${FUNC} ${VAR} )
|
||||
set( CMAKE_REQUIRED_LIBRARIES )
|
||||
if( ${VAR} )
|
||||
message( STATUS "Found ${FUNC} in ${LIB}: ${${LIB}_LIBRARY}" )
|
||||
set( ${VAR} ${${LIB}_LIBRARY} CACHE INTERNAL "Found ${FUNC} in ${LIB}" )# lib
|
||||
break()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
if( NOT ${VAR} )
|
||||
message( FATAL_ERROR "Function ${FUNC} not found" )
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endmacro( find_function_library )
|
||||
|
||||
3
3rdparty/msinttypes/CMakeLists.txt
vendored
3
3rdparty/msinttypes/CMakeLists.txt
vendored
@@ -4,5 +4,6 @@ find_path( MSINTTYPES_INCLUDE_DIRS "inttypes.h"
|
||||
PATHS "${CMAKE_CURRENT_SOURCE_DIR}/include"
|
||||
NO_DEFAULT_PATH )
|
||||
mark_as_advanced( MSINTTYPES_INCLUDE_DIRS )
|
||||
set( GLOBAL_INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${MSINTTYPES_INCLUDE_DIRS} CACHE INTERNAL "" )
|
||||
message( STATUS "Adding global include directory: ${MSINTTYPES_INCLUDE_DIRS}" )
|
||||
set_property( CACHE GLOBAL_INCLUDE_DIRS PROPERTY VALUE ${GLOBAL_INCLUDE_DIRS} ${MSINTTYPES_INCLUDE_DIRS} )
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user