mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 11:28:56 +00:00
Optimize building of HOG files and netgames libraries
Don't force building HOG files if dependency files are up-to-date. Simplify building libraries by copying them into Descent3 directory.
This commit is contained in:
parent
74ac445ca6
commit
39b205b957
@ -78,6 +78,8 @@ if(FORCE_COLORED_OUTPUT)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
if(FORCE_PORTABLE_INSTALL)
|
if(FORCE_PORTABLE_INSTALL)
|
||||||
set(CMAKE_INSTALL_BINDIR ".")
|
set(CMAKE_INSTALL_BINDIR ".")
|
||||||
@ -110,6 +112,15 @@ if(BUILD_TESTING)
|
|||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Define names for HOG files
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
||||||
|
set(HOG_NAME "linux")
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
|
set(HOG_NAME "osx")
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
|
set(HOG_NAME "win")
|
||||||
|
endif()
|
||||||
|
|
||||||
# rebuild d3_version.h every time
|
# rebuild d3_version.h every time
|
||||||
add_custom_target(get_git_hash ALL)
|
add_custom_target(get_git_hash ALL)
|
||||||
|
|
||||||
|
@ -344,7 +344,34 @@ target_link_libraries(Descent3 PRIVATE
|
|||||||
${PLATFORM_LIBS})
|
${PLATFORM_LIBS})
|
||||||
target_include_directories(Descent3 PRIVATE ${PROJECT_BINARY_DIR}/lib)
|
target_include_directories(Descent3 PRIVATE ${PROJECT_BINARY_DIR}/lib)
|
||||||
target_link_options(Descent3 PRIVATE $<$<PLATFORM_ID:Windows>:/DEBUG:FULL>)
|
target_link_options(Descent3 PRIVATE $<$<PLATFORM_ID:Windows>:/DEBUG:FULL>)
|
||||||
add_dependencies(Descent3 get_git_hash Direct_TCP_IP_Hog Descent3_Online_TCP_IP_Hog HogFull NetgamesDir Parallax_Online_Hog)
|
add_dependencies(Descent3
|
||||||
|
get_git_hash
|
||||||
|
Direct_TCP_IP_Hog
|
||||||
|
Descent3_Online_TCP_IP_Hog
|
||||||
|
HogFull
|
||||||
|
Parallax_Online_Hog
|
||||||
|
anarchy
|
||||||
|
coop
|
||||||
|
ctf
|
||||||
|
entropy
|
||||||
|
hoard
|
||||||
|
hyperanarchy
|
||||||
|
monsterball
|
||||||
|
roboanarchy
|
||||||
|
tanarchy
|
||||||
|
)
|
||||||
|
|
||||||
|
# Custom command for copying custom targets such HOG files
|
||||||
|
# We cannot use here TARGET_FILE_DIR generated expressions since custom target don't have one
|
||||||
|
add_custom_command(TARGET Descent3 POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/scripts/$<CONFIG>/d3-${HOG_NAME}.hog" "$<TARGET_FILE_DIR:Descent3>"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:Descent3>/online"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/netcon/descent3onlineclient/$<CONFIG>/Descent3 Online.d3c" "$<TARGET_FILE_DIR:Descent3>/online"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/netcon/lanclient/$<CONFIG>/Direct TCP~IP.d3c" "$<TARGET_FILE_DIR:Descent3>/online"
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/netcon/mtclient/$<CONFIG>/Parallax Online.d3c" "$<TARGET_FILE_DIR:Descent3>/online"
|
||||||
|
COMMENT "Copying HOG-files into Descent3 work dir"
|
||||||
|
)
|
||||||
|
|
||||||
install(TARGETS Descent3 RUNTIME BUNDLE DESTINATION .)
|
install(TARGETS Descent3 RUNTIME BUNDLE DESTINATION .)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
install(FILES $<TARGET_PDB_FILE:Descent3> DESTINATION ${CMAKE_INSTALL_BINDIR})
|
install(FILES $<TARGET_PDB_FILE:Descent3> DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
|
58
cmake/HogMaker.cmake
Normal file
58
cmake/HogMaker.cmake
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Descent 3
|
||||||
|
# Copyright (C) 2024 Descent Developers
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
|
# - Function making a HOG file based on supplied filelist.
|
||||||
|
#
|
||||||
|
# This module provides function MakeHog() used for building HOG files.
|
||||||
|
# MakeHog() registers custom target TARGET which can be used as dependency.
|
||||||
|
#
|
||||||
|
# MakeHog(
|
||||||
|
# <TARGET target>
|
||||||
|
# <OUTPUT d3-full-win32.hog>
|
||||||
|
# <INPUT_FILE filelist.txt>
|
||||||
|
# [SEARCH_PATH additional_dirs]
|
||||||
|
# [DEPENDS additional_dependencies]
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
|
||||||
|
function(MakeHog)
|
||||||
|
set(options)
|
||||||
|
set(oneValueArgs INPUT_FILE OUTPUT TARGET)
|
||||||
|
set(multiValueArgs DEPENDS SEARCH_PATH)
|
||||||
|
|
||||||
|
cmake_parse_arguments(PARSE_ARGV 0
|
||||||
|
"HOG"
|
||||||
|
"${options}"
|
||||||
|
"${oneValueArgs}"
|
||||||
|
"${multiValueArgs}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Register custom target for tracking dependencies
|
||||||
|
add_custom_target("${HOG_TARGET}"
|
||||||
|
DEPENDS "${HOG_OUTPUT}"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT "${HOG_OUTPUT}"
|
||||||
|
COMMAND $<TARGET_FILE:HogMaker>
|
||||||
|
"${HOG_OUTPUT}"
|
||||||
|
"${HOG_INPUT_FILE}"
|
||||||
|
"${HOG_SEARCH_PATH}"
|
||||||
|
DEPENDS HogMaker ${HOG_INPUT_FILE} ${HOG_DEPENDS}
|
||||||
|
COMMENT "Generate ${HOG_OUTPUT}"
|
||||||
|
COMMAND_EXPAND_LISTS
|
||||||
|
)
|
||||||
|
endfunction()
|
@ -26,14 +26,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||||||
set_target_properties(Descent3_Online_TCP_IP PROPERTIES SUFFIX ".dylib")
|
set_target_properties(Descent3_Online_TCP_IP PROPERTIES SUFFIX ".dylib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_custom_target(Descent3_Online_TCP_IP_Hog
|
include(HogMaker)
|
||||||
COMMAND $<TARGET_FILE:HogMaker>
|
MakeHog(
|
||||||
"$<TARGET_FILE_DIR:Descent3>/online/Descent3 Online.d3c"
|
TARGET Descent3_Online_TCP_IP_Hog
|
||||||
"${CMAKE_SOURCE_DIR}/netcon/descent3onlineclient/d3online.d3c.txt"
|
OUTPUT "$<CONFIG>/Descent3 Online.d3c"
|
||||||
"${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
INPUT_FILE "${CMAKE_SOURCE_DIR}/netcon/descent3onlineclient/d3online.d3c.txt"
|
||||||
"$<TARGET_FILE_DIR:Descent3_Online_TCP_IP>"
|
SEARCH_PATH "$<TARGET_FILE_DIR:Descent3_Online_TCP_IP>" "${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
||||||
|
DEPENDS Descent3_Online_TCP_IP
|
||||||
DEPENDS Descent3_Online_TCP_IP HogMaker
|
|
||||||
COMMENT "Generate 'Descent3 Online.d3c'"
|
|
||||||
)
|
)
|
||||||
install(FILES "$<TARGET_FILE_DIR:Descent3>/online/Descent3 Online.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/Descent3 Online.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
||||||
|
@ -4,4 +4,3 @@ Descent3 Online.dll
|
|||||||
Descent3 Online.dylib
|
Descent3 Online.dylib
|
||||||
d3online_main.ogf
|
d3online_main.ogf
|
||||||
d3online_game.ogf
|
d3online_game.ogf
|
||||||
|
|
||||||
|
@ -19,14 +19,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||||||
set_target_properties(Direct_TCP_IP PROPERTIES SUFFIX ".dylib")
|
set_target_properties(Direct_TCP_IP PROPERTIES SUFFIX ".dylib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_custom_target(Direct_TCP_IP_Hog
|
include(HogMaker)
|
||||||
COMMAND $<TARGET_FILE:HogMaker>
|
MakeHog(
|
||||||
"$<TARGET_FILE_DIR:Descent3>/online/Direct TCP~IP.d3c"
|
TARGET Direct_TCP_IP_Hog
|
||||||
"${CMAKE_SOURCE_DIR}/netcon/lanclient/TCP_IP.d3c.txt"
|
OUTPUT "$<CONFIG>/Direct TCP~IP.d3c"
|
||||||
"${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
INPUT_FILE "${CMAKE_SOURCE_DIR}/netcon/lanclient/TCP_IP.d3c.txt"
|
||||||
"$<TARGET_FILE_DIR:Direct_TCP_IP>"
|
SEARCH_PATH "$<TARGET_FILE_DIR:Direct_TCP_IP>" "${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
||||||
|
DEPENDS Direct_TCP_IP
|
||||||
DEPENDS Direct_TCP_IP HogMaker
|
|
||||||
COMMENT "Generate 'Direct TCP~IP.d3c'"
|
|
||||||
)
|
)
|
||||||
install(FILES "$<TARGET_FILE_DIR:Descent3>/online/Direct TCP~IP.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/Direct TCP~IP.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
||||||
|
@ -29,14 +29,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||||||
set_target_properties(Parallax_Online PROPERTIES SUFFIX ".dylib")
|
set_target_properties(Parallax_Online PROPERTIES SUFFIX ".dylib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_custom_target(Parallax_Online_Hog
|
include(HogMaker)
|
||||||
COMMAND $<TARGET_FILE:HogMaker>
|
MakeHog(
|
||||||
"$<TARGET_FILE_DIR:Descent3>/online/Parallax Online.d3c"
|
TARGET Parallax_Online_Hog
|
||||||
"${CMAKE_SOURCE_DIR}/netcon/mtclient/Parallax_Online.d3c.txt"
|
OUTPUT "$<CONFIG>/Parallax Online.d3c"
|
||||||
"${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
INPUT_FILE "${CMAKE_SOURCE_DIR}/netcon/mtclient/Parallax_Online.d3c.txt"
|
||||||
"$<TARGET_FILE_DIR:Parallax_Online>"
|
SEARCH_PATH "$<TARGET_FILE_DIR:Parallax_Online>" "${CMAKE_SOURCE_DIR}/scripts/data/fullhog/"
|
||||||
|
DEPENDS Parallax_Online
|
||||||
DEPENDS Parallax_Online HogMaker
|
|
||||||
COMMENT "Generate 'Parallax Online.d3c'"
|
|
||||||
)
|
)
|
||||||
install(FILES "$<TARGET_FILE_DIR:Descent3>/online/Parallax Online.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/Parallax Online.d3c" DESTINATION ${CMAKE_INSTALL_DATADIR}/online)
|
||||||
|
@ -11,16 +11,3 @@ add_subdirectory(hyperanarchy)
|
|||||||
add_subdirectory(monsterball)
|
add_subdirectory(monsterball)
|
||||||
add_subdirectory(roboanarchy)
|
add_subdirectory(roboanarchy)
|
||||||
add_subdirectory(tanarchy)
|
add_subdirectory(tanarchy)
|
||||||
|
|
||||||
add_custom_target(NetgamesDir
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:anarchy> "$<TARGET_FILE_DIR:Descent3>/netgames/Anarchy.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:coop> "$<TARGET_FILE_DIR:Descent3>/netgames/Co-op.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:ctf> "$<TARGET_FILE_DIR:Descent3>/netgames/CTF.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:entropy> "$<TARGET_FILE_DIR:Descent3>/netgames/Entropy.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:hoard> "$<TARGET_FILE_DIR:Descent3>/netgames/Hoard.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:hyperanarchy> "$<TARGET_FILE_DIR:Descent3>/netgames/Hyper-Anarchy.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:monsterball> "$<TARGET_FILE_DIR:Descent3>/netgames/Monsterball.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:roboanarchy> "$<TARGET_FILE_DIR:Descent3>/netgames/Robo-Anarchy.d3m"
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:tanarchy> "$<TARGET_FILE_DIR:Descent3>/netgames/Team Anarchy.d3m"
|
|
||||||
COMMENT "Create netgames/ directory"
|
|
||||||
)
|
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -9,6 +9,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -7,6 +7,7 @@ add_library(${NETGAME_MODULE} MODULE ${CPPS} ${HEADERS})
|
|||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES CXX_VISIBILITY_PRESET "hidden")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES PREFIX "")
|
||||||
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
set_target_properties(${NETGAME_MODULE} PROPERTIES SUFFIX ".d3m")
|
||||||
|
set_target_properties(${NETGAME_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:Descent3>/netgames")
|
||||||
|
|
||||||
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
target_link_libraries(${NETGAME_MODULE} PRIVATE
|
||||||
dmfc
|
dmfc
|
||||||
|
@ -67,12 +67,8 @@ set(SCRIPTS
|
|||||||
SewerRat
|
SewerRat
|
||||||
testscript
|
testscript
|
||||||
TrainingMission
|
TrainingMission
|
||||||
Y2K)
|
Y2K
|
||||||
|
)
|
||||||
#add_custom_target(HogDemo-copy
|
|
||||||
# COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/scripts/data/demohog ${CMAKE_BINARY_DIR}/scripts/data/demohog/
|
|
||||||
# COMMENT "Copy script/data/demohog directory"
|
|
||||||
#)
|
|
||||||
|
|
||||||
add_library(dallas STATIC DallasFuncs.cpp osiris_import.cpp osiris_vector.cpp)
|
add_library(dallas STATIC DallasFuncs.cpp osiris_import.cpp osiris_vector.cpp)
|
||||||
set_target_properties(dallas PROPERTIES PREFIX "")
|
set_target_properties(dallas PROPERTIES PREFIX "")
|
||||||
@ -94,25 +90,15 @@ foreach(SCRIPT ${SCRIPTS})
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
include(HogMaker)
|
||||||
set(HOG_NAME "linux")
|
MakeHog(
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
TARGET HogFull
|
||||||
set(HOG_NAME "osx")
|
OUTPUT "$<CONFIG>/d3-${HOG_NAME}.hog"
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
INPUT_FILE "${CMAKE_SOURCE_DIR}/scripts/data/fullhog/d3-${HOG_NAME}-fullhog.txt"
|
||||||
set(HOG_NAME "win")
|
SEARCH_PATH "$<TARGET_FILE_DIR:AIGame>"
|
||||||
endif()
|
DEPENDS ${SCRIPTS}
|
||||||
|
|
||||||
add_custom_target(HogFull
|
|
||||||
COMMAND $<TARGET_FILE:HogMaker>
|
|
||||||
"$<TARGET_FILE_DIR:Descent3>/d3-${HOG_NAME}.hog"
|
|
||||||
"${CMAKE_SOURCE_DIR}/scripts/data/fullhog/d3-${HOG_NAME}-fullhog.txt"
|
|
||||||
"$<TARGET_FILE_DIR:AIGame>"
|
|
||||||
DEPENDS ${SCRIPTS} HogMaker data/fullhog/d3-${HOG_NAME}-fullhog.txt
|
|
||||||
COMMENT "Generate fullhog/d3-${HOG_NAME}.hog"
|
|
||||||
)
|
)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/d3-${HOG_NAME}.hog" DESTINATION ${CMAKE_INSTALL_DATADIR})
|
||||||
# Place file next to Descent3 executable on installation
|
|
||||||
install(FILES "$<TARGET_FILE_DIR:Descent3>/d3-${HOG_NAME}.hog" DESTINATION ${CMAKE_INSTALL_DATADIR})
|
|
||||||
|
|
||||||
# FIXME: there may be only one d3-linux.hog, need deal with demo somehow.
|
# FIXME: there may be only one d3-linux.hog, need deal with demo somehow.
|
||||||
# add_custom_target(HogLinuxDemo
|
# add_custom_target(HogLinuxDemo
|
||||||
|
Loading…
Reference in New Issue
Block a user