Path: blob/master/Help/guide/tutorial/Step9/MathFunctions/CMakeLists.txt
5018 views
add_library(MathFunctions)12target_sources(MathFunctions3PRIVATE4MathFunctions.cxx56PUBLIC7FILE_SET HEADERS8FILES9MathFunctions.h10)1112target_link_libraries(MathFunctions13PRIVATE14MathLogger15SqrtTable1617PUBLIC18OpAdd19OpMul20OpSub21)2223target_compile_features(MathFunctions PRIVATE cxx_std_20)2425if(TUTORIAL_USE_STD_SQRT)26target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_STD_SQRT)27endif()2829include(CheckIncludeFiles)30check_include_files(emmintrin.h HAS_EMMINTRIN LANGUAGE CXX)3132if(HAS_EMMINTRIN)33target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_SSE2)34endif()3536include(CheckSourceCompiles)37check_source_compiles(CXX38[=[39typedef double v2df __attribute__((vector_size(16)));40int main() {41__builtin_ia32_sqrtsd(v2df{});42}43]=]44HAS_GNU_BUILTIN45)4647if(HAS_GNU_BUILTIN)48target_compile_definitions(MathFunctions PRIVATE TUTORIAL_USE_GNU_BUILTIN)49endif()5051add_subdirectory(MathLogger)52add_subdirectory(MathExtensions)53add_subdirectory(MakeTable)545556