llvm/flang/unittests/Evaluate/CMakeLists.txt
peter klausler 8a8bb078a3 [flang] Fix frontend build with -DBUILD_SHARED_LIBS=On
Fix fronted shared library builds by eliminating dependences of
the parser on other component libraries, moving some code around that
wasn't in the right library, and making some dependences
explicit in the CMakeLists.txt files.  The lowering library
does not yet build as a shared library due to some undefined
names.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D83515
2020-07-09 15:54:19 -07:00

156 lines
2.8 KiB
CMake

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_library(FortranEvaluateTesting
testing.cpp
fp-testing.cpp
)
target_link_libraries(FortranEvaluateTesting
LLVMSupport
)
add_executable(leading-zero-bit-count-test
leading-zero-bit-count.cpp
)
target_link_libraries(leading-zero-bit-count-test
FortranEvaluateTesting
LLVMSupport
)
add_executable(bit-population-count-test
bit-population-count.cpp
)
target_link_libraries(bit-population-count-test
FortranEvaluateTesting
LLVMSupport
)
add_executable(uint128-test
uint128.cpp
)
target_link_libraries(uint128-test
FortranEvaluateTesting
LLVMSupport
)
# These routines live in lib/Common but we test them here.
add_test(UINT128 uint128-test)
add_test(Leadz leading-zero-bit-count-test)
add_test(PopPar bit-population-count-test)
add_executable(expression-test
expression.cpp
)
target_link_libraries(expression-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranParser
LLVMSupport
)
add_executable(integer-test
integer.cpp
)
target_link_libraries(integer-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
add_executable(intrinsics-test
intrinsics.cpp
)
target_link_libraries(intrinsics-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
FortranParser
FortranRuntime
LLVMSupport
)
add_executable(logical-test
logical.cpp
)
target_link_libraries(logical-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
# GCC -fno-exceptions breaks the fenv.h interfaces needed to capture
# IEEE exception flags (different use of the word "exception")
# in the actual hardware floating-point status register, so ensure that
# C++ exceptions are enabled for this test.
set(LLVM_REQUIRES_EH ON)
set(LLVM_REQUIRES_RTTI ON)
add_executable(real-test
real.cpp
)
llvm_update_compile_flags(real-test)
target_link_libraries(real-test
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
LLVMSupport
)
add_executable(reshape-test
reshape.cpp
)
target_link_libraries(reshape-test
FortranEvaluateTesting
FortranSemantics
FortranEvaluate
FortranRuntime
LLVMSupport
)
add_executable(ISO-Fortran-binding-test
ISO-Fortran-binding.cpp
)
target_link_libraries(ISO-Fortran-binding-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranRuntime
LLVMSupport
)
add_executable(folding-test
folding.cpp
)
target_link_libraries(folding-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
add_test(Expression expression-test)
add_test(Integer integer-test)
add_test(Intrinsics intrinsics-test)
add_test(Logical logical-test)
add_test(Real real-test)
add_test(RESHAPE reshape-test)
add_test(ISO-binding ISO-Fortran-binding-test)
add_test(folding folding-test)