You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
# Find required packages |
|
FIND_PACKAGE(PNG QUIET) |
|
if(PNG_FOUND) |
|
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIRS}) |
|
ADD_DEFINITIONS(${PNG_DEFINITIONS}) |
|
SET(_USE_PNG TRUE CACHE INTERNAL "") |
|
else() |
|
SET(PNG_LIBRARIES "") |
|
endif() |
|
FIND_PACKAGE(JPEG QUIET) |
|
if(JPEG_FOUND) |
|
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) |
|
ADD_DEFINITIONS(${JPEG_DEFINITIONS}) |
|
SET(_USE_JPG TRUE CACHE INTERNAL "") |
|
else() |
|
SET(JPEG_LIBRARIES "") |
|
endif() |
|
FIND_PACKAGE(TIFF QUIET) |
|
if(TIFF_FOUND) |
|
INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) |
|
ADD_DEFINITIONS(${TIFF_DEFINITIONS}) |
|
SET(_USE_TIFF TRUE CACHE INTERNAL "") |
|
else() |
|
SET(TIFF_LIBRARIES "") |
|
endif() |
|
|
|
# List sources files |
|
FILE(GLOB LIBRARY_FILES_C "*.cpp") |
|
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl") |
|
|
|
cxx_library_with_type(IO "Libs" "" "${cxx_default}" |
|
${LIBRARY_FILES_C} ${LIBRARY_FILES_H} |
|
) |
|
|
|
# Manually set Common.h as the precompiled header |
|
IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.16.0) |
|
TARGET_PRECOMPILE_HEADERS(IO PRIVATE "Common.h") |
|
endif() |
|
|
|
# Link its dependencies |
|
TARGET_LINK_LIBRARIES(IO Common ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${EXIV2_LIBS}) |
|
|
|
# Install |
|
SET_TARGET_PROPERTIES(IO PROPERTIES |
|
PUBLIC_HEADER "${LIBRARY_FILES_H}") |
|
INSTALL(TARGETS IO |
|
EXPORT OpenMVSTargets |
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" |
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" |
|
RUNTIME DESTINATION "${INSTALL_BIN_DIR}" |
|
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/IO")
|
|
|