blob: 7c5cc9a584d4fc5f9283d1ee0219829e1f46cf3d (
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
|
# $Header: /home/dmarkle/xtrkcad-fork-cvs/xtrkcad/app/lib/params/CMakeLists.txt,v 1.9 2008-06-04 18:53:04 m_fischer Exp $
#
# CMakeList for the params directory
#
# Several xtp files are created from text definitions, all xtp files and the
# created xtp files are installed.
#
FILE(GLOB XTP_FILES *.xtp)
SET( outFiles )
# create param files from car definitions
ADD_EXECUTABLE( mkcarpart mkcarpart.c )
GET_TARGET_PROPERTY(mkcarpart_EXE mkcarpart LOCATION)
FILE(GLOB inFiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.cars")
FOREACH(infileName ${inFiles})
# Generate output file name
STRING(REGEX REPLACE ".cars\$" ".xtp" outfileName "${infileName}")
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfileName}")
# Generate input file name
SET(infile "${CMAKE_CURRENT_SOURCE_DIR}/${infileName}")
# Custom command to do the processing
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND ${mkcarpart_EXE} "${infile}" "${outfile}"
DEPENDS "${infile}" mkcarpart
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
# Finally remember the output file for dependencies
SET(outFiles ${outFiles} "${outfile}")
ENDFOREACH(infileName)
# create param files from structure definitions
ADD_EXECUTABLE( mkstruct mkstruct.c )
GET_TARGET_PROPERTY(mkstruct_EXE mkstruct LOCATION)
FILE(GLOB inFiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.struct")
# define build commands for all struct files
FOREACH(infileName ${inFiles})
# Generate output file name
STRING(REGEX REPLACE ".struct\$" ".xtp" outfileName "${infileName}")
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfileName}")
# Generate input file name
SET(infile "${CMAKE_CURRENT_SOURCE_DIR}/${infileName}")
# Custom command to do the processing
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND ${mkstruct_EXE} "${infile}" "${outfile}"
DEPENDS "${infile}" mkstruct
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" )
# Finally remember the output file for dependencies
SET(outFiles ${outFiles} "${outfile}")
ENDFOREACH(infileName)
# create turnouts from NMRA definition file
ADD_EXECUTABLE( nmra-to nmra-to.c )
IF(NOT WIN32)
TARGET_LINK_LIBRARIES(nmra-to m)
ENDIF(NOT WIN32)
GET_TARGET_PROPERTY(nmra-to_EXE nmra-to LOCATION)
# find all turnout files
FILE(GLOB inFiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.to")
# define build commands for all struct files
FOREACH(infileName ${inFiles})
# Generate output file name
STRING(REGEX REPLACE ".to\$" ".xtp" outfileName "${infileName}")
SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfileName}")
# Generate input file name
SET(infile "${CMAKE_CURRENT_SOURCE_DIR}/${infileName}")
# Custom command to do the processing
ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
COMMAND ${nmra-to_EXE} "${infile}" "${outfile}"
DEPENDS "${infile}" nmra-to
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
# Finally remember the output file for dependencies
SET(outFiles ${outFiles} "${outfile}")
ENDFOREACH(infileName)
ADD_CUSTOM_TARGET(xtpfiles ALL DEPENDS ${outFiles})
INSTALL(
FILES ${XTP_FILES} t-trak-notes.txt ${outFiles}
DESTINATION ${XTRKCAD_SHARE_INSTALL_DIR}/params
)
|