From 8f25f70b5d35a373a968a171127c5fa739a34b08 Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Tue, 25 Apr 2017 09:41:30 +0200
Subject: [PATCH] [CMake] Replaced CMAKE_SOURCE_DIR with PROJECT_SOURCE_DIR.

---
 Applications/DataExplorer/CMakeLists.txt      |  4 ---
 .../Utils/OGSFileConverter/CMakeLists.txt     | 32 +++++--------------
 .../Utils/SWMMConverter/CMakeLists.txt        |  2 +-
 Documentation/Doxyfile.in                     | 22 ++++++-------
 ThirdParty/CMakeLists.txt                     |  6 ++--
 scripts/cmake/CMakeSetup.cmake                |  2 +-
 scripts/cmake/ConanSetup.cmake                | 16 ++++++----
 scripts/cmake/Coverage.cmake                  |  4 +--
 scripts/cmake/ExternalProjectCatalyst.cmake   |  2 +-
 scripts/cmake/ExternalProjectVtk.cmake        |  2 +-
 scripts/cmake/Find.cmake                      |  5 ++-
 scripts/cmake/MetisSetup.cmake                |  2 +-
 scripts/cmake/Web.cmake                       | 12 +++----
 scripts/cmake/packaging/ArchiveTestdata.cmake |  2 +-
 scripts/cmake/packaging/Pack.cmake            |  8 ++---
 scripts/cmake/packaging/PackagingLinux.cmake  |  6 ++--
 scripts/cmake/packaging/PackagingMac.cmake    |  4 +--
 scripts/cmake/packaging/PackagingWin.cmake    |  4 +--
 scripts/cmake/test/AddTest.cmake              |  2 +-
 19 files changed, 61 insertions(+), 76 deletions(-)

diff --git a/Applications/DataExplorer/CMakeLists.txt b/Applications/DataExplorer/CMakeLists.txt
index 4d04c84c450..6f21ada93ac 100644
--- a/Applications/DataExplorer/CMakeLists.txt
+++ b/Applications/DataExplorer/CMakeLists.txt
@@ -7,10 +7,6 @@ if(VTKFBXCONVERTER_FOUND)
     include_directories(${VTKFBXCONVERTER_INCLUDE_DIRS})
 endif()
 
-set(CMAKE_AUTOMOC TRUE)
-set(CMAKE_AUTOUIC TRUE)
-set(CMAKE_AUTORCC TRUE)
-
 # Add subprojects
 add_subdirectory(Base)
 add_subdirectory(DataView/StratView)
diff --git a/Applications/Utils/OGSFileConverter/CMakeLists.txt b/Applications/Utils/OGSFileConverter/CMakeLists.txt
index 0302190c9f1..36408229a68 100644
--- a/Applications/Utils/OGSFileConverter/CMakeLists.txt
+++ b/Applications/Utils/OGSFileConverter/CMakeLists.txt
@@ -1,31 +1,19 @@
-cmake_minimum_required(VERSION 2.8.6)
-
-project(OGSFileConverter)
-
-cmake_policy(SET CMP0020 NEW)
-
-set(CMAKE_AUTOMOC TRUE)
-set(CMAKE_AUTOUIC TRUE)
-set(CMAKE_AUTORCC TRUE)
-
 set(SOURCES
     FileListDialog.cpp
     OGSFileConverter.cpp
 )
 
