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