diff options
| author | Jonas Hahnfeld <hahnjo@hahnjo.de> | 2017-11-29 19:31:43 +0000 |
|---|---|---|
| committer | Jonas Hahnfeld <hahnjo@hahnjo.de> | 2017-11-29 19:31:43 +0000 |
| commit | 3e921d3c52542b3284c4bd0ef29a70511d38c79c (patch) | |
| tree | 3412f2c49c232d23762474e53ea86e92affd64a7 /openmp/runtime | |
| parent | 85082013e69a22e40f3aa08417f2934974025eab (diff) | |
| download | bcm5719-llvm-3e921d3c52542b3284c4bd0ef29a70511d38c79c.tar.gz bcm5719-llvm-3e921d3c52542b3284c4bd0ef29a70511d38c79c.zip | |
[CMake] Disallow direct configuration
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.
Differential Revision: https://reviews.llvm.org/D40080
llvm-svn: 319341
Diffstat (limited to 'openmp/runtime')
| -rw-r--r-- | openmp/runtime/Build_With_CMake.txt | 2 | ||||
| -rw-r--r-- | openmp/runtime/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | openmp/runtime/src/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | openmp/runtime/test/CMakeLists.txt | 2 |
4 files changed, 8 insertions, 20 deletions
diff --git a/openmp/runtime/Build_With_CMake.txt b/openmp/runtime/Build_With_CMake.txt index 607e115eac0..ed1fb2649f3 100644 --- a/openmp/runtime/Build_With_CMake.txt +++ b/openmp/runtime/Build_With_CMake.txt @@ -51,7 +51,7 @@ How to call cmake initially, then repeatedly ===================== Instructions to Build ===================== - $ cd libomp_top_level/ [ directory with src/ , exports/ , tools/ , etc. ] + $ cd openmp_top_level/ [ directory with runtime/, etc. ] $ mkdir build $ cd build diff --git a/openmp/runtime/CMakeLists.txt b/openmp/runtime/CMakeLists.txt index 1adc825b5f3..3a64c184316 100644 --- a/openmp/runtime/CMakeLists.txt +++ b/openmp/runtime/CMakeLists.txt @@ -9,21 +9,13 @@ #//===----------------------------------------------------------------------===// # -# CMAKE libomp -cmake_minimum_required(VERSION 2.8 FATAL_ERROR) +if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") + message(FATAL_ERROR "Direct configuration not supported, please use parent directory!") +endif() # Add cmake directory to search for custom cmake functions set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) -# Standalone build or part of LLVM? -set(LIBOMP_STANDALONE_BUILD FALSE) -if(OPENMP_STANDALONE_BUILD OR - "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}" OR - "${CMAKE_SOURCE_DIR}/runtime" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") - project(libomp C CXX) - set(LIBOMP_STANDALONE_BUILD TRUE) -endif() - # Set libomp version set(LIBOMP_VERSION_MAJOR 5) set(LIBOMP_VERSION_MINOR 0) @@ -35,7 +27,7 @@ include(LibompHandleFlags) include(LibompDefinitions) # Determine the target architecture -if(${LIBOMP_STANDALONE_BUILD}) +if(${OPENMP_STANDALONE_BUILD}) # If adding a new architecture, take a look at cmake/LibompGetArchitecture.cmake libomp_get_architecture(LIBOMP_DETECTED_ARCH) set(LIBOMP_ARCH ${LIBOMP_DETECTED_ARCH} CACHE STRING @@ -48,10 +40,6 @@ if(${LIBOMP_STANDALONE_BUILD}) "enable assertions?") set(LIBOMP_ENABLE_WERROR FALSE CACHE BOOL "Enable -Werror flags to turn warnings into errors for supporting compilers.") - # CMAKE_BUILD_TYPE was not defined, set default to Release - if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release) - endif() else() # Part of LLVM build # Determine the native architecture from LLVM. string(TOLOWER "${LLVM_TARGET_ARCH}" LIBOMP_NATIVE_ARCH) @@ -372,7 +360,7 @@ set(LIBOMP_INSTALL_ALIASES TRUE CACHE BOOL "Install libgomp and libiomp5 library aliases for backwards compatibility") # Print configuration after all variables are set. -if(${LIBOMP_STANDALONE_BUILD}) +if(${OPENMP_STANDALONE_BUILD}) libomp_say("Operating System -- ${CMAKE_SYSTEM_NAME}") libomp_say("Target Architecture -- ${LIBOMP_ARCH}") if(${MIC}) diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt index c4b56dbe545..cb2b1843a28 100644 --- a/openmp/runtime/src/CMakeLists.txt +++ b/openmp/runtime/src/CMakeLists.txt @@ -282,7 +282,7 @@ add_dependencies(libomp-micro-tests libomp-test-deps) # Install rules # We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib # We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include -if(${LIBOMP_STANDALONE_BUILD}) +if(${OPENMP_STANDALONE_BUILD}) set(LIBOMP_HEADERS_INSTALL_PATH include) else() string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION ${PACKAGE_VERSION}) diff --git a/openmp/runtime/test/CMakeLists.txt b/openmp/runtime/test/CMakeLists.txt index 9af5e177669..d384341d715 100644 --- a/openmp/runtime/test/CMakeLists.txt +++ b/openmp/runtime/test/CMakeLists.txt @@ -41,7 +41,7 @@ pythonize_bool(LIBOMP_HAVE_LIBATOMIC) set(LIBOMP_TEST_CFLAGS "" CACHE STRING "Extra compiler flags to send to the test compiler") -if(${LIBOMP_STANDALONE_BUILD}) +if(${OPENMP_STANDALONE_BUILD}) # Make sure we can use the console pool for recent cmake and ninja > 1.5 if(CMAKE_VERSION VERSION_LESS 3.1.20141117) set(cmake_3_2_USES_TERMINAL) |