-find_package(Qt5 QUIET REQUIRED Gui Widgets Xml XmlPatterns)
-
 include_directories(
-    ${CMAKE_SOURCE_DIR}/BaseLib
-    ${CMAKE_SOURCE_DIR}/FileIO
-    ${CMAKE_SOURCE_DIR}/GeoLib
-    ${CMAKE_SOURCE_DIR}/MeshLib
-    ${CMAKE_SOURCE_DIR}/Applications/DataExplorer/Base
-    ${CMAKE_SOURCE_DIR}/Applications/DataExplorer/DataView
-    ${CMAKE_SOURCE_DIR}/Applications/DataExplorer/VtkVis
+    ${PROJECT_SOURCE_DIR}/BaseLib
+    ${PROJECT_SOURCE_DIR}/FileIO
+    ${PROJECT_SOURCE_DIR}/GeoLib
+    ${PROJECT_SOURCE_DIR}/MeshLib
+    ${PROJECT_SOURCE_DIR}/Applications/DataExplorer/Base
+    ${PROJECT_SOURCE_DIR}/Applications/DataExplorer/DataView
+    ${PROJECT_SOURCE_DIR}/Applications/DataExplorer/VtkVis
 
     # Qt generated file includes
-    ${CMAKE_BINARY_DIR}/Applications/Utils/OGSFileConverter
+    ${CMAKE_CURRENT_BINARY_DIR}
 
     # Workaround for CMake 3.8
     ${CMAKE_CURRENT_BINARY_DIR}/OGSFileConverterLib_autogen/include
@@ -52,10 +40,6 @@ target_link_libraries(OGSFileConverter
     GeoLib)
 ADD_VTK_DEPENDENCY(OGSFileConverter)
 
-set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE TYPE INTERNAL FORCE)
-set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
-
 set_property(TARGET OGSFileConverter PROPERTY FOLDER "Utilities")
 
 if(OGS_USE_PCH)
diff --git a/Applications/Utils/SWMMConverter/CMakeLists.txt b/Applications/Utils/SWMMConverter/CMakeLists.txt
index d9a14ae8ac0..3f7406ab17f 100644
--- a/Applications/Utils/SWMMConverter/CMakeLists.txt
+++ b/Applications/Utils/SWMMConverter/CMakeLists.txt
@@ -9,7 +9,7 @@ target_link_libraries(SWMMConverter
     SwmmInterface
 )
 
-include_directories( ${CMAKE_SOURCE_DIR}/Applications/FileIO )
+include_directories( ${PROJECT_SOURCE_DIR}/Applications/FileIO )
 
 ADD_VTK_DEPENDENCY(SWMMConverter)
 
diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index 7ed5a95e132..387b5f891d0 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -162,7 +162,7 @@ FULL_PATH_NAMES        = YES
 # will be relative from the directory where doxygen is started.
 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
 
-STRIP_FROM_PATH        = ${CMAKE_SOURCE_DIR}
+STRIP_FROM_PATH        = ${PROJECT_SOURCE_DIR}
 
 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
 # path mentioned in the documentation of a class, which tells the reader which
@@ -700,10 +700,10 @@ FILE_VERSION_FILTER    =
 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
 # tag is left empty.
 
-LAYOUT_FILE            = ${CMAKE_SOURCE_DIR}/Documentation/DoxygenLayout.xml
+LAYOUT_FILE            = ${PROJECT_SOURCE_DIR}/Documentation/DoxygenLayout.xml
 
 # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
+# the reference definitions. This must be a list of .bib files The .bib
 # extension is automatically appended if omitted. This requires the bibtex tool
 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
 # For LaTeX the style of the bibliography can be controlled using
@@ -781,7 +781,7 @@ WARN_LOGFILE           = ${OGS_DOXYGEN_LOGFILE}
 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = ${CMAKE_SOURCE_DIR}/ \
+INPUT                  = ${PROJECT_SOURCE_DIR}/ \
                          ${CMAKE_BINARY_DIR}/DocAux/dox
 
 # This tag can be used to specify the character encoding of the source files
@@ -825,11 +825,11 @@ RECURSIVE              = YES
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
-EXCLUDE                = ${CMAKE_SOURCE_DIR}/ThirdParty \
-                         ${CMAKE_SOURCE_DIR}/scripts \
-                         ${CMAKE_SOURCE_DIR}/Tests \
-                         ${CMAKE_SOURCE_DIR}/Documentation/ProjectFile \
-                         ${CMAKE_SOURCE_DIR}/web \
+EXCLUDE                = ${PROJECT_SOURCE_DIR}/ThirdParty \
+                         ${PROJECT_SOURCE_DIR}/scripts \
+                         ${PROJECT_SOURCE_DIR}/Tests \
+                         ${PROJECT_SOURCE_DIR}/Documentation/ProjectFile \
+                         ${PROJECT_SOURCE_DIR}/web \
                          ${CMAKE_BINARY_DIR}/External
 
 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
@@ -885,7 +885,7 @@ EXAMPLE_RECURSIVE      = NO
 # that contain images that are to be included in the documentation (see the
 # \image command).
 
