39 lines
1.9 KiB
CMake
39 lines
1.9 KiB
CMake
project(package_windows)
|
|
|
|
if(WIN32)
|
|
if (BUILD_DFLAUNCH)
|
|
if ((DEFINED ENV{steam_username}) AND (DEFINED ENV{steam_password}))
|
|
# download Steam SDK
|
|
set (STEAMAPI_DIR ${dfhack_SOURCE_DIR}/depends/steam)
|
|
file(DOWNLOAD "https://partner.steamgames.com/downloads/steamworks_sdk_156.zip"
|
|
${STEAMAPI_DIR}/steamworks_sdk_156.zip
|
|
EXPECTED_HASH MD5=af5a579990dbe5ae4c1b0689260d001b
|
|
USERPWD $ENV{steam_username}:$ENV{steam_password}
|
|
STATUS STEAM_SDK_DOWNLOAD_STATUS
|
|
SHOW_PROGRESS
|
|
)
|
|
list(GET STEAM_SDK_DOWNLOAD_STATUS 0 STEAM_SDK_DL_STATUS_CODE)
|
|
list(GET STEAM_SDK_DOWNLOAD_STATUS 1 STEAM_SDK_DL_ERROR_MESSAGE)
|
|
if (NOT (${STEAM_SDK_DL_STATUS_CODE} EQUAL 0))
|
|
message(FATAL_ERROR "Steam SDK download: " ${STEAM_SDK_DL_ERROR_MESSAGE})
|
|
else ()
|
|
message(STATUS "Steam SDK download: " ${STEAM_SDK_DL_ERROR_MESSAGE})
|
|
file(ARCHIVE_EXTRACT
|
|
INPUT ${STEAMAPI_DIR}/steamworks_sdk_156.zip
|
|
DESTINATION ${STEAMAPI_DIR})
|
|
set(STEAMAPI_LIBRARY "${STEAMAPI_DIR}/sdk/redistributable_bin/win64/steam_api64.lib")
|
|
set(STEAMAPI_SOURCE_DIR "${STEAMAPI_DIR}/sdk/public/steam")
|
|
set(STEAMAPI_SHARED_LIBRARY "${STEAMAPI_DIR}/sdk/redistributable_bin/win64/steam_api64.dll")
|
|
endif()
|
|
else()
|
|
message(SEND_ERROR "Need to set steam_username and steam_password in environment to download Steamworks SDK")
|
|
endif()
|
|
|
|
include_directories(${STEAMAPI_SOURCE_DIR})
|
|
link_libraries(${STEAMAPI_LIBRARY})
|
|
add_executable(launchdf WIN32 launchdf.cpp)
|
|
install(TARGETS launchdf DESTINATION ${DFHACK_DATA_DESTINATION})
|
|
install(FILES ${STEAMAPI_SHARED_LIBRARY} DESTINATION ${DFHACK_DATA_DESTINATION})
|
|
endif()
|
|
endif()
|