As a first step, this allows us to generalize the detection of
standalone builds and make it fully compatible when building in
llvm/runtimes/ which automatically sets OPENMP_STANDLONE_BUILD.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
CMakeLists.txt | ||
---|---|---|
2 ↗ | (On Diff #123030) | There should be a project() declaration here. If not, CMake adds an empty project() at the top of the file. This breaks the Android build because the setting of the CMP0056 policy via a CMake variable is not obeyed in this case. CMP0056 is needed to correctly configure cross-compile and linking for Android. |
CMakeLists.txt | ||
---|---|---|
2 ↗ | (On Diff #123030) | So you're currently configuring runtime/ directly which has a project()? |
CMakeLists.txt | ||
---|---|---|
2 ↗ | (On Diff #123030) | Yes. |
CMakeLists.txt | ||
---|---|---|
1 ↗ | (On Diff #123030) | Also, can we bump this up if there are no other issues? The other LLVM projects are all currently using 3.4.3. |
CMakeLists.txt | ||
---|---|---|
1 ↗ | (On Diff #123030) | Does that have any benefits? The LLVM requirement was bumped to use new features which I haven't come across yet in the openmp repository. So I'm somewhat reluctant as CMake 2.8 is still the default on CentOS, for example |
CMakeLists.txt | ||
---|---|---|
1 ↗ | (On Diff #123030) | CMake 3.4.3 defaults to the NEW behavior of CMP0056. That's the only benefit for us, but it's easy enough to work around. I don't know of any other major benefits there might be. |
CMakeLists.txt | ||
---|---|---|
1 ↗ | (On Diff #123030) | IMO that's not enough to upgrade. If you need that policy, you should submit a patch to enable that one explicitly. |
CMakeLists.txt | ||
---|---|---|
1 ↗ | (On Diff #123030) | I agree. I'll upload a patch once this current set of changes get submitted. |
CMakeLists.txt | ||
---|---|---|
15–17 ↗ | (On Diff #123995) | If it is possible, we should have an OPENMP_ENABLE_RUNTIME option so people can prevent building the runtime/ subdirectory and only build the libomptarget/ directory. Does libomptarget rely on libomp? |
libomptarget/Build_With_CMake.txt | ||
---|---|---|
46–62 ↗ | (On Diff #123995) | I think libomptarget/Build_With_CMake.txt and runtime/Build_WIth_CMake.txt should be unified and moved into openmp/Build_With_CMake.txt. |
CMakeLists.txt | ||
---|---|---|
15–17 ↗ | (On Diff #123995) | Yes, it does. It needs functions omp_get_default_device() and __kmpc_omp_taskwait(void *loc_ref, int32_t gtid). More functions may be added to the list of dependencies in the future. |
CMakeLists.txt | ||
---|---|---|
15–17 ↗ | (On Diff #123995) | Yes, we could but my viewpoint was that there is no OpenMP with at least the host runtime. |
libomptarget/Build_With_CMake.txt | ||
46–62 ↗ | (On Diff #123995) | Yes, it definitely should. I wanted to tackle this after the renaming of the test settings so that I can put together the file once with the final options. |