-IMAGE_PATH             = ${CMAKE_SOURCE_DIR}/Documentation/images
+IMAGE_PATH             = ${PROJECT_SOURCE_DIR}/Documentation/images
 
 # The INPUT_FILTER tag can be used to specify a program that doxygen should
 # invoke to filter for each input file. Doxygen will invoke the filter program
@@ -933,7 +933,7 @@ FILTER_SOURCE_PATTERNS =
 # (index.html). This can be useful if you have a project on for instance GitHub
 # and want to reuse the introduction page also for the doxygen output.
 
-USE_MDFILE_AS_MAINPAGE = ${CMAKE_SOURCE_DIR}/README.md
+USE_MDFILE_AS_MAINPAGE = ${PROJECT_SOURCE_DIR}/README.md
 
 #---------------------------------------------------------------------------
 # Configuration options related to source browsing
diff --git a/ThirdParty/CMakeLists.txt b/ThirdParty/CMakeLists.txt
index b4648795eba..d16c5f0cde8 100644
--- a/ThirdParty/CMakeLists.txt
+++ b/ThirdParty/CMakeLists.txt
@@ -40,13 +40,13 @@ endif()
 if(NOT TARGET vtkGUISupportQt AND OGS_BUILD_GUI)
     set(VTK_QT_VERSION 5 CACHE INTERNAL "")
     include_directories(SYSTEM ${VTK_INCLUDE_DIRS})
-    add_subdirectory(${CMAKE_SOURCE_DIR}/ThirdParty/vtkGUISupportQt)
+    add_subdirectory(vtkGUISupportQt)
 endif()
 
 if(OGS_BUILD_SWMM)
-    add_subdirectory(${CMAKE_SOURCE_DIR}/ThirdParty/SWMMInterface)
+    add_subdirectory(SWMMInterface)
 endif()
 
 if(OGS_BUILD_METIS)
-    include(${CMAKE_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
+    include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
 endif()
diff --git a/scripts/cmake/CMakeSetup.cmake b/scripts/cmake/CMakeSetup.cmake
index 4350954c6c0..ce54b7ea0fc 100644
--- a/scripts/cmake/CMakeSetup.cmake
+++ b/scripts/cmake/CMakeSetup.cmake
@@ -16,7 +16,7 @@ ProcessorCount(NUM_PROCESSORS)
 set(NUM_PROCESSORS ${NUM_PROCESSORS} CACHE STRING "Processor count")
 
 # Check if this project is included in another
-if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+if(NOT PROJECT_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
     set(IS_SUBPROJECT ON CACHE INTERNAL "" FORCE)
     set(OGS_BUILD_CLI OFF CACHE BOOL "" FORCE)
 endif()
diff --git a/scripts/cmake/ConanSetup.cmake b/scripts/cmake/ConanSetup.cmake
index a9e5f81ccd6..914b14e37f6 100644
--- a/scripts/cmake/ConanSetup.cmake
+++ b/scripts/cmake/ConanSetup.cmake
@@ -1,21 +1,23 @@
 if($ENV{CONAN_INSTALL})
     find_program(CONAN_TOOL_PATH conan)
     if(CONAN_TOOL_PATH)
-        execute_process(COMMAND ${CONAN_TOOL_PATH} install -u ${CMAKE_CURRENT_SOURCE_DIR}
-            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+        execute_process(
+            COMMAND ${CONAN_TOOL_PATH} install -u ${PROJECT_SOURCE_DIR}
+            WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+        )
     endif()
 endif()
 set(USE_CONAN false CACHE INTERNAL "")
-if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
-    include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+if(EXISTS ${PROJECT_BINARY_DIR}/conanbuildinfo.cmake)
+    include(${PROJECT_BINARY_DIR}/conanbuildinfo.cmake)
     set(USE_CONAN true)
-elseif(EXISTS ${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake)
-    include(${CMAKE_SOURCE_DIR}/conanbuildinfo.cmake)
+elseif(EXISTS ${PROJECT_SOURCE_DIR}/conanbuildinfo.cmake)
+    include(${PROJECT_SOURCE_DIR}/conanbuildinfo.cmake)
     set(USE_CONAN true)
 endif()
 if(USE_CONAN)
     cmake_minimum_required(VERSION 3.4) # Conan Boost package requires this
-    set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/scripts/cmake/conan ${CONAN_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH})
+    set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/scripts/cmake/conan ${CONAN_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH})
     message(STATUS "Using conan package manager")
     set(OGS_LIB_VTK System CACHE INTERNAL "")
     set(OGS_LIB_BOOST System CACHE INTERNAL "")
diff --git a/scripts/cmake/Coverage.cmake b/scripts/cmake/Coverage.cmake
index cb4a0d2779c..6451d46b2e0 100644
--- a/scripts/cmake/Coverage.cmake
+++ b/scripts/cmake/Coverage.cmake
@@ -4,8 +4,8 @@ set(COVERAGE_EXCLUDES
     '/gpfs0/*'
     '/usr/*'
     '${CMAKE_BINARY_DIR}/*'
-    '${CMAKE_SOURCE_DIR}/Tests/*'
-    '${CMAKE_SOURCE_DIR}/ThirdParty/*'
+    '${PROJECT_SOURCE_DIR}/Tests/*'
+    '${PROJECT_SOURCE_DIR}/ThirdParty/*'
 )
 
 if(LCOV_PATH AND GENHTML_PATH)
diff --git a/scripts/cmake/ExternalProjectCatalyst.cmake b/scripts/cmake/ExternalProjectCatalyst.cmake
index 17227dbec9c..8e91b402d67 100644
--- a/scripts/cmake/ExternalProjectCatalyst.cmake
+++ b/scripts/cmake/ExternalProjectCatalyst.cmake
@@ -65,7 +65,7 @@ ExternalProject_Add(Catalyst
 
 if(NOT ParaView_FOUND)
     # Rerun cmake in initial build
-    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} DEPENDS Catalyst)
+    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} DEPENDS Catalyst)
 else()
     add_custom_target(VtkRescan) # dummy target for caching
 endif()
