From 5f01ab6f788f83188c790c3beb5273830cc4262b Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Tue, 16 Feb 2021 11:43:19 +1000 Subject: [PATCH 1/2] cmake build, including install target --- CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..35e1dbab --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 2.8) +project(lodepng) + +find_package(SDL) + +set(CMAKE_CXX_FLAGS "-W -Wall -Wextra -ansi -pedantic") +set(CMAKE_CXX_FLAGS_DEBUG "-g") +set(CMAKE_CXX_FLAGS_RELEASE "-O3") + +include_directories(.) +add_library(lodepng STATIC lodepng.cpp) +install(TARGETS lodepng) + +add_executable(unittest lodepng_util.cpp lodepng_unittest.cpp) +target_link_libraries(unittest lodepng) + +add_executable(pngdetail lodepng_util.cpp pngdetail.cpp) +target_link_libraries(pngdetail lodepng) +install(TARGETS pngdetail) + +if (SDL_FOUND) + add_executable(benchmark lodepng_benchmark.cpp) + target_include_directories(benchmark PRIVATE ${SDL_INCLUDE_DIRS}) + target_link_libraries(benchmark lodepng ${SDL_LIBRARY}) + + add_executable(showpng examples/example_sdl.cpp) + target_include_directories(benchmark PRIVATE ${SDL_INCLUDE_DIRS}) + target_link_libraries(showpng lodepng ${SDL_LIBRARY}) + install(TARGETS showpng) +endif(SDL_FOUND) From 6aef844157762eb9eefb2085fb02e30aca8c1fc4 Mon Sep 17 00:00:00 2001 From: Nigel Stewart Date: Tue, 16 Feb 2021 12:59:00 +1000 Subject: [PATCH 2/2] cmake install lodepng.h too --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 35e1dbab..c789249b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,8 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3") include_directories(.) add_library(lodepng STATIC lodepng.cpp) -install(TARGETS lodepng) +set_target_properties(lodepng PROPERTIES PUBLIC_HEADER lodepng.h) +install(TARGETS lodepng PUBLIC_HEADER) add_executable(unittest lodepng_util.cpp lodepng_unittest.cpp) target_link_libraries(unittest lodepng)