aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/UseExecutableResources.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/UseExecutableResources.cmake')
-rw-r--r--cmake/modules/UseExecutableResources.cmake26
1 files changed, 26 insertions, 0 deletions
diff --git a/cmake/modules/UseExecutableResources.cmake b/cmake/modules/UseExecutableResources.cmake
new file mode 100644
index 0000000000..ebc01ae227
--- /dev/null
+++ b/cmake/modules/UseExecutableResources.cmake
@@ -0,0 +1,26 @@
+# Sets RC information on Windows.
+# UNIQUE_RC - Use if the program has its own .rc.in file. Otherwise cli_template.rc.in will be used.
+# EXE_NAME - The lowercase executable base name.
+# PROGRAM_NAME - The program's proper, capitalized name.
+# COPYRIGHT_HOLDERS - Year followed by copyright holder names if different from default.
+function(set_executable_resources EXE_NAME PROGRAM_NAME)
+ if (WIN32)
+ set(options UNIQUE_RC)
+ set(one_value_args COPYRIGHT_HOLDERS)
+ cmake_parse_arguments(EXE_RC "${options}" "${one_value_args}" "" ${ARGN} )
+ if (EXE_RC_COPYRIGHT_INFO)
+ set(COPYRIGHT_INFO "${EXE_RC_COPYRIGHT_INFO}")
+ else()
+ # Use the original Wireshark / TShark .rc copyright.
+ set(COPYRIGHT_INFO "2000 Gerald Combs <gerald@wireshark.org>, Gilbert Ramirez <gram@alumni.rice.edu> and many others")
+ endif()
+ set(${EXE_NAME}_FILES ${${EXE_NAME}_FILES} ${CMAKE_BINARY_DIR}/image/${EXE_NAME}.rc PARENT_SCOPE)
+ if (EXE_RC_UNIQUE)
+ set (_in_file ${EXE_NAME})
+ else()
+ set (_in_file "cli_template")
+ endif()
+ set(ICON_PATH "${CMAKE_SOURCE_DIR}/image/")
+ configure_file( ${CMAKE_SOURCE_DIR}/image/${_in_file}.rc.in ${CMAKE_BINARY_DIR}/image/${EXE_NAME}.rc @ONLY )
+ endif()
+endfunction()