|
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