add_executable(mpq mpq.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(mpq ${EXTRA_LIBS})
add_exec_test(mpq "mpq")
add_executable(mpbq mpbq.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(mpbq ${EXTRA_LIBS})
add_exec_test(mpbq "mpbq")
add_executable(mpfp mpfp.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(mpfp ${EXTRA_LIBS})
add_exec_test(mpfp "mpfp")
add_executable(mpz mpz.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(mpz ${EXTRA_LIBS})
add_exec_test(mpz "mpz")
add_executable(double double.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(double ${EXTRA_LIBS})
add_exec_test(double "double")
add_executable(float float.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(float ${EXTRA_LIBS})
add_exec_test(float "float")
add_executable(xnumeral xnumeral.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(xnumeral ${EXTRA_LIBS})
add_exec_test(xnumeral "xnumeral")
add_executable(primes primes.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(primes ${EXTRA_LIBS})
add_exec_test(primes "primes")
add_executable(numeric_traits numeric_traits.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(numeric_traits ${EXTRA_LIBS})
add_exec_test(numeric_traits "numeric_traits")
add_executable(gcd gcd.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(gcd ${EXTRA_LIBS})
add_exec_test(gcd "gcd")
add_executable(zpz zpz.cpp $<TARGET_OBJECTS:util> $<TARGET_OBJECTS:numerics> $<TARGET_OBJECTS:sexpr>)
target_link_libraries(zpz ${EXTRA_LIBS})
add_exec_test(zpz "zpz")
