foxygit / doom Log in
commit 59a66543a1013dcdd28fb893a921cd232165af7f
Author:     Alex Mayfield <alexmax2742@gmail.com>
AuthorDate: Tue May 8 20:43:07 2018 -0400
Commit:     Alex Mayfield <alexmax2742@gmail.com>
CommitDate: Tue May 8 20:43:07 2018 -0400

    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(-)

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()