[flang] Allow configuring building the flang runtime standalone
This allows building the flang runtime and libFortranDecimal standalone, without setting up the full llvm build, by pointing cmake to these directories. This is the other one out of two essential steps for building the flang runtimes for a foreign target, i.e. setting up cross compiling with flang. Differential Revision: https://reviews.llvm.org/D130352
This commit is contained in:
parent
96a3b78183
commit
b75a3c9f31
|
@ -1,3 +1,40 @@
|
|||
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||
cmake_minimum_required(VERSION 3.13.4)
|
||||
|
||||
project(FortranDecimal C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(FLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..")
|
||||
|
||||
set(LLVM_COMMON_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../cmake")
|
||||
set(LLVM_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../llvm/cmake")
|
||||
|
||||
# Add path for custom modules
|
||||
list(INSERT CMAKE_MODULE_PATH 0
|
||||
"${FLANG_SOURCE_DIR}/cmake"
|
||||
"${FLANG_SOURCE_DIR}/cmake/modules"
|
||||
"${LLVM_COMMON_CMAKE_UTILS}"
|
||||
"${LLVM_COMMON_CMAKE_UTILS}/Modules"
|
||||
"${LLVM_CMAKE_UTILS}"
|
||||
"${LLVM_CMAKE_UTILS}/modules"
|
||||
)
|
||||
|
||||
include(AddLLVM)
|
||||
include(AddFlang)
|
||||
|
||||
include(TestBigEndian)
|
||||
test_big_endian(IS_BIGENDIAN)
|
||||
if (IS_BIGENDIAN)
|
||||
add_compile_definitions(FLANG_BIG_ENDIAN=1)
|
||||
else ()
|
||||
add_compile_definitions(FLANG_LITTLE_ENDIAN=1)
|
||||
endif ()
|
||||
include_directories(BEFORE
|
||||
${FLANG_SOURCE_DIR}/include)
|
||||
endif()
|
||||
|
||||
add_flang_library(FortranDecimal INSTALL_WITH_TOOLCHAIN
|
||||
binary-to-decimal.cpp
|
||||
|
|
|
@ -6,6 +6,44 @@
|
|||
#
|
||||
#===------------------------------------------------------------------------===#
|
||||
|
||||
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||
cmake_minimum_required(VERSION 3.13.4)
|
||||
|
||||
project(FlangRuntime C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(FLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||
|
||||
set(LLVM_COMMON_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../cmake")
|
||||
set(LLVM_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../llvm/cmake")
|
||||
|
||||
# Add path for custom modules
|
||||
list(INSERT CMAKE_MODULE_PATH 0
|
||||
"${FLANG_SOURCE_DIR}/cmake"
|
||||
"${FLANG_SOURCE_DIR}/cmake/modules"
|
||||
"${LLVM_COMMON_CMAKE_UTILS}"
|
||||
"${LLVM_COMMON_CMAKE_UTILS}/Modules"
|
||||
"${LLVM_CMAKE_UTILS}"
|
||||
"${LLVM_CMAKE_UTILS}/modules"
|
||||
)
|
||||
|
||||
include(AddLLVM)
|
||||
include(AddFlang)
|
||||
|
||||
include(TestBigEndian)
|
||||
test_big_endian(IS_BIGENDIAN)
|
||||
if (IS_BIGENDIAN)
|
||||
add_compile_definitions(FLANG_BIG_ENDIAN=1)
|
||||
else ()
|
||||
add_compile_definitions(FLANG_LITTLE_ENDIAN=1)
|
||||
endif ()
|
||||
include_directories(BEFORE
|
||||
${FLANG_SOURCE_DIR}/include)
|
||||
endif()
|
||||
|
||||
include(CheckCXXSymbolExists)
|
||||
include(CheckCXXSourceCompiles)
|
||||
check_cxx_symbol_exists(strerror string.h HAVE_STRERROR)
|
||||
|
|
Loading…
Reference in New Issue