forked from AcademySoftwareFoundation/OpenTimelineIO
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
93 lines (78 loc) · 2.7 KB
/
CMakeLists.txt
File metadata and controls
93 lines (78 loc) · 2.7 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#------------------------------------------------------------------------------
# opentime/CMakeLists.txt
set(OPENTIME_HEADER_FILES
errorStatus.h
export.h
rationalTime.h
stringPrintf.h
timeRange.h
timeTransform.h
version.h)
add_library(opentime ${OTIO_SHARED_OR_STATIC_LIB}
errorStatus.cpp
rationalTime.cpp
${OPENTIME_HEADER_FILES})
add_library(OTIO::opentime ALIAS opentime)
target_include_directories(opentime PRIVATE "${PROJECT_SOURCE_DIR}/src")
set_target_properties(opentime PROPERTIES
DEBUG_POSTFIX "${OTIO_DEBUG_POSTFIX}"
LIBRARY_OUTPUT_NAME "opentime"
POSITION_INDEPENDENT_CODE TRUE)
if(OTIO_SHARED_LIBS)
set_target_properties(opentime PROPERTIES
SOVERSION ${OTIO_SOVERSION}
VERSION ${OTIO_VERSION})
target_compile_definitions(
opentime
PUBLIC
OPENTIME_EXPORTS)
else()
target_compile_definitions(
opentime
PUBLIC
OPENTIME_STATIC)
endif()
if(APPLE)
set_target_properties(opentime PROPERTIES
INSTALL_NAME_DIR "@loader_path"
MACOSX_RPATH ON)
endif()
target_compile_options(opentime PRIVATE
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>:
-Wall>
$<$<CXX_COMPILER_ID:MSVC>: /W4>
$<$<CXX_COMPILER_ID:MSVC>: /EHsc>
)
if(OTIO_CXX_INSTALL)
install(FILES ${OPENTIME_HEADER_FILES}
DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/include/opentime")
install(TARGETS opentime
EXPORT OpenTimeTargets
INCLUDES DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/include"
ARCHIVE DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}"
LIBRARY DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}"
RUNTIME DESTINATION "${OTIO_RESOLVED_CXX_DYLIB_INSTALL_DIR}")
install(EXPORT OpenTimeTargets
DESTINATION "${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime"
NAMESPACE OTIO:: )
include(CMakePackageConfigHelpers)
configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/OpenTimeConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfig.cmake
INSTALL_DESTINATION
${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime
NO_SET_AND_CHECK_MACRO
NO_CHECK_REQUIRED_COMPONENTS_MACRO
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfigVersion.cmake
COMPATIBILITY AnyNewerVersion
)
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/OpenTimeConfigVersion.cmake
DESTINATION
${OTIO_RESOLVED_CXX_INSTALL_DIR}/share/opentime
)
endif()