83 message(STATUS "Freepascal version detected: ${fpc_vers_major}.${fpc_vers_minor}.${fpc_vers_patch}") |
83 message(STATUS "Freepascal version detected: ${fpc_vers_major}.${fpc_vers_minor}.${fpc_vers_patch}") |
84 math(EXPR fpc_ver "${fpc_vers_major}*10000 + ${fpc_vers_minor}*100 + ${fpc_vers_patch}") |
84 math(EXPR fpc_ver "${fpc_vers_major}*10000 + ${fpc_vers_minor}*100 + ${fpc_vers_patch}") |
85 if (fpc_ver LESS "020200") |
85 if (fpc_ver LESS "020200") |
86 message(FATAL_ERROR "Minimum required version of FreePascal is 2.2.0") |
86 message(FATAL_ERROR "Minimum required version of FreePascal is 2.2.0") |
87 else() |
87 else() |
88 if (APPLE AND build_64_universal AND fpc_ver LESS "020400") |
88 if (APPLE AND build_x86_64 AND fpc_ver LESS "020400") |
89 message(FATAL_ERROR "Minimum required version of FreePascal is 2.4.0 for building 64 bit applications") |
89 message(FATAL_ERROR "Minimum required version of FreePascal is 2.4.0 for building 64 bit applications") |
90 endif() |
90 endif() |
91 set(pascal_compiler ${fpc_executable}) |
91 set(pascal_compiler ${fpc_executable}) |
92 endif () |
92 endif () |
93 endif (fpc_version) |
93 endif (fpc_version) |
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 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 set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc") |
130 if(build_ppc) |
|
131 set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc" ${lipo_args_list}) |
|
132 endif() |
|
133 if(build_i386) |
|
134 set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" ${lipo_args_list}) |
|
135 endif() |
|
136 if(build_x86_64) |
|
137 set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" ${lipo_args_list}) |
|
138 endif() |
131 |
139 |
132 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" |
140 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.386" |
133 COMMAND "${pascal_compiler}" |
141 COMMAND "${pascal_compiler}" |
134 ARGS ${pascal_compiler_flags} -ohwengine.386 -Pi386 |
142 ARGS ${pascal_compiler_flags} -ohwengine.386 -Pi386 |
135 MAIN_DEPENDENCY ${hwengine_project} |
143 MAIN_DEPENDENCY ${hwengine_project} |
143 MAIN_DEPENDENCY ${hwengine_project} |
151 MAIN_DEPENDENCY ${hwengine_project} |
144 DEPENDS ${engine_sources} |
152 DEPENDS ${engine_sources} |
145 ) |
153 ) |
146 add_custom_target(hwengine.ppc ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc") |
154 add_custom_target(hwengine.ppc ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.ppc") |
147 |
155 |
148 IF(build_64_universal) |
156 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" |
149 set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" ${lipo_args_list}) |
157 COMMAND "${pascal_compiler}" |
150 |
158 ARGS ${pascal_compiler_flags} -ohwengine.x64 -Px86_64 |
151 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64" |
159 MAIN_DEPENDENCY ${hwengine_project} |
152 COMMAND "${pascal_compiler}" |
160 DEPENDS ${engine_sources} |
153 ARGS ${pascal_compiler_flags} -ohwengine.x64 -Px86_64 |
161 ) |
154 MAIN_DEPENDENCY ${hwengine_project} |
162 add_custom_target(hwengine.x64 ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64") |
155 DEPENDS ${engine_sources} |
|
156 ) |
|
157 add_custom_target(hwengine.x64 ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine.x64") |
|
158 ENDIF() |
|
159 |
163 |
160 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine" |
164 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine" |
161 COMMAND "lipo" |
165 COMMAND "lipo" |
162 ARGS ${lipo_args_list} -create -output ${EXECUTABLE_OUTPUT_PATH}/hwengine |
166 ARGS ${lipo_args_list} -create -output ${EXECUTABLE_OUTPUT_PATH}/hwengine |
163 DEPENDS ${lipo_args_list} |
167 DEPENDS ${lipo_args_list} |