From 09f6f5c2b7c78f3da4f3886cf15db8032f8cc9d4 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Fri, 17 Apr 2015 09:32:08 +0200
Subject: [PATCH] Fixes for using OGS as a submodule.

---
 Applications/DataExplorer/DataExplorer.cmake | 14 +++++++-------
 FileIO/CsvInterface.h                        |  2 +-
 scripts/cmake/CMakeSetup.cmake               | 12 ++++++++++--
 scripts/cmake/ProjectSetup.cmake             |  5 -----
 scripts/cmake/packaging/Pack.cmake           |  5 +++++
 5 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/Applications/DataExplorer/DataExplorer.cmake b/Applications/DataExplorer/DataExplorer.cmake
index 242238ccc68..40b441d6be7 100644
--- a/Applications/DataExplorer/DataExplorer.cmake
+++ b/Applications/DataExplorer/DataExplorer.cmake
@@ -1,22 +1,22 @@
 # Source files
 set(SOURCES
 	mainwindow.cpp
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.cpp
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileListDialog.cpp
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/OGSFileConverter.cpp
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/FileListDialog.cpp
 )
 
 # Moc Header files
 set(MOC_HEADERS
 	mainwindow.h
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.h
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileListDialog.h
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/OGSFileConverter.h
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/FileListDialog.h
 )
 
 # UI files
 set(UIS
 	mainwindow.ui
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/OGSFileConverter.ui
-	${CMAKE_SOURCE_DIR}/Applications/Utils/OGSFileConverter/FileList.ui
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/OGSFileConverter.ui
+	${CMAKE_CURRENT_SOURCE_DIR}/../Utils/OGSFileConverter/FileList.ui
 )
 
 
@@ -59,7 +59,7 @@ source_group("UI Files" REGULAR_EXPRESSION "\\w*\\.ui")
 source_group("Moc Files" REGULAR_EXPRESSION "moc_.*")
 
 # Application icon
-set(APP_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.icns)
+set(APP_ICON ${SOURCE_DIR_REL}/scripts/packaging/ogs-de-icon.icns)
 
 # Create the executable
 add_executable(DataExplorer MACOSX_BUNDLE
diff --git a/FileIO/CsvInterface.h b/FileIO/CsvInterface.h
index 848e7541082..96101780d15 100644
--- a/FileIO/CsvInterface.h
+++ b/FileIO/CsvInterface.h
@@ -24,7 +24,7 @@
 // ThirdParty/logog
 #include "logog/include/logog.hpp"
 
-#include "StringTools.h"
+#include "BaseLib/StringTools.h"
 
 namespace GeoLib {
 	class Point;
diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake
index 8f0094d8e60..5a785319cda 100644
--- a/scripts/cmake/CMakeSetup.cmake
+++ b/scripts/cmake/CMakeSetup.cmake
@@ -18,8 +18,16 @@ include(GetGitRevisionDescription)
 GET_GIT_HEAD_REVISION(GIT_REFSPEC GIT_SHA1)
 string(SUBSTRING ${GIT_SHA1} 0 8 GIT_SHA1_SHORT)
 
-if($ENV{CI})
-	set(OGS_VERSION 6.6.6) # Dummy version for CI-environment (Travis)
+# Check if this project is included in another
+if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+	set(IS_SUBPROJECT ON CACHE INTERNAL "" FORCE)
+	set(OGS_BUILD_CLI OFF CACHE BOOL "" FORCE)
+endif()
+
+if(DEFINED $ENV{CI})
+	set(OGS_VERSION 6.6.6) # Dummy version for CI-environment (Travis) or subproject
+elseif(IS_SUBPROJECT)
+	set(OGS_VERSION x.x.x)
 else()
 	GIT_GET_TAG(GIT_DESCRIBE)
 	string(REGEX MATCH ^[0-9|\\.]* GIT_TAG ${GIT_DESCRIBE})
diff --git a/scripts/cmake/ProjectSetup.cmake b/scripts/cmake/ProjectSetup.cmake
index 25b4ff328c9..f72640b90b0 100644
--- a/scripts/cmake/ProjectSetup.cmake
+++ b/scripts/cmake/ProjectSetup.cmake
@@ -22,9 +22,4 @@ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
 include_directories(${CMAKE_CURRENT_SOURCE_DIR})
 
-# Check if this project is included in another
-if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-	set(IS_SUBPROJECT ON INTERNAL)
-endif()
-
 site_name(HOSTNAME)
diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake
index 2bfc4f00342..e1282e666f7 100644
--- a/scripts/cmake/packaging/Pack.cmake
+++ b/scripts/cmake/packaging/Pack.cmake
@@ -1,3 +1,8 @@
+if(IS_SUBPROJECT)
+	include (CPack)
+	return()
+endif()
+
 include(packaging/PackagingMacros)
 include(packaging/ArchiveTestdata)
 
-- 
GitLab