File: CMakeLists.txt

package info (click to toggle)
gccxml 0.9.0%2Bcvs20100501-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 79,132 kB
  • ctags: 73,371
  • sloc: ansic: 751,436; cpp: 34,175; asm: 26,833; sh: 5,077; makefile: 4,696; lex: 589; awk: 566; perl: 334; yacc: 271; pascal: 86; python: 29
file content (85 lines) | stat: -rw-r--r-- 3,363 bytes parent folder | download
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
INCLUDE_DIRECTORIES(${GCCXML_SOURCE_DIR}/GXFront)

# Create an executable to detect VS installations and copy and patch
# the headers.
SET(VCCONFIG_TARGET "gccxml_vcconfig")
ADD_EXECUTABLE(${VCCONFIG_TARGET} vcInstall.cxx
  ${GCCXML_SOURCE_DIR}/GXFront/gxSystemTools.cxx)
TARGET_LINK_LIBRARIES(${VCCONFIG_TARGET} gxsys)

# Install the ${VCCONFIG_TARGET} executable.
INSTALL(TARGETS ${VCCONFIG_TARGET}
  RUNTIME DESTINATION ${GCCXML_INSTALL_ROOT}bin
  ${GCCXML_INSTALL_COMPONENT_RUNTIME_LIBRARY})

# Create the MSVC support directories.
# This will just execute on every build because we don't know
# what files and directories it may create.
GET_TARGET_PROPERTY(GCCXML_VCCONFIG_EXE ${VCCONFIG_TARGET} LOCATION)
ADD_CUSTOM_COMMAND(
  OUTPUT ${GCCXML_BINARY_DIR}/vcInstall_stamp.c

  COMMAND ${GCCXML_VCCONFIG_EXE}
  ${GCCXML_SOURCE_DIR}/VcInstall ${GCCXML_BINARY_DIR}/Support
  ${GCCXML_BINARY_DIR}/vcInstall_stamp.c

  DEPENDS ${VCCONFIG_TARGET}
  ${GCCXML_SOURCE_DIR}/VcInstall/vc6Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc7Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc7PlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc71Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc71PlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8PlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8sp1Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8sp1PlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8ExpressInclude.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8ExpressPlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc8sp1ExpressInclude.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc9Include.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc9PlatformSDK.patch
  ${GCCXML_SOURCE_DIR}/VcInstall/vc9sp1Include.patch
  )
ADD_CUSTOM_TARGET(vcInstallPatch DEPENDS
  ${GCCXML_BINARY_DIR}/vcInstall_stamp.c)

# Create a script to run the ${VCCONFIG_TARGET} executable in an
# already-installed GCC-XML tree.
STRING(REGEX REPLACE "/" "\\\\" VC_DATA_DIR "${GCCXML_DATA_DIR}")
CONFIGURE_FILE(${GCCXML_SOURCE_DIR}/VcInstall/gccxml_vcupdate.bat.in
  ${GCCXML_BINARY_DIR}/VcInstall/${VCCONFIG_TARGET}.bat
  @ONLY IMMEDIATE)

# Install the patch files.
FILE(GLOB VCPATCH_FILES "vc*.patch")
INSTALL(
  FILES ${VCPATCH_FILES}
  DESTINATION ${GCCXML_INSTALL_ROOT}${GCCXML_DATA_DIR}/VcInstall
  ${GCCXML_INSTALL_COMPONENT_RUNTIME_LIBRARY})

# Install the update script helper files.
INSTALL(
  FILES
    ${GCCXML_SOURCE_DIR}/VcInstall/vcCat.readme.txt
    ${GCCXML_SOURCE_DIR}/VcInstall/vcPatch.readme.txt
    ${GCCXML_SOURCE_DIR}/VcInstall/vc_helper
  DESTINATION ${GCCXML_INSTALL_ROOT}${GCCXML_DATA_DIR}/VcInstall
  ${GCCXML_INSTALL_COMPONENT_RUNTIME_LIBRARY})
INSTALL(
  PROGRAMS ${GCCXML_SOURCE_DIR}/VcInstall/vcCat.exe
           ${GCCXML_SOURCE_DIR}/VcInstall/vcPatch.exe
  DESTINATION ${GCCXML_INSTALL_ROOT}${GCCXML_DATA_DIR}/VcInstall
  ${GCCXML_INSTALL_COMPONENT_RUNTIME_LIBRARY})

# Install the update script.
INSTALL(
  PROGRAMS ${GCCXML_BINARY_DIR}/VcInstall/${VCCONFIG_TARGET}.bat
  DESTINATION ${GCCXML_INSTALL_ROOT}bin
  ${GCCXML_INSTALL_COMPONENT_RUNTIME_EXECUTABLE})

# Run the update script during installation.
#IF(NOT GCCXML_NO_VCINSTALL_UPDATE)
#  INSTALL(CODE "
#EXECUTE_PROCESS(COMMAND \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${GCCXML_INSTALL_ROOT}bin/gccxml_vcupdate.bat\")
#")
#ENDIF(NOT GCCXML_NO_VCINSTALL_UPDATE)