CMakeLists.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. PROJECT(dcc_original)
  2. cmake_minimum_required(VERSION 2.8)
  3. ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D__UNIX__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS)
  4. if(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
  5. ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D__UNIX__ -D_CRT_NONSTDC_NO_DEPRECATE)
  6. add_definitions(/W4)
  7. else()
  8. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall --std=c++0x")
  9. SET(CMAKE_CXX_FLAGS_DEBUG "-D_GLIBCXX_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}" )
  10. endif()
  11. FIND_PACKAGE(LLVM)
  12. FIND_PACKAGE(Boost)
  13. llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit native mc support)
  14. INCLUDE_DIRECTORIES(
  15. include
  16. ${Boost_INCLUDE_DIRS}
  17. ${LLVM_INCLUDE_DIRS}
  18. )
  19. set(dcc_SOURCES
  20. src/dcc.cpp
  21. src/ast.cpp
  22. src/backend.cpp
  23. src/bundle.cpp
  24. src/chklib.cpp
  25. src/comwrite.cpp
  26. src/control.cpp
  27. src/dataflow.cpp
  28. src/disassem.cpp
  29. src/error.cpp
  30. src/fixwild.cpp
  31. src/frontend.cpp
  32. src/graph.cpp
  33. src/hlicode.cpp
  34. src/icode.cpp
  35. src/idioms.cpp
  36. src/locident.cpp
  37. src/parser.cpp
  38. src/perfhlib.cpp
  39. src/procs.cpp
  40. src/proplong.cpp
  41. src/reducible.cpp
  42. src/scanner.cpp
  43. src/symtab.cpp
  44. src/udm.cpp
  45. src/BasicBlock.cpp
  46. )
  47. set(dcc_HEADERS
  48. include/ast.h
  49. include/bundle.h
  50. include/dcc.h
  51. include/disassem.h
  52. include/dosdcc.h
  53. include/error.h
  54. include/graph.h
  55. include/hlicode.h
  56. include/icode.h
  57. include/locident.h
  58. include/perfhlib.h
  59. include/scanner.h
  60. include/state.h
  61. include/symtab.h
  62. include/types.h
  63. include/Procedure.h
  64. include/StackFrame.h
  65. include/BasicBlock.h
  66. )
  67. ADD_EXECUTABLE(dcc_original ${dcc_SOURCES} ${dcc_HEADERS})
  68. TARGET_LINK_LIBRARIES(dcc_original ${REQ_LLVM_LIBRARIES})