hedgewars/CMakeLists.txt
changeset 781 4101f0f1c0b9
parent 593 1f5e66379a43
child 782 e2d2b84aa776
equal deleted inserted replaced
780:f45b0e513dfd 781:4101f0f1c0b9
     1 configure_file(${hedgewars_SOURCE_DIR}/hedgewars/proto.inc.in 
     1 configure_file(${hedgewars_SOURCE_DIR}/hedgewars/proto.inc.in 
     2 	${hedgewars_SOURCE_DIR}/hedgewars/proto.inc) 
     2 	${CMAKE_CURRENT_BINARY_DIR}/proto.inc)
     3 
     3 
     4 set(fpc_tryexe fpc)
     4 set(fpc_tryexe fpc)
     5 set(hwengine_project "hwengine.dpr")
     5 set(hwengine_project "hwengine.dpr")
     6 
     6 
     7 set(engine_sources
     7 set(engine_sources
    37 	GSHandlers.inc
    37 	GSHandlers.inc
    38 	HHHandlers.inc
    38 	HHHandlers.inc
    39 	SinTable.inc
    39 	SinTable.inc
    40 	options.inc
    40 	options.inc
    41 	playlist.inc
    41 	playlist.inc
    42 	proto.inc
    42 	${CMAKE_CURRENT_BINARY_DIR}/proto.inc
    43 	tunsetborder.inc
    43 	tunsetborder.inc
    44 	)
    44 	)
    45 
    45 
    46 find_program(fpc_executable ${fpc_tryexe})
    46 find_program(fpc_executable ${fpc_tryexe})
    47 
    47 
    48 if (fpc_executable)
    48 if (fpc_executable)
    49 	 exec_program(${fpc_executable} ARGS "-h" OUTPUT_VARIABLE fpc_output)
    49 	 exec_program(${fpc_executable} ARGS "-h" OUTPUT_VARIABLE fpc_output)
    50 endif (fpc_executable)
    50 endif (fpc_executable)
    51 
    51 
    52 set (noexecstack_flags "-k-z" "-knoexecstack")
    52 set (noexecstack_flags "-k-z" "-knoexecstack")
    53 FILE(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    53 file(WRITE ${EXECUTABLE_OUTPUT_PATH}/checkstack.pas "begin end.")
    54 
    54 
    55 EXEC_PROGRAM(${fpc_executable} ${EXECUTABLE_OUTPUT_PATH}
    55 exec_program(${fpc_executable} ${EXECUTABLE_OUTPUT_PATH}
    56 		ARGS ${noexecstack_flags} checkstack.pas
    56 		ARGS ${noexecstack_flags} checkstack.pas
    57 		OUTPUT_VARIABLE noout
    57 		OUTPUT_VARIABLE noout
    58 		RETURN_VALUE testnoexecstack)
    58 		RETURN_VALUE testnoexecstack)
    59 
    59 
    60 if (${testnoexecstack})
    60 if (${testnoexecstack})
    78 if (NOT pascal_compiler)
    78 if (NOT pascal_compiler)
    79 	message(FATAL_ERROR "No Pascal compiler found!")
    79 	message(FATAL_ERROR "No Pascal compiler found!")
    80 endif (NOT pascal_compiler)
    80 endif (NOT pascal_compiler)
    81 
    81 
    82 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}"
    82 add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}"
    83                   COMMAND "${pascal_compiler}" 
    83 		COMMAND "${pascal_compiler}"
    84                   ARGS ${pascal_compiler_flags}
    84 		ARGS ${pascal_compiler_flags}
    85                   MAIN_DEPENDENCY ${hwengine_project}
    85 		MAIN_DEPENDENCY ${hwengine_project}
    86                   DEPENDS ${engine_sources}
    86 		DEPENDS ${engine_sources}
    87                   )
    87 		)
    88                    
    88 
    89 add_custom_target(hwengine ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}")
    89 add_custom_target(hwengine ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}")
    90 
    90 
    91 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION bin)
    91 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/hwengine${CMAKE_EXECUTABLE_SUFFIX}" DESTINATION bin)