project_files/hwc/CMakeLists.txt
branchwebgl
changeset 8044 796f2653f21d
parent 8041 ecb446b9b7d6
child 8047 25a4daa6473c
equal deleted inserted replaced
8041:ecb446b9b7d6 8044:796f2653f21d
    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})