In the `cgal_setup_module_path` function, the intent is to set a few variables then later export them.
The ORIGINAL_CMAKE_MODULE_PATH variable, however, was set directly in the parent scope. When later trying to export it, it reads from the current scope, where the variable is empty as it hasn't yet been set.
This fix makes correctly sets the variable in the local scope the first time, making the export work as expected.
When CGAL_Qt5 or CGAL_Core targets are imported, then we need to call
`find_package(Qt5)` and `find_package(Boost)` to re-import the
targets of Qt5 or `Boost::thread`.
Otherwise, there is that CMake warning:
CMake Warning (dev) at /mnt/testsuite/cmake/modules/CGAL_CreateSingleSourceCGALProgram.cmake:49 (add_executable):
Policy CMP0028 is not set: Double colon in target name means ALIAS or
IMPORTED target. Run "cmake --help-policy CMP0028" for policy details.
Use the cmake_policy command to set the policy and suppress this warning.
Target "test_Min_circle" links to target "Boost::thread" but the target was
not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
CMakeLists.txt:22 (create_single_source_cgal_program)
This warning is for project developers. Use -Wno-dev to suppress it.
and then that link error:
/usr/bin/ld: cannot find -lBoost::thread
Ref:
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.12-Ic-200/Bounding_volumes/TestReport_lrineau_Fedora-Release.gz
Because of bug in gcc, even if the C++11 `thread_local` keyword can be
used, it cannot be used for the TLS static member of the class template
`MemoryPool<T>`. That triggers a bug in gcc (tested with g++ 6.3.1):
```
.../include/CGAL/CORE/MemoryPool.h:113:25: error: redefinition of 'bool __tls_guard'
MemoryPool<T, nObjects> MemoryPool<T, nObjects>::memPool;
^~~~~~~~~~~~~~~~~~~~~~~
.../include/CGAL/CORE/MemoryPool.h:113:25: note: 'bool __tls_guard' previously declared here
.../include/CGAL/CORE/MemoryPool.h:113: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/cc4xCWuR.out file, please attach this to your bugreport.
```
The bug seems to be from g++ >= 5:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54948
New directory property named `CGAL_NO_TESTING`. If set to `TRUE`, then
the automatic generating of CTest test will be disabled.
(cherry picked from commit 5d540fc1989c86438090b0212883b15cd121cf92)