Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -1,6 +1,17 @@ cmake_minimum_required(VERSION 2.8 FATAL_ERROR) -set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing") +# llvm/runtimes/ will set OPENMP_STANDALONE_BUILD. +if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") + set(OPENMP_STANDALONE_BUILD TRUE) + project(openmp C CXX) + + # CMAKE_BUILD_TYPE was not set, default to Release. + if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) + endif() + + set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing.") +endif() add_subdirectory(runtime) Index: libomptarget/Build_With_CMake.txt =================================================================== --- libomptarget/Build_With_CMake.txt +++ libomptarget/Build_With_CMake.txt @@ -51,7 +51,7 @@ ===================== Instructions to Build ===================== - $ cd libomptarget_top_level/ [ directory with plugins/ , deviceRTLs/ , etc. ] + $ cd openmp_top_level/ [ directory with runtime/, libomptarget/, etc. ] $ mkdir build $ cd build Index: libomptarget/CMakeLists.txt =================================================================== --- libomptarget/CMakeLists.txt +++ libomptarget/CMakeLists.txt @@ -11,28 +11,16 @@ # ##===----------------------------------------------------------------------===## -# CMAKE libomptarget -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/Modules ${CMAKE_MODULE_PATH}) -# Standalone build or part of LLVM? -set(LIBOMPTARGET_STANDALONE_BUILD FALSE) -if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}" OR - "${CMAKE_SOURCE_DIR}/libomptarget" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") - project(libomptarget C CXX) - set(LIBOMPTARGET_STANDALONE_BUILD TRUE) -endif() - - -if(${LIBOMPTARGET_STANDALONE_BUILD}) +if(OPENMP_STANDALONE_BUILD) set(LIBOMPTARGET_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() set(LIBOMPTARGET_LIBDIR_SUFFIX "" CACHE STRING "suffix of lib installation directory, e.g. 64 => lib64") Index: libomptarget/test/CMakeLists.txt =================================================================== --- libomptarget/test/CMakeLists.txt +++ libomptarget/test/CMakeLists.txt @@ -16,7 +16,7 @@ set(LIBOMPTARGET_DEBUG False) endif() -if(${LIBOMPTARGET_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) Index: runtime/Build_With_CMake.txt =================================================================== --- runtime/Build_With_CMake.txt +++ runtime/Build_With_CMake.txt @@ -51,7 +51,7 @@ ===================== 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 Index: runtime/CMakeLists.txt =================================================================== --- runtime/CMakeLists.txt +++ 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(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 @@ "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 @@ "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}) Index: runtime/src/CMakeLists.txt =================================================================== --- runtime/src/CMakeLists.txt +++ runtime/src/CMakeLists.txt @@ -282,7 +282,7 @@ # 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}) Index: runtime/test/CMakeLists.txt =================================================================== --- runtime/test/CMakeLists.txt +++ runtime/test/CMakeLists.txt @@ -41,7 +41,7 @@ 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) Index: www/README.txt =================================================================== --- www/README.txt +++ www/README.txt @@ -36,7 +36,7 @@ $ cd where-you-want-to-live Check out openmp -$ cd where-you-want-to-live/openmp/runtime +$ cd where-you-want-to-live/openmp $ mkdir build && cd build $ cmake path/to/openmp -DCMAKE_C_COMPILER= -DCMAKE_CXX_COMPILER= $ make Index: www/index.html =================================================================== --- www/index.html +++ www/index.html @@ -183,7 +183,7 @@