115 |
115 |
116 add_library (SDLmain STATIC SDLMain.m) |
116 add_library (SDLmain STATIC SDLMain.m) |
117 set(engine_sources SDLmain ${engine_sources}) |
117 set(engine_sources SDLmain ${engine_sources}) |
118 ENDIF(APPLE) |
118 ENDIF(APPLE) |
119 |
119 |
120 IF(NOT APPLE OR NOT universal_build) |
120 IF(build_type MATCHES "standard") |
121 #here is the standard command for any system |
121 #here is the standard command for any system |
122 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" |
122 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" |
123 COMMAND "${pascal_compiler}" |
123 COMMAND "${pascal_compiler}" |
124 ARGS ${pascal_compiler_flags} |
124 ARGS ${pascal_compiler_flags} |
125 MAIN_DEPENDENCY ${hwengine_project} |
125 MAIN_DEPENDENCY ${hwengine_project} |
126 DEPENDS ${engine_sources} |
126 DEPENDS ${engine_sources} |
127 ) |
127 ) |
128 ELSE() |
128 ELSE() |
129 #these are the two dependencies for building a universal binary on Mac OS X |
129 #these are the dependencies for building a universal binary on Mac OS X |
130 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" |
130 find_program(pascal_x86 NAMES ppc386) |
131 COMMAND "ppc386" |
131 find_program(pascal_ppc NAMES ppcppc) |
132 ARGS ${pascal_compiler_flags} -ohwengine.386 -CfSSE2 |
132 |
|
133 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" |
|
134 COMMAND "${pascal_x86}" |
|
135 ARGS ${pascal_compiler_flags} -ohwengine.386 |
133 MAIN_DEPENDENCY ${hwengine_project} |
136 MAIN_DEPENDENCY ${hwengine_project} |
134 DEPENDS ${engine_sources} |
137 DEPENDS ${engine_sources} |
135 ) |
138 ) |
136 add_custom_target(hwengine.386 ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386") |
139 add_custom_target(hwengine.386 ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386") |
137 |
140 |
138 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" |
141 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" |
139 COMMAND "ppcppc" |
142 COMMAND "${pascal_ppc}" |
140 ARGS ${pascal_compiler_flags} -ohwengine.ppc |
143 ARGS ${pascal_compiler_flags} -ohwengine.ppc |
141 MAIN_DEPENDENCY ${hwengine_project} |
144 MAIN_DEPENDENCY ${hwengine_project} |
142 DEPENDS ${engine_sources} |
145 DEPENDS ${engine_sources} |
143 ) |
146 ) |
144 add_custom_target(hwengine.ppc ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc") |
147 add_custom_target(hwengine.ppc ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc") |
145 |
148 |
146 #this is the command that bundles the two executables into one |
149 IF(build_type MATCHES "universal64") |
147 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine" |
150 find_program(pascal_x64 NAMES ppcx64) |
148 COMMAND "lipo" |
151 |
149 ARGS ${EXECUTABLE_OUTPUT_PATH}/hwengine.386 ${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc -create -output ${EXECUTABLE_OUTPUT_PATH}/hwengine |
152 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" |
150 DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" |
153 COMMAND "${pascal_x64}" |
151 ) |
154 ARGS ${pascal_compiler_flags} -ohwengine.x64 |
|
155 MAIN_DEPENDENCY ${hwengine_project} |
|
156 DEPENDS ${engine_sources} |
|
157 ) |
|
158 add_custom_target(hwengine.x64 ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64") |
|
159 |
|
160 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine" |
|
161 COMMAND "lipo" |
|
162 ARGS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" -create -output ${EXECUTABLE_OUTPUT_PATH}/hwengine |
|
163 DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" |
|
164 ) |
|
165 else() |
|
166 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine" |
|
167 COMMAND "lipo" |
|
168 ARGS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" -create -output ${EXECUTABLE_OUTPUT_PATH}/hwengine |
|
169 DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" |
|
170 ) |
|
171 endif() |
152 ENDIF() |
172 ENDIF() |
153 |
|
154 |
173 |
155 add_custom_target(hwengine ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}") |
174 add_custom_target(hwengine ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}") |
156 |
175 |
157 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir}) |
176 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION ${target_dir}) |
158 |
177 |