|
1 | | -if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) |
2 | | - cmake_minimum_required(VERSION 3.20.0) |
3 | | - |
4 | | - project(FortranDecimal C CXX) |
5 | | - |
6 | | - set(CMAKE_CXX_STANDARD 17) |
7 | | - set(CMAKE_CXX_STANDARD_REQUIRED TRUE) |
8 | | - set(CMAKE_CXX_EXTENSIONS OFF) |
9 | | - |
10 | | - set(FLANG_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") |
11 | | - |
12 | | - set(LLVM_COMMON_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../cmake") |
13 | | - set(LLVM_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../llvm/cmake") |
14 | | - set(CLANG_CMAKE_UTILS "${FLANG_SOURCE_DIR}/../clang/cmake") |
15 | | - |
16 | | - # Add path for custom modules |
17 | | - list(INSERT CMAKE_MODULE_PATH 0 |
18 | | - "${FLANG_SOURCE_DIR}/cmake" |
19 | | - "${FLANG_SOURCE_DIR}/cmake/modules" |
20 | | - "${LLVM_COMMON_CMAKE_UTILS}" |
21 | | - "${LLVM_COMMON_CMAKE_UTILS}/Modules" |
22 | | - "${LLVM_CMAKE_UTILS}" |
23 | | - "${LLVM_CMAKE_UTILS}/modules" |
24 | | - "${CLANG_CMAKE_UTILS}/modules" |
25 | | - ) |
26 | | - |
27 | | - include(AddClang) |
28 | | - include(AddLLVM) |
29 | | - include(AddFlang) |
30 | | - include(HandleLLVMOptions) |
31 | | - |
32 | | - include(TestBigEndian) |
33 | | - test_big_endian(IS_BIGENDIAN) |
34 | | - if (IS_BIGENDIAN) |
35 | | - add_compile_definitions(FLANG_BIG_ENDIAN=1) |
36 | | - else () |
37 | | - add_compile_definitions(FLANG_LITTLE_ENDIAN=1) |
38 | | - endif () |
39 | | - include_directories(BEFORE |
40 | | - ${FLANG_SOURCE_DIR}/include) |
41 | | -endif() |
42 | | - |
43 | | -check_cxx_compiler_flag(-fno-lto FLANG_RUNTIME_HAS_FNO_LTO_FLAG) |
44 | | -if (FLANG_RUNTIME_HAS_FNO_LTO_FLAG) |
45 | | - append("-fno-lto" CMAKE_CXX_FLAGS) |
46 | | -endif() |
47 | | - |
48 | | -# Disable libstdc++ assertions, even in an LLVM_ENABLE_ASSERTIONS build, to |
49 | | -# avoid an unwanted dependency on libstdc++.so. |
50 | | -add_definitions(-U_GLIBCXX_ASSERTIONS) |
51 | | - |
52 | | -set(sources |
| 1 | +#===-- lib/Decimal/CMakeLists.txt ------------------------------------------===# |
| 2 | +# |
| 3 | +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 4 | +# See https://llvm.org/LICENSE.txt for license information. |
| 5 | +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 6 | +# |
| 7 | +#===------------------------------------------------------------------------===# |
| 8 | + |
| 9 | +add_flang_library(FortranDecimal |
53 | 10 | binary-to-decimal.cpp |
54 | 11 | decimal-to-binary.cpp |
55 | 12 | ) |
56 | | - |
57 | | -include(AddFlangOffloadRuntime) |
58 | | -enable_cuda_compilation(FortranDecimal "${sources}") |
59 | | -enable_omp_offload_compilation("${sources}") |
60 | | - |
61 | | -add_flang_library(FortranDecimal INSTALL_WITH_TOOLCHAIN ${sources}) |
62 | | - |
63 | | -if (DEFINED MSVC) |
64 | | - set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded) |
65 | | - add_flang_library(FortranDecimal.static INSTALL_WITH_TOOLCHAIN |
66 | | - binary-to-decimal.cpp |
67 | | - decimal-to-binary.cpp |
68 | | - ) |
69 | | - set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDLL) |
70 | | - add_flang_library(FortranDecimal.dynamic INSTALL_WITH_TOOLCHAIN |
71 | | - binary-to-decimal.cpp |
72 | | - decimal-to-binary.cpp |
73 | | - ) |
74 | | - set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDebug) |
75 | | - add_flang_library(FortranDecimal.static_dbg INSTALL_WITH_TOOLCHAIN |
76 | | - binary-to-decimal.cpp |
77 | | - decimal-to-binary.cpp |
78 | | - ) |
79 | | - set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreadedDebugDLL) |
80 | | - add_flang_library(FortranDecimal.dynamic_dbg INSTALL_WITH_TOOLCHAIN |
81 | | - binary-to-decimal.cpp |
82 | | - decimal-to-binary.cpp |
83 | | - ) |
84 | | - add_dependencies(FortranDecimal FortranDecimal.static FortranDecimal.dynamic |
85 | | - FortranDecimal.static_dbg FortranDecimal.dynamic_dbg) |
86 | | -endif() |
0 commit comments