foxygit / doom Log in
commit 2eb722d3a4053eadef3da207c45e644adf17baa8
Author:     Alex Mayfield <alexmax2742@gmail.com>
AuthorDate: Sat May 26 17:12:02 2018 -0400
Commit:     Alex Mayfield <alexmax2742@gmail.com>
CommitDate: Sat May 26 17:12:02 2018 -0400

    Link against libpng and libm

    Tested against Ubuntu 18.04.
---
 CMakeLists.txt            | 8 ++++++++
 config.h.cin              | 1 +
 src/CMakeLists.txt        | 3 +++
 textscreen/CMakeLists.txt | 2 +-
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index fa1f6c32..7f569d61 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,14 @@ find_package(SDL2 2.0.1)
 find_package(SDL2_mixer 2.0.0)
 find_package(SDL2_net 2.0.0)

+# Check for libpng.
+find_package(PNG)
+if(PNG_FOUND)
+    set(HAVE_LIBPNG TRUE)
+endif()
+
+find_package(m)
+
 include(CheckFunctionExists)
 check_function_exists(strcasecmp HAVE_DECL_STRCASECMP)
 check_function_exists(strncasecmp HAVE_DECL_STRNCASECMP)
diff --git a/config.h.cin b/config.h.cin
index f2cbf21a..4a3b8a15 100644
--- a/config.h.cin
+++ b/config.h.cin
@@ -4,5 +4,6 @@
 #cmakedefine PACKAGE_STRING "@PACKAGE_STRING@"
 #cmakedefine PROGRAM_PREFIX "@PROGRAM_PREFIX@"

+#cmakedefine01 HAVE_LIBPNG
 #cmakedefine01 HAVE_DECL_STRCASECMP
 #cmakedefine01 HAVE_DECL_STRNCASECMP
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 452d8321..ca9fc502 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -106,6 +106,9 @@ set(SOURCE_FILES ${COMMON_SOURCE_FILES} ${GAME_SOURCE_FILES})
 set(SOURCE_FILES_WITH_DEH ${SOURCE_FILES} ${DEHACKED_SOURCE_FILES})

 set(EXTRA_LIBS textscreen pcsound opl SDL2::SDL2main SDL2::SDL2 SDL2::mixer SDL2::net)
+if(PNG_FOUND)
+    list(APPEND EXTRA_LIBS PNG::PNG)
+endif()

 if(WIN32)
     add_executable("${PROGRAM_PREFIX}doom" WIN32 ${SOURCE_FILES_WITH_DEH} "${CMAKE_CURRENT_BINARY_DIR}/resource.rc")
diff --git a/textscreen/CMakeLists.txt b/textscreen/CMakeLists.txt
index bf9fa1fb..2a1802a6 100644
--- a/textscreen/CMakeLists.txt
+++ b/textscreen/CMakeLists.txt
@@ -25,4 +25,4 @@ add_library(textscreen
 target_include_directories(textscreen
                            INTERFACE "."
                            PRIVATE "../src/")
-target_link_libraries(textscreen SDL2::SDL2)
+target_link_libraries(textscreen m SDL2::SDL2)