diff --git a/scripts/cmake/ExternalProjectVtk.cmake b/scripts/cmake/ExternalProjectVtk.cmake
index b576d5c0f56..a5d5af6a4e8 100644
--- a/scripts/cmake/ExternalProjectVtk.cmake
+++ b/scripts/cmake/ExternalProjectVtk.cmake
@@ -75,7 +75,7 @@ ExternalProject_Add(vtk
 
 if(NOT VTK_FOUND)
     # Rerun cmake in initial build
-    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${CMAKE_SOURCE_DIR} DEPENDS vtk)
+    add_custom_target(VtkRescan ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR} DEPENDS vtk)
 else()
     add_custom_target(VtkRescan) # dummy target for caching
 endif()
diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake
index f482c13d647..812086e9a60 100644
--- a/scripts/cmake/Find.cmake
+++ b/scripts/cmake/Find.cmake
@@ -58,7 +58,7 @@ find_program(CCACHE_TOOL_PATH ccache)
 
 # Tools for web
 find_program(VTKJS_CONVERTER vtkDataConverter
-    PATHS ${CMAKE_SOURCE_DIR}/web/node_modules/.bin)
+    PATHS ${PROJECT_SOURCE_DIR}/web/node_modules/.bin)
 find_program(HUGO hugo)
 find_program(NPM npm)
 find_program(YARN yarn)
@@ -105,6 +105,9 @@ if(OGS_BUILD_GUI)
     endif()
     find_package( Qt5 5.2 REQUIRED Gui Widgets Xml XmlPatterns)
     cmake_policy(SET CMP0020 NEW)
+    set(CMAKE_AUTOMOC TRUE)
+    set(CMAKE_AUTOUIC TRUE)
+    set(CMAKE_AUTORCC TRUE)
     if(CMAKE_CROSSCOMPILING)
         find_package(PkgConfig REQUIRED)
         pkg_check_modules(QT_XML_DEPS REQUIRED Xml)
diff --git a/scripts/cmake/MetisSetup.cmake b/scripts/cmake/MetisSetup.cmake
index b8f7e7ee3e3..35a0e882ef3 100644
--- a/scripts/cmake/MetisSetup.cmake
+++ b/scripts/cmake/MetisSetup.cmake
@@ -1,7 +1,7 @@
 message( STATUS "The METIS package is copyrighted by the Regents of the University of Minnesota." )
 message( STATUS "Please read the license of the METIS package carefully before you use the METIS." )
 
