blob: 78c8fd4c7bcb78b9ccbeee2bea73cb0bd996c382 [file] [log] [blame]
Index: CMakeLists.txt
===================================================================
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt (revision 9965)
+++ b/CMakeLists.txt (working copy)
@@ -138,6 +139,7 @@
#######################################################################
# libraries
find_library(LIB_CAIRO cairo)
+find_library(LIB_dl dl)
find_library(LIB_fontconfig fontconfig)
find_library(LIB_freetype freetype)
find_library(LIB_GL GL)
@@ -146,7 +148,7 @@
find_library(LIB_png png)
find_library(LIB_zlib z)
-mark_as_advanced(LIB_CAIRO LIB_fontconfig LIB_freetype)
+mark_as_advanced(LIB_CAIRO LIB_dl LIB_fontconfig LIB_freetype)
mark_as_advanced(LIB_GL LIB_MesaGL)
mark_as_advanced(LIB_jpeg LIB_png LIB_zlib)
Index: src/CMakeLists.txt
===================================================================
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
--- a/src/CMakeLists.txt (revision 9965)
+++ b/src/CMakeLists.txt (working copy)
@@ -220,7 +220,7 @@
endif(MSVC)
if(USE_THREADS)
- target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT})
+ target_link_libraries(fltk ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
endif(USE_THREADS)
if(USE_X11)
@@ -334,7 +334,7 @@
endif(MSVC)
if(USE_THREADS)
- target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT})
+ target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
endif(USE_THREADS)
if(USE_X11)
@@ -384,11 +384,11 @@
endif(MSVC)
if(USE_THREADS)
- target_link_libraries(fltk_SHARED ${CMAKE_THREAD_LIBS_INIT})
+ target_link_libraries(fltk_forms_SHARED ${CMAKE_THREAD_LIBS_INIT} ${LIB_dl})
endif(USE_THREADS)
if(USE_X11)
- target_link_libraries(fltk_SHARED ${X11_LIBRARIES})
+ target_link_libraries(fltk_forms_SHARED ${X11_LIBRARIES})
endif(USE_X11)
#######################################################################
diff -Naur a/CMake/FindDL.cmake b/CMake/FindDL.cmake
--- a/CMake/FindDL.cmake 1969-12-31 19:00:00.000000000 -0500
+++ b/CMake/FindDL.cmake 2014-10-29 23:00:18.000000000 -0400
@@ -0,0 +1,37 @@
+# - Find dl functions
+# This module finds dl libraries.
+#
+# It sets the following variables:
+# DL_FOUND - Set to false, or undefined, if dl libraries aren't found.
+# DL_INCLUDE_DIR - The dl include directory.
+# DL_LIBRARY - The dl library to link against.
+
+INCLUDE(CheckFunctionExists)
+
+FIND_PATH(DL_INCLUDE_DIR NAMES dlfcn.h)
+FIND_LIBRARY(DL_LIBRARY NAMES dl)
+
+IF (DL_LIBRARY)
+ SET(DL_FOUND TRUE)
+ELSE (DL_LIBRARY)
+ # if dlopen can be found without linking in dl then,
+ # dlopen is part of libc, so don't need to link extra libs.
+ CHECK_FUNCTION_EXISTS(dlopen DL_FOUND)
+ SET(DL_LIBRARY "")
+ENDIF (DL_LIBRARY)
+
+IF (DL_FOUND)
+
+ # show which dl was found only if not quiet
+ IF (NOT DL_FIND_QUIETLY)
+ MESSAGE(STATUS "Found dl: ${DL_LIBRARY}")
+ ENDIF (NOT DL_FIND_QUIETLY)
+
+ELSE (DL_FOUND)
+
+ # fatal error if dl is required but not found
+ IF (DL_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find dl")
+ ENDIF (DL_FIND_REQUIRED)
+
+ENDIF (DL_FOUND)