diff -r 2ed42786aca7 -r 091293bc974f hedgewars/CMakeLists.txt --- a/hedgewars/CMakeLists.txt Sun Nov 11 14:59:22 2012 +0100 +++ b/hedgewars/CMakeLists.txt Sun Nov 11 15:14:18 2012 +0100 @@ -193,7 +193,14 @@ #this command is a workaround to some inlining issues present in older FreePascal versions and fixed in 2.6 if(fpc_version LESS "020600") - add_custom_target(ENGINECLEAN COMMAND ${CMAKE_BUILD_TOOL} "clean" "${PROJECT_BINARY_DIR}" "${hedgewars_SOURCE_DIR}/hedgewars") + #under some configurations CMAKE_BUILD_TOOL fails to pass on the jobserver, breaking parallel compilation + #TODO: check if this is needed on windows too + if(UNIX) + set(SAFE_BUILD_TOOL $(MAKE)) + else() + set(SAFE_BUILD_TOOL ${CMAKE_BUILD_TOOL}) + endif() + add_custom_target(ENGINECLEAN COMMAND ${SAFE_BUILD_TOOL} "clean" "${PROJECT_BINARY_DIR}" "${hedgewars_SOURCE_DIR}/hedgewars") endif() @@ -201,6 +208,11 @@ set(FFMPEG_FIND_QUIETLY true) find_package(FFMPEG) if(${FFMPEG_FOUND}) + # TODO: this check is only for SDL < 2 + # fpc will take care of linking but we need to have this library installed + find_package(GLUT REQUIRED) + + #TODO: convert avwrapper to .pas unit so we can skip this step include_directories(${FFMPEG_INCLUDE_DIR}) set(pascal_flags "-dUSE_VIDEO_RECORDING" ${pascal_flags}) IF (WIN32) @@ -212,9 +224,6 @@ add_library(avwrapper STATIC videorec/avwrapper.c) set(pascal_flags "-k${FFMPEG_LIBAVCODEC}" "-k${FFMPEG_LIBAVFORMAT}" "-k${FFMPEG_LIBAVUTIL}" ${pascal_flags}) ENDIF() - if(fpc_version LESS "020600") - add_dependencies(avwrapper ENGINECLEAN) - endif() else() message(STATUS "Could NOT find FFMPEG/LibAV, video recording will be disabled") endif() @@ -260,6 +269,12 @@ add_dependencies(${engine_output_name} lua) endif() +#when ffmpeg/libav is found we need to compile it before engine +#TODO: convert avwrapper to .pas unit so we can skip this step +if(${FFMPEG_FOUND}) + add_dependencies(${engine_output_name} avwrapper) +endif() + #this command is a workaround to some inlining issues present in older FreePascal versions and fixed in 2.6 if((fpc_version LESS "020600") AND (NOVIDEOREC OR NOT ${FFMPEG_FOUND})) add_dependencies(${engine_output_name} ENGINECLEAN)