123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- add_library(MathFunctions)
- target_sources(MathFunctions
- PRIVATE
- MathFunctions.cxx
- PUBLIC
- FILE_SET HEADERS
- FILES
- MathFunctions.h
- )
- target_link_libraries(MathFunctions
- PRIVATE
- MathLogger
- SqrtTable
- PUBLIC
- OpAdd
- OpMul
- OpSub
- )
- target_compile_features(MathFunctions PRIVATE cxx_std_20)
- if(TUTORIAL_USE_STD_SQRT)
- target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_STD_SQRT)
- endif()
- include(CheckIncludeFiles)
- check_include_files(emmintrin.h HAS_EMMINTRIN LANGUAGE CXX)
- if(HAS_EMMINTRIN)
- target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_SSE2)
- endif()
- include(CheckSourceCompiles)
- check_source_compiles(CXX
- [=[
- typedef double v2df __attribute__((vector_size(16)));
- int main() {
- __builtin_ia32_sqrtsd(v2df{});
- }
- ]=]
- HAS_GNU_BUILTIN
- )
- if(HAS_GNU_BUILTIN)
- target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_GNU_BUILTIN)
- endif()
- add_subdirectory(MathLogger)
- add_subdirectory(MathExtensions)
- add_subdirectory(MakeTable)
|