From 59a66543a1013dcdd28fb893a921cd232165af7f Mon Sep 17 00:00:00 2001 From: Alex Mayfield Date: Tue, 8 May 2018 20:43:07 -0400 Subject: [PATCH] Get resource file working Now, Chocolate Doom has an icon. Neat. --- CMakeLists.txt | 13 ++++++++++++- config.cmake.h => config.h.cin | 0 src/CMakeLists.txt | 11 ++++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) rename config.cmake.h => config.h.cin (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1157044..14099ef6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,12 +3,19 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") cmake_minimum_required(VERSION 3.7.2) project("Chocolate Doom" VERSION 3.0.0 LANGUAGES C) +# Autotools variables +set(top_srcdir ${CMAKE_CURRENT_SOURCE_DIR}) + # AC_INIT variables set(PACKAGE_NAME "${PROJECT_NAME}") set(PACKAGE_TARNAME "chocolate-doom") +set(PACKAGE_VERSION "${PROJECT_VERSION}") set(PACKAGE_STRING "${PROJECT_NAME} ${PROJECT_VERSION}") +set(PACKAGE_BUGREPORT "chocolate-doom-dev-list@chocolate-doom.org") string(REGEX REPLACE " Doom$" "" PACKAGE_SHORTNAME "${PACKAGE_NAME}") +set(PACKAGE_COPYRIGHT "Copyright (C) 1993-2017") +set(PACKAGE_LICENSE "GNU General Public License, version 2") find_package(SDL2 2.0.1) find_package(SDL2_mixer 2.0.0) @@ -18,13 +25,17 @@ include(CheckFunctionExists) check_function_exists(strcasecmp HAVE_DECL_STRCASECMP) check_function_exists(strncasecmp HAVE_DECL_STRNCASECMP) +set(WINDOWS_RC_VERSION "${PROJECT_VERSION_MAJOR}, ${PROJECT_VERSION_MINOR}, ${PROJECT_VERSION_PATCH}, 0") + # Without a hyphen. This is used for the bash-completion scripts. string(TOLOWER "${PACKAGE_SHORTNAME}" PROGRAM_SPREFIX) # With a hyphen, used almost everywhere else. set(PROGRAM_PREFIX "${PROGRAM_SPREFIX}-") -configure_file(config.cmake.h config.h) +configure_file(config.h.cin config.h) + +configure_file(src/resource.rc.in src/resource.rc) foreach(SUBDIR textscreen midiproc opl pcsound src) add_subdirectory("${SUBDIR}") diff --git a/config.cmake.h b/config.h.cin similarity index 100% rename from config.cmake.h rename to config.h.cin diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 83fe0eba..ac7530a0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -107,8 +107,17 @@ set(SOURCE_FILES_WITH_DEH ${SOURCE_FILES} ${DEHACKED_SOURCE_FILES}) set(EXTRA_LIBS textscreen pcsound opl SDL2::SDL2main SDL2::SDL2 SDL2::mixer SDL2::net) -add_executable("${PROGRAM_PREFIX}doom" ${SOURCE_FILES_WITH_DEH}) +if(WIN32) + add_executable("${PROGRAM_PREFIX}doom" ${SOURCE_FILES_WITH_DEH} "${CMAKE_CURRENT_BINARY_DIR}/resource.rc") +else() + add_executable("${PROGRAM_PREFIX}doom" ${SOURCE_FILES_WITH_DEH}) +endif() target_include_directories("${PROGRAM_PREFIX}doom" PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../") target_link_libraries("${PROGRAM_PREFIX}doom" doom ${EXTRA_LIBS}) + +if(MSVC) + set_target_properties("${PROGRAM_PREFIX}doom" PROPERTIES + LINK_FLAGS "/MANIFEST:NO") +endif()