CMakeLists.txt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # --- Look for SSE support --------------------------------------------------
  2. include(CheckCXXSourceRuns)
  3. set(SSE_FLAGS)
  4. if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
  5. set(CMAKE_REQUIRED_FLAGS "-msse")
  6. check_cxx_source_runs("
  7. #include <xmmintrin.h>
  8. int main()
  9. {
  10. __m128 a, b;
  11. float vals[4] = {0};
  12. a = _mm_loadu_ps(vals);
  13. b = a;
  14. b = _mm_add_ps(a,b);
  15. _mm_storeu_ps(vals,b);
  16. return 0;
  17. }"
  18. SSE_AVAILABLE)
  19. set(CMAKE_REQUIRED_FLAGS)
  20. if (SSE_AVAILABLE)
  21. option(HAVE_SSE "Use SSE extensions" ON)
  22. set(SSE_FLAGS "-msse")
  23. endif()
  24. endif()
  25. # --- Build library and install ---------------------------------------------
  26. include_directories(
  27. ${CMAKE_SOURCE_DIR}/src
  28. ${CMAKE_CURRENT_BINARY_DIR}
  29. )
  30. add_definitions("--std=c99 -Wall -O2 ${SSE_FLAGS}")
  31. add_library(ufodecode SHARED ufodecode.c)
  32. set_target_properties(ufodecode PROPERTIES
  33. VERSION ${LIBUFODECODE_ABI_VERSION}
  34. SOVERSION ${LIBUFODECODE_ABI_MAJOR_VERSION}
  35. )
  36. install(TARGETS ufodecode
  37. LIBRARY DESTINATION lib${LIB_SUFFIX}
  38. )
  39. install(FILES
  40. ufodecode.h
  41. DESTINATION include
  42. )
  43. if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
  44. set(DEBUG "1")
  45. endif()
  46. configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)