Skip to content

Commit

Permalink
CMake: make separate resource files for cli and shared library
Browse files Browse the repository at this point in the history
Add manifest to CLI
  • Loading branch information
DJATOM committed Jan 18, 2021
1 parent b822c90 commit 5b977e9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
12 changes: 10 additions & 2 deletions source/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,15 @@ if(CMAKE_RC_COMPILER)
list(GET VERSION_LIST 1 X265_VERSION_MINOR)
set(X265_BRANCH_ID 0) # TODO: 0 - stable, 1 - default or other
set(X265_RC_FILE "${CMAKE_CURRENT_BINARY_DIR}/x265.rc")
set(X265LIB_RC_FILE "${CMAKE_CURRENT_BINARY_DIR}/libx265.rc")
set(X265_RC_MANIFEST "${CMAKE_CURRENT_BINARY_DIR}/x265res.manifest")
set(X265_FNAME "265.exe")
set(CLI_MANIFEST "\n1 RT_MANIFEST \"x265res.manifest\"\n")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/x265.rc.in" "${X265_RC_FILE}" @ONLY)
set(X265_FNAME "libx265.dll")
set(CLI_MANIFEST "")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/x265.rc.in" "${X265LIB_RC_FILE}" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/x265res.manifest.in" "${X265_RC_MANIFEST}" @ONLY)
endif()

if(NOT (MSVC_IDE OR XCODE))
Expand All @@ -652,7 +660,7 @@ option(ENABLE_SHARED "Build shared library" ON)
if(ENABLE_SHARED)
if(ENABLE_HDR10_PLUS)
add_library(x265-shared SHARED "${PROJECT_BINARY_DIR}/x265.def" ${ASM_OBJS}
${X265_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common> $<TARGET_OBJECTS:dynamicHDR10>)
${X265LIB_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common> $<TARGET_OBJECTS:dynamicHDR10>)
add_library(hdr10plus-shared SHARED $<TARGET_OBJECTS:dynamicHDR10>)

if(MSVC)
Expand All @@ -662,7 +670,7 @@ if(ENABLE_SHARED)
endif()
else()
add_library(x265-shared SHARED "${PROJECT_BINARY_DIR}/x265.def" ${ASM_OBJS}
${X265_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common>)
${X265LIB_RC_FILE} $<TARGET_OBJECTS:encoder> $<TARGET_OBJECTS:common>)
endif()
if(EXTRA_LIB)
target_link_libraries(x265-shared ${EXTRA_LIB})
Expand Down
4 changes: 2 additions & 2 deletions source/x265.rc.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include <winresrc.h>

@CLI_MANIFEST@
VS_VERSION_INFO VERSIONINFO
FILEVERSION @X265_VERSION_MAJOR@,@X265_VERSION_MINOR@,@X265_BRANCH_ID@,@X265_TAG_DISTANCE@
PRODUCTVERSION @X265_VERSION_MAJOR@,@X265_VERSION_MINOR@,@X265_BRANCH_ID@,@X265_TAG_DISTANCE@
Expand All @@ -20,7 +20,7 @@ VS_VERSION_INFO VERSIONINFO
VALUE "FileVersion", "@X265_VERSION@"
VALUE "InternalName", "x265"
VALUE "LegalCopyright", "Multicoreware: GPLv2 or commercial"
VALUE "OriginalFilename", "libx265.dll"
VALUE "OriginalFilename", "@X265_FNAME@"
VALUE "ProductName", "x265"
VALUE "ProductVersion", "@X265_VERSION@"
END
Expand Down
10 changes: 10 additions & 0 deletions source/x265res.manifest.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32" name="MCW.x265-aMod" version="@X265_VERSION_MAJOR@.@X265_VERSION_MINOR@.@X265_BRANCH_ID@.@X265_TAG_DISTANCE@"/>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
<activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
</windowsSettings>
</application>
</assembly>

0 comments on commit 5b977e9

Please sign in to comment.