Author: Ole Streicher <olebole@debian.org>
Description: Create a shared library to link to gdl executable and Python extension
 The library is called libgnudatalanguage.so to avoid confusion with the
 libgdl from the GNOME project.
Forwarded: https://sourceforge.net/p/gnudatalanguage/patches/95/
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -963,9 +963,7 @@
 	endif(WIN32 AND NOT CYGWIN)
 endif(X11)
 add_subdirectory(src)
-if(NOT PYTHON_MODULE)
-	add_subdirectory(testsuite)
-endif(NOT PYTHON_MODULE)
+add_subdirectory(testsuite)
 
 install(FILES ${CMAKE_SOURCE_DIR}/AUTHORS ${CMAKE_SOURCE_DIR}/README DESTINATION ${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR})
 install(FILES ${CMAKE_SOURCE_DIR}/doc/gdl.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)
@@ -975,14 +973,12 @@
 
 # create a link src/gdl -> ${BUILD}/.../gdl
 # for windows, just copy the file
-if(NOT PYTHON_MODULE)
 	get_target_property(GDLLOCATION gdl LOCATION)
 	if(WIN32)
 	add_custom_target(copy_gdl ALL ${CMAKE_COMMAND} -E copy ${GDLLOCATION} ${CMAKE_SOURCE_DIR}/src/gdl DEPENDS gdl)
 	else(WIN32)
 	add_custom_target(symlink_gdl ALL ${CMAKE_COMMAND} -E create_symlink ${GDLLOCATION} ${CMAKE_SOURCE_DIR}/src/gdl DEPENDS gdl)
 	endif(WIN32)
-endif(NOT PYTHON_MODULE)
 
 # display macro
 macro(MODULE MOD NAME)
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -271,23 +271,30 @@
 include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/antlr ${CMAKE_BINARY_DIR})
 link_directories(${LINK_DIRECTORIES})
 
+add_library(gnudatalanguage SHARED ${SOURCES})
+SET_TARGET_PROPERTIES(gnudatalanguage PROPERTIES SOVERSION 0)
 if(PYTHON_MODULE) #GDL.so
-	set(SOURCES ${SOURCES} pythongdl.cpp)
-	add_library(gdl SHARED ${SOURCES})
-	SET_TARGET_PROPERTIES(gdl PROPERTIES PREFIX "")
-	SET_TARGET_PROPERTIES(gdl PROPERTIES OUTPUT_NAME GDL)
-	SET_TARGET_PROPERTIES(gdl PROPERTIES NO_SONAME TRUE)
-else(PYTHON_MODULE) #GDL.so
-	set(SOURCES ${SOURCES} gdl.cpp)
-	add_executable(gdl ${SOURCES})
+	add_library(pythongdl SHARED pythongdl.cpp)
+	SET_TARGET_PROPERTIES(pythongdl PROPERTIES PREFIX "")
+	SET_TARGET_PROPERTIES(pythongdl PROPERTIES OUTPUT_NAME GDL)
+	SET_TARGET_PROPERTIES(pythongdl PROPERTIES NO_SONAME TRUE)
+	target_link_libraries(pythongdl gnudatalanguage)
 endif(PYTHON_MODULE)
+add_executable(gdl gdl.cpp)
+target_link_libraries(gdl gnudatalanguage)
+if (OPENMP)
+	target_link_libraries(gdl -fopenmp)
+endif (OPENMP)
+if (READLINE)
+	target_link_libraries(gdl readline)
+endif (READLINE)
 
-add_dependencies(gdl antlr) # be sure that antlr is built before gdl
-target_link_libraries(gdl antlr) # link antlr against gdl
+add_dependencies(gnudatalanguage antlr) # be sure that antlr is built before gdl
+target_link_libraries(gnudatalanguage antlr) # link antlr against gdl
 if (MINGW)
-target_link_libraries(gdl ws2_32)
+target_link_libraries(gnudatalanguage ws2_32)
 endif (MINGW)
-target_link_libraries(gdl ${LIBRARIES})
+target_link_libraries(gnudatalanguage ${LIBRARIES})
 add_definitions(-DHAVE_CONFIG_H)
 
 if(PYTHON_MODULE)
@@ -302,11 +309,11 @@
 	file( TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR )
 	string( REGEX REPLACE "^${PYTHON_PREFIX}/" ""
 	       PYTHON_SITE_DIR "${PYTHON_SITE_DIR}")
-	install(TARGETS gdl DESTINATION ${PYTHON_SITE_DIR})
-else(PYTHON_MODULE)
-	install(TARGETS gdl DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
-	set_target_properties(gdl PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
+	install(TARGETS pythongdl DESTINATION ${PYTHON_SITE_DIR})
 endif(PYTHON_MODULE)
+install(TARGETS gdl DESTINATION bin)
+set_target_properties(gdl PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
+install(TARGETS gnudatalanguage DESTINATION lib)
 
 install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/pro/ DESTINATION ${CMAKE_INSTALL_PREFIX}/${GDL_DATA_DIR}/lib
 	PATTERN CVS EXCLUDE
