CMakeLists.txt 966 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. cmake_minimum_required(VERSION 3.10)
  2. set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
  3. # set(CMAKE_VERBOSE_MAKEFILE on)
  4. project(clangRecyclerChecker CXX)
  5. Find_Package(LLVM REQUIRED)
  6. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_COMPILE_FLAGS}")
  7. set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LLVM_LDFLAGS}")
  8. Find_Package(Clang REQUIRED)
  9. include_directories( ${CLANG_INCLUDE_DIRS} )
  10. add_definitions("-fno-rtti -std=c++11")
  11. add_definitions("-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS")
  12. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
  13. -Wno-strict-aliasing \
  14. "
  15. )
  16. add_library(clangRecyclerChecker SHARED
  17. Helpers.cpp
  18. RecyclerChecker.cpp
  19. RecyclerAnalyzer.cpp
  20. )
  21. # OSX requires following libs.
  22. # Ubuntu complains/fails if these libs specified.
  23. #
  24. if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
  25. target_link_libraries(clangRecyclerChecker
  26. ${CLANG_LIBS}
  27. ${LLVM_LIBS_CORE}
  28. ${LLVM_LIBS_SYS}
  29. )
  30. endif()