File: CMakeLists.txt

package info (click to toggle)
tinyexr 1.0.10%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 4,184 kB
  • sloc: cpp: 12,561; makefile: 110; sh: 18; ansic: 15
file content (53 lines) | stat: -rw-r--r-- 1,710 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
cmake_minimum_required(VERSION 3.14)
project(tinyexr VERSION ${TINYEXR_VERSION} LANGUAGES C CXX)

include(GNUInstallDirs)
include(CMakePackageConfigHelpers)
include(CTest)

find_package(ZLIB REQUIRED)

add_library(tinyexr SHARED tinyexr.cc)
target_include_directories(tinyexr PUBLIC
	$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
	$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
target_compile_features(tinyexr PRIVATE cxx_auto_type)
target_link_libraries(tinyexr PRIVATE ZLIB::ZLIB)
set_target_properties(tinyexr PROPERTIES
        VERSION ${PROJECT_VERSION} SOVERSION ${TINYEXR_SOVERSION}
	CXX_VISIBILITY_PRESET hidden
	VISIBILITY_INLINES_HIDDEN ON
)

add_library(tinyexr::tinyexr ALIAS tinyexr)

configure_package_config_file(
	tinyexrConfig.cmake.in
	${CMAKE_CURRENT_BINARY_DIR}/tinyexrConfig.cmake
	INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tinyexr
	NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO
)
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/tinyexrConfigVersion.cmake
	COMPATIBILITY SameMinorVersion
	ARCH_INDEPENDENT
)

install(FILES tinyexr.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES
	${CMAKE_CURRENT_BINARY_DIR}/tinyexrConfig.cmake
	${CMAKE_CURRENT_BINARY_DIR}/tinyexrConfigVersion.cmake
	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tinyexr
)
install(TARGETS tinyexr EXPORT tinyexrTargets DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT tinyexrTargets
	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/tinyexr
	NAMESPACE tinyexr::
)

if(BUILD_TESTING)
	add_executable(test_tinyexr test_tinyexr.cc)
	target_link_libraries(test_tinyexr tinyexr::tinyexr)
	add_test(NAME test_tinyexr COMMAND test_tinyexr ${CMAKE_CURRENT_SOURCE_DIR}/asakusa.exr)
endif()