HTML5-DOM
view release on metacpan or search on metacpan
third_party/modest/CMakeLists.txt view on Meta::CPAN
PRIVATE ${PROJECT_PRIVATE_COMPILE_DEFINITIONS}
)
target_compile_options(${__item}
# INTERFACE ${PROJECT_PRIVATE_COMPILE_OPTIONS}
PRIVATE ${PROJECT_PRIVATE_COMPILE_OPTIONS}
)
target_include_directories(${__item}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> # <prefix>/${CMAKE_INSTALL_INCLUDEDIR}
)
target_link_libraries(${__item}
PRIVATE ${CMAKE_THREAD_LIBS_INIT}
)
endforeach()
################
## Install
#########################
if(NOT MSVC)
include(GNUInstallDirs)
endif()
if(NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
set(CMAKE_INSTALL_INCLUDEDIR "include")
endif()
if(NOT DEFINED CMAKE_INSTALL_BINDIR)
set(CMAKE_INSTALL_BINDIR "bin")
endif()
if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
set(CMAKE_INSTALL_LIBDIR "lib")
endif()
set(MODEST_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake" CACHE PATH
"install location of folder with project cmake config files, either relative to CMAKE_INSTALL_PREFIX, or an absolute path")
if(MODEST_INSTALL_HEADERS)
install(DIRECTORY "${PROJECT_DIR_API_HEADER}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" FILES_MATCHING PATTERN "*.h")
endif()
install(TARGETS ${PROJECT_LIBRARY_TARGETS} EXPORT ${PROJECT_NAME}
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
#PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
#INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)
#Use this to change the exported target name to be different than the defined target name
#set_target_properties(modest_shared PROPERTIES EXPORT_NAME Modest_shared)
if(MSVC)
install(FILES "$<TARGET_PDB_FILE:${PROJECT_LIB_SHARED}>" DESTINATION "${CMAKE_INSTALL_BINDIR}" OPTIONAL)
endif()
#this makes an IMPORTED targets definition file which is specific to the build tree, and is not relocatable
#export(EXPORT ${PROJECT_NAME} FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.cmake NAMESPACE JSONUtils::)
#this makes an IMPORTED targets definition file which is relocatable
install(
EXPORT ${PROJECT_NAME}
NAMESPACE ${PROJECT_NAME}::
DESTINATION "${MODEST_INSTALL_CONFIGDIR}"
FILE ${PROJECT_NAME}.cmake
CONFIGURATIONS Debug Release
)
include(CMakePackageConfigHelpers)
configure_package_config_file(
${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
INSTALL_DESTINATION ${MODEST_INSTALL_CONFIGDIR}
PATH_VARS
MODEST_INSTALL_CONFIGDIR
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION_STRING}
COMPATIBILITY AnyNewerVersion
)
#Install the config, configversion and custom find modules
install(FILES
# ${CMAKE_CURRENT_LIST_DIR}/cmake/FindRapidJSON.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${MODEST_INSTALL_CONFIGDIR}
)
#Register package in user's package registry
#export(PACKAGE ${PROJECT_NAME})
#Add an alias so that library can be used inside the build tree, e.g. when testing
add_library(${PROJECT_NAME}::${PROJECT_LIB_SHARED} ALIAS ${PROJECT_LIB_SHARED})
add_library(${PROJECT_NAME}::${PROJECT_LIB_STATIC} ALIAS ${PROJECT_LIB_STATIC})
################
## Build a package
#########################
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast C/C++ HTML 5 Renderer. Using threads.")
set(CPACK_PACKAGE_CONTACT "lex.borisov@gmail.com (Alexander Borisov)")
set(CPACK_PACKAGE_VENDOR "Alexander Borisov")
set(CPACK_PACKAGE_RELEASE 1)
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION_STRING})
if(${CMAKE_SIZEOF_VOID_P} EQUAL 4)
set(CPACK_RPM_PACKAGE_ARCHITECTURE i686)
else()
set(CPACK_RPM_PACKAGE_ARCHITECTURE x86_64)
endif()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}")
( run in 0.700 second using v1.01-cache-2.11-cpan-5511b514fd6 )