summaryrefslogtreecommitdiff
path: root/src/utilcode/CMakeLists.txt
blob: a7f215696bb30ba5329078f8e11c85e97966ac71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(UTILCODE_COMMON_SOURCES
  clrhost_nodependencies.cpp
  ccomprc.cpp
  ex.cpp
  sbuffer.cpp
  sstring_com.cpp
  fstring.cpp
  namespaceutil.cpp
  makepath.cpp
  splitpath.cpp
  clrconfig.cpp
  configuration.cpp
  collections.cpp
  posterror.cpp
  fstream.cpp
  clrhelpers.cpp
  stgpool.cpp
  stgpooli.cpp
  stgpoolreadonly.cpp
  utsem.cpp
  peinformation.cpp
  check.cpp
  log.cpp
  arraylist.cpp
  bitvector.cpp
  comex.cpp
  delayloadhelpers.cpp
  guidfromname.cpp
  jitperf.cpp
  memorypool.cpp
  iallocator.cpp
  loaderheap.cpp
  outstring.cpp
  ilformatter.cpp
  opinfo.cpp
  corimage.cpp
  format1.cpp
  prettyprintsig.cpp
  regutil.cpp
  sigbuilder.cpp
  sigparser.cpp
  sstring.cpp
  util_nodependencies.cpp
  utilmessagebox.cpp
  safewrap.cpp
  clrhost.cpp
  cycletimer.cpp
  md5.cpp
  util.cpp
  stresslog.cpp
  debug.cpp
  pedecoder.cpp
  winfix.cpp
  longfilepathwrappers.cpp 
  jithost.cpp
)

# These source file do not yet compile on Linux.
# They should be moved out from here into the declaration
# of UTILCODE_SOURCES above after fixing compiler errors.
if(WIN32)
  list(APPEND UTILCODE_COMMON_SOURCES 
    appxutil.cpp
    dacutil.cpp
    dlwrap.cpp
    loadrc.cpp
    securitywrapper.cpp
    securityutil.cpp
    stacktrace.cpp
  )

  if(CLR_CMAKE_PLATFORM_ARCH_I386 OR CLR_CMAKE_PLATFORM_ARCH_ARM)
    list(APPEND UTILCODE_COMMON_SOURCES
      lazycow.cpp
    )
  endif()
  
endif(WIN32)
  
set(UTILCODE_SOURCES 
  ${UTILCODE_COMMON_SOURCES}
  perflog.cpp
)

set(UTILCODE_DAC_SOURCES 
  ${UTILCODE_COMMON_SOURCES}
  hostimpl.cpp
)

set(UTILCODE_CROSSGEN_SOURCES 
  ${UTILCODE_COMMON_SOURCES}
  hostimpl.cpp
  perflog.cpp
)

set(UTILCODE_STATICNOHOST_SOURCES 
  ${UTILCODE_COMMON_SOURCES}
  hostimpl.cpp
)

convert_to_absolute_path(UTILCODE_SOURCES ${UTILCODE_SOURCES})
convert_to_absolute_path(UTILCODE_DAC_SOURCES ${UTILCODE_DAC_SOURCES})
convert_to_absolute_path(UTILCODE_CROSSGEN_SOURCES ${UTILCODE_CROSSGEN_SOURCES})
convert_to_absolute_path(UTILCODE_STATICNOHOST_SOURCES ${UTILCODE_STATICNOHOST_SOURCES})

if(CLR_CMAKE_PLATFORM_UNIX)
    add_compile_options(-fPIC)
endif(CLR_CMAKE_PLATFORM_UNIX)

if(CLR_CMAKE_PLATFORM_ARCH_I386)
    # Workaround to avoid generating sse insts for profiler
    add_compile_options(-mno-sse -mno-avx)
endif(CLR_CMAKE_PLATFORM_ARCH_I386)

add_subdirectory(dac)
add_subdirectory(dyncrt)
add_subdirectory(staticnohost)
add_subdirectory(crossgen)