build: allow overriding installation directories

More sensible defaults and allow for overriding. Also make PDB installation
optional on Windows if RelWithDebInfo isn't the build type being used.

CMAKE_INSTALL_PREFIX defaults to GStreamer install location on Windows and
/usr/lib on other platforms.

PLUGIN_INSTALL_DIR defaults to CMAKE_INSTALL_PREFIX/gstreamer-1.0

LIBRARY_INSTALL_DIR defaults to CMAKE_INSTALL_PREFIX/

PDB_INSTALL_DIR defaults to CMAKE_INSTALL_PREFIX/
This commit is contained in:
Joshua M. Doe 2020-04-15 09:11:40 -04:00
parent 2a8fc2f84d
commit 26e05b7058
25 changed files with 80 additions and 108 deletions

View File

@ -121,14 +121,27 @@ include_directories(
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
if (WIN32) if (WIN32)
file(TO_CMAKE_PATH "${GSTREAMER_INCLUDE_DIR}/../.." _PREFIX) get_filename_component(_PREFIX "${GSTREAMER_PLUGIN_DIR}/../" REALPATH)
else () else ()
set(_PREFIX "/usr") set(_PREFIX "/usr/lib")
endif () endif ()
set(CMAKE_INSTALL_PREFIX "${_PREFIX}" set(CMAKE_INSTALL_PREFIX "${_PREFIX}"
CACHE PATH "Common prefix for all installed files (e.g., plugins will be installed under CMAKE_INSTALL_PREFIX/lib/gstreamer-1.0)" FORCE) CACHE PATH "Common prefix for all installed files (e.g., plugins will be installed under CMAKE_INSTALL_PREFIX/gstreamer-1.0)" FORCE)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
if (NOT LIBRARY_INSTALL_DIR)
set(LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/"
CACHE PATH "Location to install libraries (e.g., libgstklv-1.0-0.so/dll)")
endif ()
if (NOT PLUGIN_INSTALL_DIR)
set(PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/gstreamer-1.0/"
CACHE PATH "Location to install plugins (e.g., libgstpylon.so/dll)")
endif()
if (WIN32 AND NOT PDB_INSTALL_DIR)
set(PDB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/gstreamer-1.0/"
CACHE PATH "Location to install PDB debug files (e.g., libgstpylon.pdb)")
endif()
add_subdirectory(gst-libs) add_subdirectory(gst-libs)
# Build the plugins # Build the plugins

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${GIGESIM_LIBRARIES}) ${GIGESIM_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -24,9 +24,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif() endif()
install (TARGETS ${libname} install (TARGETS ${libname} LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR})
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -23,8 +23,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -27,8 +27,6 @@ target_link_libraries (${libname}
gstklv-1.0-0) gstklv-1.0-0)
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install (TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -26,8 +26,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -23,8 +23,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -23,8 +23,6 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY}) ${GSTREAMER_VIDEO_LIBRARY})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install (TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -25,7 +25,7 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY} ${GSTREAMER_VIDEO_LIBRARY}
${APTINA_LIBRARIES}) ${APTINA_LIBRARIES})
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") if (WIN32)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb) install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install(TARGETS ${libname} endif ()
LIBRARY DESTINATION lib/gstreamer-1.0) install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})

View File

@ -21,7 +21,7 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY} ${GSTREAMER_VIDEO_LIBRARY}
${BITFLOW_LIBRARIES}) ${BITFLOW_LIBRARIES})
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") if (WIN32)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb) install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install(TARGETS ${libname} endif ()
LIBRARY DESTINATION lib/gstreamer-1.0) install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})

View File

@ -24,7 +24,7 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY} ${GSTREAMER_VIDEO_LIBRARY}
${EDT_LIBRARIES}) ${EDT_LIBRARIES})
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") if (WIN32)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb) install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install(TARGETS ${libname} endif ()
LIBRARY DESTINATION lib/gstreamer-1.0) install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})

View File

@ -21,7 +21,7 @@ target_link_libraries (${libname}
${GSTREAMER_VIDEO_LIBRARY} ${GSTREAMER_VIDEO_LIBRARY}
${EURESYS_LIBRARIES}) ${EURESYS_LIBRARIES})
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") if (WIN32)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb) install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (TARGETS ${libname} endif ()
LIBRARY DESTINATION lib/gstreamer-1.0) install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${IDSUEYE_LIBRARIES}) ${IDSUEYE_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${IMPERX_FLEX_LIBRARIES}) ${IMPERX_FLEX_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${IMPERX_SDI_LIBRARIES}) ${IMPERX_SDI_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -27,8 +27,6 @@ target_link_libraries (${libname}
) )
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${MATROX_LIBRARIES}) ${MATROX_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${NIIMAQ_LIBRARIES}) ${NIIMAQ_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -27,8 +27,6 @@ target_link_libraries (${libname}
${NIIMAQDX_LIBRARIES}) ${NIIMAQDX_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${PHOENIX_LIBRARIES}) ${PHOENIX_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${XCLIB_LIBRARIES}) ${XCLIB_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -41,8 +41,6 @@ target_link_libraries (${libname}
gstklv-1.0-0) gstklv-1.0-0)
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -26,8 +26,6 @@ target_link_libraries (${libname}
) )
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)

View File

@ -22,8 +22,6 @@ target_link_libraries (${libname}
${SAPERA_LIBRARIES}) ${SAPERA_LIBRARIES})
if (WIN32) if (WIN32)
set (pdbfile "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/lib${libname}.pdb") install (FILES $<TARGET_PDB_FILE:${libname}> DESTINATION ${PDB_INSTALL_DIR} COMPONENT pdb OPTIONAL)
install (FILES ${pdbfile} DESTINATION lib/gstreamer-1.0 COMPONENT pdb)
endif () endif ()
install(TARGETS ${libname} install(TARGETS ${libname} LIBRARY DESTINATION ${PLUGIN_INSTALL_DIR})
LIBRARY DESTINATION lib/gstreamer-1.0)