mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
Use CMake installation directory
This removes the use of the DESTINATION parameter from install() command and instead rely on default values. The shared build action file was modified to package installed files in a single folder
This commit is contained in:
parent
864cdf1fc6
commit
120a486aea
5 changed files with 36 additions and 33 deletions
31
.github/workflows/shared-build.yml
vendored
31
.github/workflows/shared-build.yml
vendored
|
@ -139,8 +139,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
||||||
# Copy libraries
|
# Copy libraries
|
||||||
cp -l ${{steps.sdl.outputs.prefix}}/lib/libSDL2-2.0.so.0 '${{github.workspace}}/install/'
|
mkdir ${{github.workspace}}/package
|
||||||
cp -l ${{github.workspace}}/thirdparties/soft-oal/install/lib/libopenal.so.1 '${{github.workspace}}/install/'
|
cp -l ${{steps.sdl.outputs.prefix}}/lib/libSDL2-2.0.so.0 '${{github.workspace}}/package/'
|
||||||
|
cp -l ${{github.workspace}}/thirdparties/soft-oal/install/lib/libopenal.so.1 '${{github.workspace}}/package/'
|
||||||
|
if [ -d ${{github.workspace}}/install/bin ]; then cp -r ${{github.workspace}}/install/bin/. '${{github.workspace}}/package'; fi
|
||||||
|
if [ -d ${{github.workspace}}/install/lib ]; then cp -r ${{github.workspace}}/install/lib/. '${{github.workspace}}/package'; fi
|
||||||
|
|
||||||
###
|
###
|
||||||
# Artifacts
|
# Artifacts
|
||||||
|
@ -151,7 +154,7 @@ jobs:
|
||||||
name: out-linux-${{matrix.architecture.name}}
|
name: out-linux-${{matrix.architecture.name}}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
path:
|
path:
|
||||||
${{github.workspace}}/install
|
${{github.workspace}}/package
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
#
|
#
|
||||||
|
@ -306,8 +309,11 @@ jobs:
|
||||||
# Install to the directory defined in CMAKE_INSTALL_PREFIX
|
# Install to the directory defined in CMAKE_INSTALL_PREFIX
|
||||||
run: |
|
run: |
|
||||||
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
||||||
Copy-Item '${{steps.sdl.outputs.prefix}}/bin/*.dll' -Destination '${{github.workspace}}/install'
|
New-Item -ItemType Directory '${{github.workspace}}/package'
|
||||||
Copy-Item '${{github.workspace}}/thirdparties/soft-oal/install/bin/*.dll' -Destination '${{github.workspace}}/install'
|
Copy-Item '${{steps.sdl.outputs.prefix}}/bin/*.dll' -Destination '${{github.workspace}}/package'
|
||||||
|
Copy-Item '${{github.workspace}}/thirdparties/soft-oal/install/bin/*.dll' -Destination '${{github.workspace}}/package'
|
||||||
|
if (Test-Path ${{github.workspace}}/install/bin) { Copy-Item '${{github.workspace}}/install/bin/*' -Include '*.dll','*.exe' -Destination '${{github.workspace}}/package' }
|
||||||
|
if (Test-Path ${{github.workspace}}/install/lib) { Copy-Item '${{github.workspace}}/install/lib/*' -Include '*.dll','*.exe' -Destination '${{github.workspace}}/package' }
|
||||||
|
|
||||||
###
|
###
|
||||||
# Artifact
|
# Artifact
|
||||||
|
@ -318,15 +324,15 @@ jobs:
|
||||||
name: out-windows-${{matrix.architecture.name}}
|
name: out-windows-${{matrix.architecture.name}}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
path: |
|
path: |
|
||||||
${{github.workspace}}/install
|
${{github.workspace}}/package
|
||||||
!${{github.workspace}}/install/**/*.pdb
|
!${{github.workspace}}/package/**/*.pdb
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: out-windows-${{matrix.architecture.name}}-pdb
|
name: out-windows-${{matrix.architecture.name}}-pdb
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
path: |
|
path: |
|
||||||
${{github.workspace}}/install
|
${{github.workspace}}/package
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
#
|
#
|
||||||
|
@ -447,8 +453,11 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
|
||||||
# Create hard-link and copy symbolic links
|
# Create hard-link and copy symbolic links
|
||||||
cp -l ${{steps.sdl.outputs.prefix}}/lib/libSDL2-2.0.0.dylib '${{github.workspace}}/install/'
|
mkdir ${{github.workspace}}/package
|
||||||
cp -l ${{github.workspace}}/thirdparties/soft-oal/install/lib/libopenal.1.dylib '${{github.workspace}}/install/'
|
cp -l ${{steps.sdl.outputs.prefix}}/lib/libSDL2-2.0.0.dylib '${{github.workspace}}/package/'
|
||||||
|
cp -l ${{github.workspace}}/thirdparties/soft-oal/install/lib/libopenal.1.dylib '${{github.workspace}}/package/'
|
||||||
|
if [ -d ${{github.workspace}}/install/bin ]; then cp -r ${{github.workspace}}/install/bin/. '${{github.workspace}}/package'; fi
|
||||||
|
if [ -d ${{github.workspace}}/install/lib ]; then cp -r ${{github.workspace}}/install/lib/. '${{github.workspace}}/package'; fi
|
||||||
|
|
||||||
###
|
###
|
||||||
# Artifacts
|
# Artifacts
|
||||||
|
@ -459,4 +468,4 @@ jobs:
|
||||||
name: out-macos-${{matrix.architecture.name}}
|
name: out-macos-${{matrix.architecture.name}}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
path:
|
path:
|
||||||
${{github.workspace}}/install
|
${{github.workspace}}/package
|
||||||
|
|
|
@ -14,6 +14,10 @@ option(USE_INTERNAL_JPEG "If set, use bundled libjpeg." ${USE_INTERNAL_LIBS})
|
||||||
option(USE_INTERNAL_MAD "If set, use bundled libmad." ${USE_INTERNAL_LIBS})
|
option(USE_INTERNAL_MAD "If set, use bundled libmad." ${USE_INTERNAL_LIBS})
|
||||||
option(USE_INTERNAL_ZLIB "If set, use bundled zlib." ${USE_INTERNAL_LIBS})
|
option(USE_INTERNAL_ZLIB "If set, use bundled zlib." ${USE_INTERNAL_LIBS})
|
||||||
|
|
||||||
|
# Installation directory
|
||||||
|
set(CMAKE_INSTALL_BINDIR bin CACHE PATH "Binary dir")
|
||||||
|
set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Library dir")
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
if(TARGET_GAME_TYPE)
|
if(TARGET_GAME_TYPE)
|
||||||
message(SEND_ERROR "TARGET_GAME_TYPE is now unsupported, it is now done at runtime.")
|
message(SEND_ERROR "TARGET_GAME_TYPE is now unsupported, it is now done at runtime.")
|
||||||
|
@ -138,10 +142,10 @@ set_target_properties(omohaaded PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
target_link_options(omohaaded PRIVATE "/MANIFEST:NO")
|
target_link_options(omohaaded PRIVATE "/MANIFEST:NO")
|
||||||
INSTALL(FILES $<TARGET_PDB_FILE:omohaaded> DESTINATION "./" OPTIONAL)
|
INSTALL(FILES $<TARGET_PDB_FILE:omohaaded> DESTINATION bin OPTIONAL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
INSTALL(TARGETS omohaaded DESTINATION "./")
|
INSTALL(TARGETS omohaaded)
|
||||||
|
|
||||||
if (NOT BUILD_NO_CLIENT)
|
if (NOT BUILD_NO_CLIENT)
|
||||||
## Client app
|
## Client app
|
||||||
|
@ -212,10 +216,10 @@ if (NOT BUILD_NO_CLIENT)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
target_link_options(openmohaa PRIVATE "/MANIFEST:NO")
|
target_link_options(openmohaa PRIVATE "/MANIFEST:NO")
|
||||||
INSTALL(FILES $<TARGET_PDB_FILE:openmohaa> DESTINATION "./" OPTIONAL)
|
INSTALL(FILES $<TARGET_PDB_FILE:openmohaa> DESTINATION bin OPTIONAL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
INSTALL(TARGETS openmohaa DESTINATION "./")
|
INSTALL(TARGETS openmohaa)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Launcher
|
# Launcher
|
||||||
|
|
|
@ -18,7 +18,7 @@ function (create_launcher name type)
|
||||||
target_compile_features(openmohaa_launcher_${name} PRIVATE cxx_std_17)
|
target_compile_features(openmohaa_launcher_${name} PRIVATE cxx_std_17)
|
||||||
set_target_properties(openmohaa_launcher_${name} PROPERTIES OUTPUT_NAME "launch_openmohaa_${name}${TARGET_BIN_SUFFIX}")
|
set_target_properties(openmohaa_launcher_${name} PROPERTIES OUTPUT_NAME "launch_openmohaa_${name}${TARGET_BIN_SUFFIX}")
|
||||||
|
|
||||||
INSTALL(TARGETS openmohaa_launcher_${name} DESTINATION "./")
|
INSTALL(TARGETS openmohaa_launcher_${name})
|
||||||
|
|
||||||
#add_executable(omohaaded_launcher_${name} ${LAUNCHER_SOURCES})
|
#add_executable(omohaaded_launcher_${name} ${LAUNCHER_SOURCES})
|
||||||
#target_include_directories(omohaaded_launcher_${name} PUBLIC "../qcommon")
|
#target_include_directories(omohaaded_launcher_${name} PUBLIC "../qcommon")
|
||||||
|
@ -26,7 +26,7 @@ function (create_launcher name type)
|
||||||
#target_compile_features(omohaaded_launcher_${name} PRIVATE cxx_std_17)
|
#target_compile_features(omohaaded_launcher_${name} PRIVATE cxx_std_17)
|
||||||
#set_target_properties(omohaaded_launcher_${name} PROPERTIES OUTPUT_NAME "launch_omohaaded_${name}${TARGET_BIN_SUFFIX}")
|
#set_target_properties(omohaaded_launcher_${name} PROPERTIES OUTPUT_NAME "launch_omohaaded_${name}${TARGET_BIN_SUFFIX}")
|
||||||
#
|
#
|
||||||
#INSTALL(TARGETS omohaaded_launcher_${name} DESTINATION "./")
|
#INSTALL(TARGETS omohaaded_launcher_${name})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
create_launcher(base 0)
|
create_launcher(base 0)
|
||||||
|
|
|
@ -27,16 +27,11 @@ target_compile_features(cgame PUBLIC cxx_nullptr)
|
||||||
target_compile_features(cgame PUBLIC c_variadic_macros)
|
target_compile_features(cgame PUBLIC c_variadic_macros)
|
||||||
target_link_libraries(cgame PUBLIC qcommon)
|
target_link_libraries(cgame PUBLIC qcommon)
|
||||||
|
|
||||||
set_target_properties(cgame PROPERTIES PREFIX "${TARGET_PLATFORM_PREFIX}")
|
set_target_properties(cgame PROPERTIES PREFIX "")
|
||||||
set_target_properties(cgame PROPERTIES OUTPUT_NAME "cgame${TARGET_BIN_SUFFIX}")
|
set_target_properties(cgame PROPERTIES OUTPUT_NAME "cgame${TARGET_BIN_SUFFIX}")
|
||||||
set_target_properties(cgame PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TARGET_BASE_GAME}")
|
|
||||||
|
|
||||||
INSTALL(
|
INSTALL(TARGETS cgame)
|
||||||
TARGETS cgame
|
|
||||||
LIBRARY DESTINATION "${TARGET_BASE_GAME}"
|
|
||||||
RUNTIME DESTINATION "${TARGET_BASE_GAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
INSTALL(FILES $<TARGET_PDB_FILE:cgame> DESTINATION "${TARGET_BASE_GAME}" OPTIONAL)
|
INSTALL(FILES $<TARGET_PDB_FILE:cgame> DESTINATION bin OPTIONAL)
|
||||||
endif()
|
endif()
|
|
@ -66,16 +66,11 @@ target_compile_features(fgame PUBLIC cxx_nullptr)
|
||||||
target_compile_features(fgame PUBLIC c_variadic_macros)
|
target_compile_features(fgame PUBLIC c_variadic_macros)
|
||||||
target_link_libraries(fgame PUBLIC qcommon)
|
target_link_libraries(fgame PUBLIC qcommon)
|
||||||
|
|
||||||
set_target_properties(fgame PROPERTIES PREFIX "${TARGET_PLATFORM_PREFIX}")
|
set_target_properties(fgame PROPERTIES PREFIX "")
|
||||||
set_target_properties(fgame PROPERTIES OUTPUT_NAME "game${TARGET_BIN_SUFFIX}")
|
set_target_properties(fgame PROPERTIES OUTPUT_NAME "game${TARGET_BIN_SUFFIX}")
|
||||||
set_target_properties(fgame PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${TARGET_BASE_GAME}")
|
|
||||||
|
|
||||||
INSTALL(
|
INSTALL(TARGETS fgame)
|
||||||
TARGETS fgame
|
|
||||||
LIBRARY DESTINATION "${TARGET_BASE_GAME}"
|
|
||||||
RUNTIME DESTINATION "${TARGET_BASE_GAME}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
INSTALL(FILES $<TARGET_PDB_FILE:fgame> DESTINATION "${TARGET_BASE_GAME}" OPTIONAL)
|
INSTALL(FILES $<TARGET_PDB_FILE:fgame> DESTINATION bin OPTIONAL)
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue