hedgewars/CMakeLists.txt
branchwebgl
changeset 8444 75db7bb8dce8
parent 8338 cfad3738132c
parent 8379 6a446b7cece0
child 8833 c13ebed437cb
--- a/hedgewars/CMakeLists.txt	Wed Jan 02 11:11:49 2013 +0100
+++ b/hedgewars/CMakeLists.txt	Sun Jan 27 00:28:57 2013 +0100
@@ -93,16 +93,16 @@
 
 if(${LIBENGINE})
     message(WARNING "Engine will be built as library (experimental)")
-    set(pascal_flags "-dHWLIBRARY" ${pascal_flags})
+    list(APPEND pascal_flags "-dHWLIBRARY")
 
     # create position independent code, only required for x68_64 builds, similar to -fPIC
     if(CMAKE_SIZEOF_VOID_P MATCHES "8")
-        set(pascal_flags "-Cg" ${pascal_flags})
+        list(APPEND pascal_flags "-Cg")
     endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
 
     # due to compiler/linker issues on Max OS X 10.6 -k-no_order_inits is needed to avoid linking fail
     if(APPLE AND current_macosx_version VERSION_GREATER "10.5")
-        set(pascal_flags "-k-no_order_inits" ${pascal_flags})
+        list(APPEND pascal_flags "-k-no_order_inits")
     endif()
     set(destination_dir ${target_library_install_dir})
 else(${LIBENGINE})
@@ -146,20 +146,20 @@
             include_directories(${SDL_INCLUDE_DIR})
             add_library (SDLmain STATIC sdlmain_osx/SDLMain.m)
             #add a dependency to the hwengine target
-            set(engine_sources ${engine_sources} SDLmain)
+            list(APPEND engine_sources SDLmain)
             set(SDLMAIN_LIB "${LIBRARY_OUTPUT_PATH}/libSDLmain.a")
         endif()
 
-        set(pascal_flags "-k${SDLMAIN_LIB}" ${pascal_flags})
+        list(APPEND pascal_flags "-k${SDLMAIN_LIB}")
     endif()
 endif(APPLE)
 
 if(NOT NOPNG)
     find_package(PNG)
     if(${PNG_FOUND})
-        set(pascal_flags "-dPNG_SCREENSHOTS" ${pascal_flags})
+        list(APPEND pascal_flags "-dPNG_SCREENSHOTS")
         if(APPLE)  # fpc png unit doesn't pull the library (see bug 21833)
-            set(pascal_flags "-k${PNG_LIBRARY}" ${pascal_flags})
+            list(APPEND pascal_flags "-k${PNG_LIBRARY}")
         endif()
     else()
         message(WARNING "Screenshots will be in BMP format because libpng was not found")
@@ -191,7 +191,7 @@
 
         #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})
+        list(APPEND pascal_flags "-dUSE_VIDEO_RECORDING")
         IF (WIN32)
             # there are some problems with linking our avwrapper as static lib, so link it as shared
             add_library(avwrapper SHARED videorec/avwrapper.c)
@@ -199,7 +199,7 @@
             install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}avwrapper${CMAKE_SHARED_LIBRARY_SUFFIX}" DESTINATION ${target_library_install_dir})
         ELSE()
             add_library(avwrapper STATIC videorec/avwrapper.c)
-            set(pascal_flags "-k${FFMPEG_LIBAVCODEC}" "-k${FFMPEG_LIBAVFORMAT}" "-k${FFMPEG_LIBAVUTIL}" ${pascal_flags})
+            list(APPEND pascal_flags "-k${FFMPEG_LIBAVCODEC}" "-k${FFMPEG_LIBAVFORMAT}" "-k${FFMPEG_LIBAVUTIL}")
         ENDIF()
     else()
         message(WARNING "Could NOT find FFMPEG/LibAV, video recording will be disabled")
@@ -222,7 +222,7 @@
 else()
     #these are the dependencies for building a universal binary on Mac OS X
     foreach (build_arch ${powerpc_build} ${i386_build} ${x86_64_build})
-        set(lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.${build_arch}" ${lipo_args_list})
+        list(APPEND lipo_args_list "${EXECUTABLE_OUTPUT_PATH}/hwengine.${build_arch}")
         add_custom_command(OUTPUT "${EXECUTABLE_OUTPUT_PATH}/hwengine.${build_arch}"
             COMMAND "${FPC_EXECUTABLE}"
             ARGS ${fpc_flags} -ohwengine.${build_arch} -P${build_arch}
@@ -245,25 +245,25 @@
 endif()
 
 
-add_custom_target(${engine_output_name} ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/${engine_output_name}")
+add_custom_target(hwengine ALL DEPENDS "${EXECUTABLE_OUTPUT_PATH}/${engine_output_name}")
 
 #when system Lua is not found we need to compile it before engine
 if(NOT LUA_FOUND)
-    add_dependencies(${engine_output_name} lua)
+    add_dependencies(hwengine lua)
 endif()
 
 # compile physfs before engine
-add_dependencies(${engine_output_name} physfs)
+add_dependencies(hwengine physfs)
 
 #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)
+    add_dependencies(hwengine avwrapper)
 endif()
 
 #this command is a workaround to some inlining issues present in older FreePascal versions and fixed in 2.6
 if((FPC_VERSION VERSION_LESS "2.6") AND (NOVIDEOREC OR NOT ${FFMPEG_FOUND}))
-    add_dependencies(${engine_output_name} ENGINECLEAN)
+    add_dependencies(hwengine ENGINECLEAN)
 endif()
 
 install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/${engine_output_name}" DESTINATION ${destination_dir})