-set(METIS_PATH "${CMAKE_SOURCE_DIR}/ThirdParty/metis")
+set(METIS_PATH ${PROJECT_SOURCE_DIR}/ThirdParty/metis)
 add_definitions(-DUSE_GKREGEX)
 set(GKLIB_PATH "${METIS_PATH}/GKlib" CACHE PATH "path to GKlib")
 
diff --git a/scripts/cmake/Web.cmake b/scripts/cmake/Web.cmake
index f1c16e9ab20..1a948528eee 100644
--- a/scripts/cmake/Web.cmake
+++ b/scripts/cmake/Web.cmake
@@ -10,18 +10,18 @@ endif()
 
 add_custom_target(web-install
     COMMAND ${PACKAGE_MANAGER}
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/web
-    BYPRODUCTS ${CMAKE_SOURCE_DIR}/web/node_modules
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web
+    BYPRODUCTS ${PROJECT_SOURCE_DIR}/web/node_modules
 )
 
 if(PIP AND PYTHON_EXECUTABLE AND
-    (EXISTS ${CMAKE_SOURCE_DIR}/web/import/secret.py OR
+    (EXISTS ${PROJECT_SOURCE_DIR}/web/import/secret.py OR
      DEFINED ENV{CONTENTFUL_ACCESS_TOKEN}))
 
     add_custom_target(web-import
         COMMAND ${PIP} install -r ../requirements.txt
         COMMAND ${PYTHON_EXECUTABLE} import.py
-        WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/web/import
+        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web/import
         DEPENDS web-install
     )
 
@@ -40,11 +40,11 @@ endif()
 
 add_custom_target(web
     COMMAND ${NPM} run build:release -- ${HUGO_ARGS}
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/web
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web
     DEPENDS web-install ${IMPORT_TARGET}
 )
 
 add_custom_target(web-clean
     COMMAND ${NPM} run clean
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/web
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/web
 )
diff --git a/scripts/cmake/packaging/ArchiveTestdata.cmake b/scripts/cmake/packaging/ArchiveTestdata.cmake
index 3632122192b..018c1e2fa86 100644
--- a/scripts/cmake/packaging/ArchiveTestdata.cmake
+++ b/scripts/cmake/packaging/ArchiveTestdata.cmake
@@ -11,7 +11,7 @@ if(NOT REALPATH_TOOL_PATH OR NOT ZIP_TOOL_PATH)
 endif()
 
 add_custom_target(archive-data
-    bash ${CMAKE_SOURCE_DIR}/scripts/packaging/archive-testdata.sh
+    bash ${PROJECT_SOURCE_DIR}/scripts/packaging/archive-testdata.sh
     DEPENDS data
     WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
     COMMENT "Packaging testdata to ogs6-data.tar.gz and ogs6-data.zip" VERBATIM
diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake
index 59805b107e1..271c89bc9ee 100644
--- a/scripts/cmake/packaging/Pack.cmake
+++ b/scripts/cmake/packaging/Pack.cmake
@@ -10,10 +10,10 @@ include(packaging/ArchiveTestdata)
 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OGS-6 THM/C Simulator")
 set(CPACK_PACKAGE_VENDOR "OpenGeoSys Community (http://www.opengeosys.org)")
 set(CPACK_PACKAGE_INSTALL_DIRECTORY "OGS-${OGS_VERSION}")
-set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt")
-set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
-# set(CPACK_RESOURCE_FILE_WELCOME "${CMAKE_SOURCE_DIR}/README.md")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.md")
+set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.txt")
+set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README.md")
+# set(CPACK_RESOURCE_FILE_WELCOME "${PROJECT_SOURCE_DIR}/README.md")
 
 # Package file name
 if(OGS_BUILD_GUI)
diff --git a/scripts/cmake/packaging/PackagingLinux.cmake b/scripts/cmake/packaging/PackagingLinux.cmake
index fc3610024fe..37b307773fa 100644
--- a/scripts/cmake/packaging/PackagingLinux.cmake
+++ b/scripts/cmake/packaging/PackagingLinux.cmake
@@ -13,13 +13,13 @@ if(MODULE_CMD)
             set(MODULE_LOAD_STRING "${MODULE_LOAD_STRING}module load ${line}\n")
         endif()
     endforeach()
-    configure_file(${CMAKE_SOURCE_DIR}/scripts/cmake/packaging/module.in
-        ${CMAKE_BINARY_DIR}/module
+    configure_file(${PROJECT_SOURCE_DIR}/scripts/cmake/packaging/module.in
+        ${PROJECT_BINARY_DIR}/module
     )
     if(OGS_MODULEFILE)
         get_filename_component(MODULE_DIR ${OGS_MODULEFILE} DIRECTORY)
         get_filename_component(MODULE_NAME ${OGS_MODULEFILE} NAME)
-        install(FILES ${CMAKE_BINARY_DIR}/module DESTINATION ${MODULE_DIR}
+        install(FILES ${PROJECT_BINARY_DIR}/module DESTINATION ${MODULE_DIR}
             RENAME ${MODULE_NAME})
     endif()
 endif()
diff --git a/scripts/cmake/packaging/PackagingMac.cmake b/scripts/cmake/packaging/PackagingMac.cmake
index 8b32b22bc59..cb0005a3b1d 100644
--- a/scripts/cmake/packaging/PackagingMac.cmake
+++ b/scripts/cmake/packaging/PackagingMac.cmake
@@ -10,8 +10,8 @@ endif()
 set(CPACK_DMG_FORMAT "UDBZ")
 
 # See http://stackoverflow.com/a/16662169/80480 how to create the DS_Store file.
-set(CPACK_DMG_BACKGROUND_IMAGE ${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.png)
-set(CPACK_DMG_DS_STORE ${CMAKE_SOURCE_DIR}/scripts/packaging/.DS_Store)
+set(CPACK_DMG_BACKGROUND_IMAGE ${PROJECT_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.png)
+set(CPACK_DMG_DS_STORE ${PROJECT_SOURCE_DIR}/scripts/packaging/.DS_Store)
 
 if(USE_CONAN)
     SET(CMAKE_INSTALL_RPATH "@executable_path")
diff --git a/scripts/cmake/packaging/PackagingWin.cmake b/scripts/cmake/packaging/PackagingWin.cmake
index 0925720dd1d..3d220de3cc7 100644
--- a/scripts/cmake/packaging/PackagingWin.cmake
+++ b/scripts/cmake/packaging/PackagingWin.cmake
@@ -4,8 +4,8 @@ set(CPACK_GENERATOR ZIP)
 #if(NOT CMAKE_CROSSCOMPILING)
 #    set(CPACK_GENERATOR NSIS ZIP)
 #endif()
-set(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/scripts/packaging/ogs-de-icon.ico)
-set(CPACK_PACKAGE_ICON ${CMAKE_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.bmp)
+set(CPACK_NSIS_MUI_ICON ${PROJECT_SOURCE_DIR}/scripts/packaging/ogs-de-icon.ico)
+set(CPACK_PACKAGE_ICON ${PROJECT_SOURCE_DIR}/Documentation/OpenGeoSys-Logo.bmp)
 set(CPACK_NSIS_INSTALLED_ICON_NAME ${CPACK_NSIS_MUI_ICON})
 set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}")
 set(CPACK_NSIS_CONTACT "info@opengeosys.org")
diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake
index cba304268e3..ab76d7b9dcd 100644
--- a/scripts/cmake/test/AddTest.cmake
+++ b/scripts/cmake/test/AddTest.cmake
@@ -210,7 +210,7 @@ function (AddTest)
         -DTESTER_COMMAND=${TESTER_COMMAND}
         -DVTKJS_CONVERTER=${VTKJS_CONVERTER}
         -DBINARY_PATH=${AddTest_BINARY_PATH}
-        -DVTKJS_OUTPUT_PATH=${CMAKE_SOURCE_DIR}/web/static/vis/${AddTest_PATH}
+        -DVTKJS_OUTPUT_PATH=${PROJECT_SOURCE_DIR}/web/static/vis/${AddTest_PATH}
         "-DVIS_FILES=${AddTest_VIS}"
         -P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestTester.cmake
     )
-- 
GitLab