Rgb2Hires/Rgb2Hires_PC/CMakeLists.txt

76 lines
2.3 KiB
CMake
Raw Permalink Normal View History

2022-06-15 21:38:13 +00:00
cmake_minimum_required (VERSION 3.19)
2021-02-01 23:35:49 +00:00
cmake_policy(SET CMP0074 NEW)
2022-06-18 12:53:44 +00:00
project (Rgb2Hires)
2018-10-06 22:37:44 +00:00
2021-02-01 23:35:49 +00:00
# flags not compatibles with magick++
if(WIN32)
string (REPLACE "/D_WINDOWS" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string (REPLACE "/DWIN32" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
endif(WIN32)
2018-10-06 22:37:44 +00:00
# The version number.
set (Rgb2Hires_VERSION_MAJOR 1)
set (Rgb2Hires_VERSION_MINOR 0)
2021-02-13 16:59:57 +00:00
set(CMAKE_CXX_STANDARD 17) # required to use <filesystem>
2021-02-15 20:49:54 +00:00
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2021-01-25 23:21:52 +00:00
set(CMAKE_VERBOSE_MAKEFILE ON)
2018-10-06 22:37:44 +00:00
2022-06-15 21:38:13 +00:00
# Conan init
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)
2021-02-01 23:35:49 +00:00
# directories
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin/debug)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin/release)
2018-10-06 22:37:44 +00:00
2022-06-15 21:38:13 +00:00
# Library
2022-06-16 21:39:24 +00:00
add_library(${PROJECT_NAME}
2021-01-25 23:21:52 +00:00
src/HiRes.cpp
src/HiRes.h
src/ImageQuantized.cpp
src/ImageQuantized.h
2018-10-06 22:37:44 +00:00
)
2022-06-15 21:38:13 +00:00
## dependencies
conan_set_find_library_paths(${PROJECT_NAME})
conan_target_link_libraries(${PROJECT_NAME})
2021-01-25 23:21:52 +00:00
# Application Picture
2022-06-16 21:08:58 +00:00
add_executable( Picture src/App_Picture.cpp
src/Display.h
src/Display.cpp
)
2021-02-14 23:29:11 +00:00
if(NOT WIN32)
set_target_properties(Picture PROPERTIES COMPILE_FLAGS -pthread LINK_FLAGS -pthread)
endif()
2022-06-15 21:38:13 +00:00
## dependencies
2021-02-15 20:49:54 +00:00
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "9")
target_link_libraries(Picture stdc++fs) # filesystem lib not included in stdc++ for gcc < 9
endif()
2022-06-15 21:38:13 +00:00
conan_set_find_library_paths(Picture)
conan_target_link_libraries(Picture)
target_link_libraries(Picture ${PROJECT_NAME})
## output
set_property(TARGET Picture PROPERTY
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG})
2021-02-01 23:35:49 +00:00
2022-06-16 21:08:58 +00:00
2022-06-17 23:01:47 +00:00
# Application Tile
add_executable(Tile src/App_Tile.cpp)
## custom definitions
target_compile_definitions(Tile PRIVATE cimg_use_png)
## dependencies
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND "${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "9")
target_link_libraries(Tile stdc++fs) # filesystem lib not included in stdc++ for gcc < 9
endif()
conan_set_find_library_paths(Tile)
conan_target_link_libraries(Tile)
target_link_libraries(Tile ${PROJECT_NAME})
## output
set_property(TARGET Tile PROPERTY
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG}
)
2022-06-16 21:08:58 +00:00