Update Cmake to fix config file

This commit is contained in:
2021-10-02 22:29:51 +01:00
parent 7818dbc9e3
commit a6e1acd406
6 changed files with 50 additions and 20 deletions
+4 -1
View File
@@ -266,7 +266,10 @@ ADD_FEATURE_INFO(SSE USE_SSE "SSE instructions support")
ADD_FEATURE_INFO(WErrors USE_WERROR "Warnings as errors")
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(modules)
IF(${BUILD_TOOLS} OR ${BUILD_APP})
ADD_SUBDIRECTORY(modules)
ENDIF()
IF(${BUILD_TOOLS})
ADD_SUBDIRECTORY(tools)
+2 -2
View File
@@ -3,8 +3,8 @@
#
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/external ${CMAKE_CURRENT_SOURCE_DIR}/dialog ${CMAKE_CURRENT_SOURCE_DIR}/docks
${CMAKE_CURRENT_SOURCE_DIR}/widgets
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/external ${CMAKE_CURRENT_SOURCE_DIR}/dialog
${CMAKE_CURRENT_SOURCE_DIR}/docks ${CMAKE_CURRENT_SOURCE_DIR}/widgets
)
OPTION(USE_QTDBUS "Build with QtDBus" ON)
+33 -9
View File
@@ -3,8 +3,10 @@
#
INCLUDE(GNUInstallDirs)
SET(CMAKE_EXPORT_PACKAGE_REGISTRY ON)
EXPORT(PACKAGE MyLib)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
SET(Calyp_Lib_Frame_SRCS CalypPixel.cpp PixelFormats.h PixelFormats.cpp CalypFrame.h CalypFrame.cpp CalypPlane.h)
@@ -24,7 +26,6 @@ SET(Calyp_Lib_Modules_SRCS CalypOptions.h CalypOptions.cpp)
SET(Calyp_Lib_SRCS CalypLib.h CalypDefs.h ${Calyp_Lib_Frame_SRCS} ${Calyp_Lib_Stream_SRCS} ${Calyp_Lib_OptionParser_SRCS} ${Calyp_Lib_Modules_SRCS})
LIST(APPEND CMAKE_CFG_LINKER_LIBSS ${PROJECT_LIBRARY})
LIST(APPEND CMAKE_CFG_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
IF(USE_FFMPEG)
@@ -33,6 +34,10 @@ IF(USE_FFMPEG)
LIST(APPEND CMAKE_CFG_LINKER_LIBSS ${FFMPEG_LIBRARIES})
LIST(APPEND CMAKE_CFG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${FFMPEG_INCLUDE_DIRS})
LIST(APPEND CALYP_LIB_LINKER_DEPENDENCIES ${FFMPEG_LIBRARIES})
ENDIF()
IF(USE_OPENCV)
@@ -43,13 +48,28 @@ IF(USE_OPENCV)
LIST(APPEND CMAKE_CFG_LINKER_LIBSS ${OpenCV_LIBRARIES})
LIST(APPEND CMAKE_CFG_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
LIST(APPEND CMAKE_CFG_LINKER_LIBSS ${PROJECT_LIBRARY})
LIST(APPEND CMAKE_CFG_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
LIST(APPEND CALYP_LIB_LINKER_DEPENDENCIES ${OpenCV_LIBRARIES})
ENDIF()
SET(Calyp_Lib_HEADERS CalypDefs.h CalypFrame.h CalypStream.h CalypOptions.h CalypModuleIf.h CalypOpenCVModuleIf.h)
CONFIGURE_FILE(CalypConfig.cmake.in CalypConfig.cmake @ONLY)
INCLUDE(CMakePackageConfigHelpers)
INCLUDE_DIRECTORIES(${FFMPEG_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
CONFIGURE_PACKAGE_CONFIG_FILE(CalypConfig.cmake.in CalypConfig.cmake INSTALL_DESTINATION share/calyp)
WRITE_BASIC_PACKAGE_VERSION_FILE(
CalypConfigVersion.cmake
VERSION ${CALYP_VERSION}
COMPATIBILITY SameMajorVersion
)
# CONFIGURE_FILE(CalypConfig.cmake.in CalypConfig.cmake @ONLY)
IF(USE_STATIC)
ADD_LIBRARY(${PROJECT_LIBRARY} STATIC ${Calyp_Lib_SRCS})
@@ -57,21 +77,25 @@ ELSE()
ADD_LIBRARY(${PROJECT_LIBRARY} SHARED ${Calyp_Lib_SRCS})
ENDIF()
TARGET_LINK_LIBRARIES(${PROJECT_LIBRARY} ${FFMPEG_LIBRARIES} ${OpenCV_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(${PROJECT_LIBRARY} PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
TARGET_LINK_LIBRARIES(${PROJECT_LIBRARY} ${CALYP_LIB_LINKER_DEPENDENCIES})
# TARGET_INCLUDE_DIRECTORIES(${PROJECT_LIBRARY} PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
SET_TARGET_PROPERTIES(${PROJECT_LIBRARY} PROPERTIES VERSION ${CALYP_VERSION} SOVERSION ${CALYP_VERSION_MAJOR})
EXPORT(TARGETS ${PROJECT_LIBRARY} FILE ${CMAKE_CURRENT_BINARY_DIR}/CalypTargets.cmake)
EXPORT(PACKAGE ${PROJECT_LIBRARY})
IF(NOT USE_STATIC)
INSTALL(
TARGETS ${PROJECT_LIBRARY}
EXPORT "${PROJECT_LIBRARY}Targets"
RUNTIME DESTINATION bin
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
INSTALL(FILES ${Calyp_Lib_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CalypConfig.cmake DESTINATION share/calyp)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/CalypConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/CalypConfigVersion.cmake DESTINATION share/calyp)
INSTALL(EXPORT CalypTargets DESTINATION share/calyp)
ENDIF()
IF(BUILD_TESTS)
+9 -6
View File
@@ -12,7 +12,7 @@
#
#
# This file will define the following variables:
# - CALYP_LINKER_LIBS : The list of all imported targets for OpenCV modules.
# - CALYP_LIBRARIES : The list of all imported targets for OpenCV modules.
# - CALYP_CXX_FLAGS
# - CALYP_INCLUDE_DIRS : The Calyp include directories.
# - CALYP_VERSION : The version of this Calyp build: "@CALYP_VERSION@"
@@ -22,15 +22,18 @@
#
# ===================================================================================================================
@PACKAGE_INIT@
# ======================================================
# Variables:
# ======================================================
SET(CALYP_VERSION @CALYP_VERSION@)
SET(CALYP_VERSION_MAJOR @CALYP_VERSION_MAJOR@)
SET(CALYP_VERSION_MINOR @CALYP_VERSION_MINOR@)
SET(CALYP_VERSION_PATCH @CALYP_VERSION_PATCH@)
FIND_LIBRARY(CALYP_LIBRARY NAMES Calyp HINTS @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ )
SET( CALYP_CXX_FLAGS "" )
SET( CALYP_INCLUDE_DIRS "@CMAKE_CFG_INCLUDE_DIRS@" )
SET( CALYP_LINKER_LIBS "@CMAKE_CFG_LINKER_LIBSS@" )
SET( CALYP_LIBRARIES "${CALYP_LIBRARY}" )
LIST( APPEND CALYP_LIBRARIES "@CALYP_LIB_LINKER_DEPENDENCIES@")
set_and_check( CALYP_INCLUDE_DIRS "@CMAKE_CFG_INCLUDE_DIRS@" )
CHECK_REQUIRED_COMPONENTS(Calyp)
+1 -1
View File
@@ -6,7 +6,7 @@ SET(CALYP_EXTRA_MODULES_DIR
CACHE PATH "Location of extra Calyp modules"
)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR})
SET(Calyp_Mod_SRCS CalypModulesFactory.cpp)
+1 -1
View File
@@ -2,7 +2,7 @@
# CMakeLists for calyp tools component
#
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/..)
SET(Calyp_Tools_SRCS main.cpp CalypTools.cpp CalypToolsCmdParser.cpp)