set(RADIANT_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${RADIANT_BASENAME})
endif ()
+set(GAMEPACKS_DOWNLOAD_DIR ${PROJECT_BINARY_DIR}/download CACHE PATH "Where to store downloaded game packs")
+
#-----------------------------------------------------------------------
# Version
#-----------------------------------------------------------------------
if (BUILD_RADIANT)
set(GTK_TARGET 2 CACHE STRING "GTK target")
add_definitions(-DGTK_TARGET=${GTK_TARGET})
+
+ if (GTK_TARGET EQUAL 2 AND WIN32)
+ add_definitions(-DWORKAROUND_WINDOWS_GTK2_GLWIDGET=1)
+ endif ()
endif ()
#-----------------------------------------------------------------------
option(BUNDLE_LIBRARIES "Bundle libraries" ${BUNDLE_LIBRARIES_DEFAULT})
- macro (copy_dlls target)
- if (BUNDLE_LIBRARIES AND WIN32)
- add_custom_command(TARGET ${target} POST_BUILD
- COMMAND bash
- ARGS -c "ldd '$<TARGET_FILE:${target}>' | egrep -i '\\.dll ' | grep -iv '/c/Windows' | awk '{ print $1 }' | while read dll; do dllbasename=\"$(which \"$dll\")\"; [ -f \"${PROJECT_BINARY_DIR}/$dllbasename\" ] || cp --preserve=timestamps \"$dllbasename\" '${PROJECT_BINARY_DIR}'; done"
- VERBATIM
- )
- endif ()
- endmacro ()
+ if (BUNDLE_LIBRARIES)
+ add_subdirectory(bundle)
+ endif ()
- macro (bundle_stuff target)
- if (BUNDLE_LIBRARIES AND WIN32)
+ macro (copy_dlls target)
+ if (BUNDLE_LIBRARIES)
add_custom_command(TARGET ${target} POST_BUILD
- COMMAND bash
- ARGS -c "mkdir -p '${PROJECT_BINARY_DIR}/share/themes'; mkdir -p '${PROJECT_BINARY_DIR}/lib'; mingw=\"$(echo '${CMAKE_C_COMPILER}' | sed -e 's|/bin/.*||')\"; [ -d '${PROJECT_BINARY_DIR}/share/themes/MS-Windows' ] || cp -r --preserve=timestamps \"$mingw/share/themes/MS-Windows\" '${PROJECT_BINARY_DIR}/share/themes/'; [ -d '${PROJECT_BINARY_DIR}/lib/gdk-pixbuf-2.0' ] || cp -r --preserve=timestamps \"$mingw/lib/gdk-pixbuf-2.0\" '${PROJECT_BINARY_DIR}/lib/'; [ -d '${PROJECT_BINARY_DIR}/lib/gtk-2.0' ] || cp -r --preserve=timestamps \"$mingw/lib/gtk-2.0\" '${PROJECT_BINARY_DIR}/lib/'"
+ COMMAND "${PROJECT_SOURCE_DIR}/library-bundler"
+ "register" "${PROJECT_BINARY_DIR}" "$<TARGET_FILE:${target}>"
VERBATIM
- )
-
- file(GLOB DLL_FILES ${PROJECT_BINARY_DIR}/*.dll)
-
- install(FILES
- ${DLL_FILES}
- DESTINATION ${CMAKE_INSTALL_PREFIX}
- )
-
- install(DIRECTORY
- ${PROJECT_BINARY_DIR}/lib
- ${PROJECT_BINARY_DIR}/share
- DESTINATION ${CMAKE_INSTALL_PREFIX}
- )
+ )
+ add_dependencies(bundle ${target})
endif ()
endmacro ()
endif ()
endif ()
macro (radiant_tool name)
- add_executable(${name} ${ARGN})
+ if (BUNDLE_LIBRARIES AND WIN32)
+ add_executable(${name} ${ARGN} ${PROJECT_SOURCE_DIR}/include/lib.rc)
+ else ()
+ add_executable(${name} ${ARGN})
+ endif ()
copy_dlls(${name})
if (DOWNLOAD_GAMEPACKS)
add_custom_target(game_packs ALL
- COMMAND "${PROJECT_SOURCE_DIR}/gamepack-manager" --license ${GAMEPACKS_LICENSE_LIST} --name ${GAMEPACKS_NAME_LIST} --download-dir "${PROJECT_BINARY_DIR}/download" --install-dir "${PROJECT_BINARY_DIR}" --download --install
+ COMMAND "${PROJECT_SOURCE_DIR}/gamepack-manager" --license ${GAMEPACKS_LICENSE_LIST} --name ${GAMEPACKS_NAME_LIST} --download-dir "${GAMEPACKS_DOWNLOAD_DIR}" --install-dir "${PROJECT_BINARY_DIR}/gamepacks" --download --install
COMMENT "Downloading game packs"
)
endif ()
set(GAME_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif ()
- file(GLOB GAME_DIRS ${PROJECT_BINARY_DIR}/*.game)
-
install(DIRECTORY
- ${PROJECT_BINARY_DIR}/games
- ${GAME_DIRS}
+ ${PROJECT_BINARY_DIR}/gamepacks
DESTINATION ${RADIANT_DATA_DIR}
)
endif ()