# HG changeset patch # User koda # Date 1364119899 -3600 # Node ID 843a9a405542f6f8d989368bda6e36ae34c568b0 # Parent e1be48f36b829f83fc81407e6f94986e2edc04ea gather all libs in a single list diff -r e1be48f36b82 -r 843a9a405542 hedgewars/CMakeLists.txt --- a/hedgewars/CMakeLists.txt Sun Mar 24 10:54:16 2013 +0100 +++ b/hedgewars/CMakeLists.txt Sun Mar 24 11:11:39 2013 +0100 @@ -120,12 +120,14 @@ #on OSX we need to provide the SDL_main() function when building as executable if(NOT BUILD_ENGINE_LIBRARY) add_subdirectory(sdlmain) + list(APPEND HW_LINK_LIBS SDLmain) add_flag_append(CMAKE_Pascal_FLAGS -Fl${LIBRARY_OUTPUT_PATH}) endif() endif(APPLE) if(FFMPEG_FOUND) add_subdirectory(avwrapper) + list(APPEND HW_LINK_LIBS avwrapper) add_definitions(-dUSE_VIDEO_RECORDING) add_flag_append(CMAKE_Pascal_FLAGS -Fl${LIBRARY_OUTPUT_PATH}) endif() @@ -138,6 +140,7 @@ endif() if(NOT LUA_FOUND) + list(APPEND HW_LINK_LIBS lua) add_flag_append(CMAKE_Pascal_FLAGS -k${EXECUTABLE_OUTPUT_PATH}/lib${LUA_LIBRARY}.a) #linking with liblua.a requires system readline if(UNIX) @@ -146,13 +149,14 @@ endif() if(NOT PHYSFS_FOUND) + add_definitions(-dPHYSFS_INTERNAL) + list(APPEND HW_LINK_LIBS physfs) #-XLA is a beta fpc flag that renames libraries before passing them to the linker #we also have to pass PHYSFS_INTERNAL to satisfy windows runtime requirements #(should be harmless on other platforms) add_flag_append(CMAKE_Pascal_FLAGS "-XLAphysfs=${physfs_output_name}") - add_definitions(-dPHYSFS_INTERNAL) endif() - +list(APPEND HW_LINK_LIBS physlayer) if(HAVE_MIXINIT) add_definitions(-dSDL_MIXER_NEWER) @@ -186,27 +190,6 @@ add_executable(hwengine ${engine_sources}) endif() - -#when system Lua is not found we need to compile it before engine -if(NOT LUA_FOUND) - target_link_libraries(hwengine lua) -endif() - -# same for physfs -if(NOT PHYSFS_FOUND) - target_link_libraries(hwengine physfs) -endif() - -target_link_libraries(hwengine physlayer) - -#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}) - target_link_libraries(hwengine avwrapper) -endif() - -if(APPLE AND NOT BUILD_ENGINE_LIBRARY) - target_link_libraries(hwengine SDLmain) -endif() +target_link_libraries(hwengine ${HW_LINK_LIBS}) install(PROGRAMS "${EXECUTABLE_OUTPUT_PATH}/${engine_output_name}" DESTINATION ${destination_dir})