30 find_package(SDL_image REQUIRED) |
30 find_package(SDL_image REQUIRED) |
31 find_package(SDL_ttf REQUIRED) |
31 find_package(SDL_ttf REQUIRED) |
32 |
32 |
33 #compile our rtl implementation |
33 #compile our rtl implementation |
34 include_directories("${GLEW_INCLUDE_PATH}") |
34 include_directories("${GLEW_INCLUDE_PATH}") |
35 include_directories(rtl) |
35 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/rtl") |
36 add_subdirectory(rtl) |
36 add_subdirectory(rtl) |
37 |
37 |
38 |
38 |
39 configure_file(${hedgewars_SOURCE_DIR}/hedgewars/config.inc.in ${CMAKE_CURRENT_BINARY_DIR}/config.inc) |
39 configure_file(${CMAKE_SOURCE_DIR}/hedgewars/config.inc.in ${CMAKE_CURRENT_BINARY_DIR}/config.inc) |
40 |
40 |
41 #get the list of pas files that are going to be converted and compiled |
41 #get the list of pas files that are going to be converted and compiled |
42 file(GLOB engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/*.pas") |
42 file(GLOB engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/*.pas") |
43 #TODO: temporary until cmake can configure itself accordingly |
43 #TODO: temporary until cmake can configure itself accordingly |
44 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/uWeb.pas") |
44 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/uWeb.pas") |
45 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/uVideoRec.pas") |
45 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/uVideoRec.pas") |
46 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/uTouch.pas") |
46 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/uTouch.pas") |
47 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/PNGh.pas") |
47 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/PNGh.pas") |
48 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/pas2cSystem.pas") |
48 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/pas2cSystem.pas") |
49 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/pas2cRedo.pas") |
49 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/pas2cRedo.pas") |
50 list(REMOVE_ITEM engine_sources_pas "${hedgewars_SOURCE_DIR}/hedgewars/hwLibrary.pas") |
50 list(REMOVE_ITEM engine_sources_pas "${CMAKE_SOURCE_DIR}/hedgewars/hwLibrary.pas") |
51 |
51 |
52 foreach(sourcefile ${engine_sources_pas}) |
52 foreach(sourcefile ${engine_sources_pas}) |
53 get_filename_component(sourcename ${sourcefile} NAME_WE) #drops .pas |
53 get_filename_component(sourcename ${sourcefile} NAME_WE) #drops .pas |
54 set(engine_sources "${CMAKE_CURRENT_BINARY_DIR}/${sourcename}.c" ${engine_sources}) |
54 set(engine_sources "${CMAKE_CURRENT_BINARY_DIR}/${sourcename}.c" ${engine_sources}) |
55 endforeach() |
55 endforeach() |
56 |
56 |
57 #invoke pas2c on our pas files |
57 #invoke pas2c on our pas files |
58 add_custom_command(OUTPUT ${engine_sources} |
58 add_custom_command(OUTPUT ${engine_sources} |
59 COMMAND "${EXECUTABLE_OUTPUT_PATH}/pas2c${CMAKE_EXECUTABLE_SUFFIX}" |
59 COMMAND "${EXECUTABLE_OUTPUT_PATH}/pas2c${CMAKE_EXECUTABLE_SUFFIX}" |
60 ARGS -n "hwengine" |
60 ARGS -n "hwengine" |
61 -i "${hedgewars_SOURCE_DIR}/hedgewars" |
61 -i "${CMAKE_SOURCE_DIR}/hedgewars" |
62 -o "${CMAKE_CURRENT_BINARY_DIR}" |
62 -o "${CMAKE_CURRENT_BINARY_DIR}" |
63 -a "${CMAKE_CURRENT_BINARY_DIR}" |
63 -a "${CMAKE_CURRENT_BINARY_DIR}" |
64 DEPENDS pas2c |
64 DEPENDS pas2c |
65 ) |
65 ) |
66 add_custom_target(engine_c DEPENDS ${engine_sources}) |
66 add_custom_target(engine_c DEPENDS ${engine_sources}) |