From b408b85e898dacb4959f02175eacb7de3bdf7608 Mon Sep 17 00:00:00 2001
From: Gennady Pospelov <g.pospelov@fz-juelich.de>
Date: Fri, 20 Sep 2013 15:10:53 +0200
Subject: [PATCH] Fixes in GUI windows build (external dll's and python
 support)

---
 CMakeLists.txt                                   |  4 ++--
 Core/CMakeLists.txt                              |  4 ++--
 Fit/CMakeLists.txt                               |  4 ++--
 GUI/coregui/CMakeLists.txt                       |  1 +
 GUI/externals/qt-root-gui-factory/CMakeLists.txt | 13 ++++++++++++-
 GUI/externals/qt-root/CMakeLists.txt             |  4 ++++
 6 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9ffc37314df..1b442de15e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,11 +8,11 @@ project(BornAgain)
 
 # --- General project settings ---
 if(NOT BORNAGAIN_PYTHON)
-    set(BORNAGAIN_PYTHON OFF)
+    set(BORNAGAIN_PYTHON ON)
 endif()
 
 if(NOT BORNAGAIN_APP)
-#    set(BORNAGAIN_APP ON)
+    set(BORNAGAIN_APP ON)
 endif()
 
 if(NOT BORNAGAIN_GUI)
diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt
index e4e607f7c15..f55917bfe35 100644
--- a/Core/CMakeLists.txt
+++ b/Core/CMakeLists.txt
@@ -81,7 +81,7 @@ if(WIN32 AND BORNAGAIN_PYTHON)
         TARGET ${library_name}
         POST_BUILD
         COMMAND ${CMAKE_COMMAND} -E copy
-        ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}${libsuffix}
+        ${CMAKE_BINARY_DIR}/bin/${libprefix}${library_name}${libsuffix}
         ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}".pyd"
     )
 endif()
@@ -93,7 +93,7 @@ endif()
 install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION Examples COMPONENT Examples FILES_MATCHING PATTERN "*.py" )
 install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION Examples COMPONENT Examples FILES_MATCHING PATTERN "README")
 install (DIRECTORY ${CMAKE_SOURCE_DIR}/bin/ DESTINATION bin COMPONENT Libraries)
-install (TARGETS ${library_name} DESTINATION lib COMPONENT Libraries)
+#install (TARGETS ${library_name} DESTINATION lib COMPONENT Libraries)
 install (TARGETS ${library_name} DESTINATION bin COMPONENT Libraries)
 
 if(WIN32 AND BORNAGAIN_PYTHON)
diff --git a/Fit/CMakeLists.txt b/Fit/CMakeLists.txt
index 2c0e50ccdc6..7d3f50c693d 100644
--- a/Fit/CMakeLists.txt
+++ b/Fit/CMakeLists.txt
@@ -67,7 +67,7 @@ if(WIN32 AND BORNAGAIN_PYTHON)
         TARGET ${library_name}
         POST_BUILD
         COMMAND ${CMAKE_COMMAND} -E copy
-        ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}${libsuffix}
+        ${CMAKE_BINARY_DIR}/bin/${libprefix}${library_name}${libsuffix}
         ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}".pyd"
     )
 endif()
@@ -76,7 +76,7 @@ endif()
 # installation
 # FIXME installation goes in two place (lib, bin), this is temporary
 # -----------------------------------------------
-install (TARGETS ${library_name} DESTINATION lib COMPONENT Libraries)
+#install (TARGETS ${library_name} DESTINATION lib COMPONENT Libraries)
 install (TARGETS ${library_name} DESTINATION bin COMPONENT Libraries)
 
 if(WIN32 AND BORNAGAIN_PYTHON)
diff --git a/GUI/coregui/CMakeLists.txt b/GUI/coregui/CMakeLists.txt
index 8d0f963d889..ebd108b44d2 100644
--- a/GUI/coregui/CMakeLists.txt
+++ b/GUI/coregui/CMakeLists.txt
@@ -179,6 +179,7 @@ if(WIN32)
     ${QTDIR}/bin/Qt5Designer.dll
     ${QTDIR}/bin/Qt5Xml.dll
     ${QTDIR}/bin/libGLESv2.dll
+    ${QTDIR}/bin/libEGL.dll    
     ${QTDIR}/bin/icuin51.dll
     ${QTDIR}/bin/icuuc51.dll
     ${QTDIR}/bin/icudt51.dll
diff --git a/GUI/externals/qt-root-gui-factory/CMakeLists.txt b/GUI/externals/qt-root-gui-factory/CMakeLists.txt
index a76b4115742..0fb675082b2 100644
--- a/GUI/externals/qt-root-gui-factory/CMakeLists.txt
+++ b/GUI/externals/qt-root-gui-factory/CMakeLists.txt
@@ -22,17 +22,28 @@ add_library(
     STATIC
     ${source_files} ${include_files} G__QtRoot.cxx
 )
+#set_Target_properties(${library_name} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix})
+#set(${library_name}_LIBRARY_TYPE SHARED)
+
 set(${library_name}_INCLUDE_DIRS ${include_dirs} PARENT_SCOPE)
 set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
 
 # --- dependencies ---
+message("XXX ${GQt_LIBRARY}")
+message("XXX ${ROOT_LIBRARIES} ")
 include_directories(
     ${ROOT_INCLUDE_DIR}
     ${GQt_INCLUDE_DIRS}
 )
 
-target_link_libraries(${library_name} ${ROOT_LIBRARIES} ${GQt_LIBRARY})
+target_link_libraries(
+    ${library_name} 
+    ${GQt_LIBRARY}
+    ${ROOT_LIBRARIES} 
+)
 
 #find_package(Qt5Widgets REQUIRED)
 qt5_use_modules(${library_name} Widgets)
 
+# --- installation ---
+#install (TARGETS ${library_name} DESTINATION bin COMPONENT Libraries)
diff --git a/GUI/externals/qt-root/CMakeLists.txt b/GUI/externals/qt-root/CMakeLists.txt
index f42f03202a7..b85eb58c07a 100644
--- a/GUI/externals/qt-root/CMakeLists.txt
+++ b/GUI/externals/qt-root/CMakeLists.txt
@@ -34,6 +34,8 @@ add_library(
     STATIC
     ${source_files} ${include_files} ${mocfiles} G__GQt.cxx
 )
+#set_Target_properties(${library_name} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix})
+#set(${library_name}_LIBRARY_TYPE SHARED)
 set(${library_name}_INCLUDE_DIRS ${include_dirs} PARENT_SCOPE)
 set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
 
@@ -45,5 +47,7 @@ include_directories(
 target_link_libraries(${library_name} ${ROOT_LIBRARIES})
 qt5_use_modules(${library_name} Widgets)
 
+# --- installation ---
+#install (TARGETS ${library_name} DESTINATION bin COMPONENT Libraries)
 
 
-- 
GitLab