Skip to content

Commit

Permalink
[cmake] Export framework location on OS X and library location on oth…
Browse files Browse the repository at this point in the history
…er platforms
  • Loading branch information
ntadej committed Aug 9, 2015
1 parent 1ccbdbe commit 4fe45ae
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 24 deletions.
11 changes: 0 additions & 11 deletions config/CompilerConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,6 @@ SET(CMAKE_AUTORCC ON)
# Verbose makefile
SET(CMAKE_VERBOSE_MAKEFILE ON)

# Set MingW bin dir, if MingW present
IF(MINGW)
STRING(REGEX REPLACE "([^ ]+)[/\\].*" "\\1" MINGW_BIN_DIR_TMP "${CMAKE_CXX_COMPILER}")
STRING(REGEX REPLACE "\\\\" "/" MINGW_BIN_DIR "${MINGW_BIN_DIR_TMP}") # Replace back slashes to slashes
ENDIF()

# Detect debug build
IF(CMAKE_BUILD_TYPE MATCHES Debug)
SET(LE d) # For Qt
Expand Down Expand Up @@ -72,11 +66,6 @@ IF(MSVC)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NOLOGO /DYNAMICBASE /NXCOMPAT")
ENDIF()

IF(MINGW)
#Select gcc exception handling method
set(GCC_EH_METHOD "dw2" CACHE STRING "Gcc exception handling method(dw2/sjlj)")
ENDIF()

# Support OS X 10.6 or later (64-bit only)
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_MACOSX_RPATH ON)
Expand Down
7 changes: 7 additions & 0 deletions config/package/VLCQtCoreConfig.cmake
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
INCLUDE("${CMAKE_CURRENT_LIST_DIR}/VLCQtCoreTargets.cmake")

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtCoreFramework ${CMAKE_CURRENT_LIST_DIR}/../../VLCQtCore.framework)
ELSE()
GET_TARGET_PROPERTY(VLCQtCoreLocation VLCQt::Core INTERFACE_INCLUDE_DIRECTORIES)
STRING(REGEX REPLACE "/include" "" VLCQtCoreLocation "${VLCQtCoreLocation}")
ENDIF()
7 changes: 7 additions & 0 deletions config/package/VLCQtQmlConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,10 @@ INCLUDE("${CMAKE_CURRENT_LIST_DIR}/VLCQtQmlTargets.cmake")
SET_TARGET_PROPERTIES(VLCQt::Qml PROPERTIES
INTERFACE_LINK_LIBRARIES VLCQt::Core
)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtQmlFramework ${CMAKE_CURRENT_LIST_DIR}/../../VLCQtQml.framework)
ELSE()
GET_TARGET_PROPERTY(VLCQtQmlLocation VLCQt::Qml INTERFACE_INCLUDE_DIRECTORIES)
STRING(REGEX REPLACE "/include" "" VLCQtQmlLocation "${VLCQtQmlLocation}")
ENDIF()
7 changes: 7 additions & 0 deletions config/package/VLCQtWidgetsConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,10 @@ INCLUDE("${CMAKE_CURRENT_LIST_DIR}/VLCQtWidgetsTargets.cmake")
SET_TARGET_PROPERTIES(VLCQt::Widgets PROPERTIES
INTERFACE_LINK_LIBRARIES VLCQt::Core
)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtWidgetsFramework ${CMAKE_CURRENT_LIST_DIR}/../../VLCQtWidgets.framework)
ELSE()
GET_TARGET_PROPERTY(VLCQtWidgetsLocation VLCQt::Widgets INTERFACE_INCLUDE_DIRECTORIES)
STRING(REGEX REPLACE "/include" "" VLCQtWidgetsLocation "${VLCQtWidgetsLocation}")
ENDIF()
3 changes: 2 additions & 1 deletion platform/Windows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ ENDIF()
FILE(GLOB Vlc_Std "${LIBVLC_BIN_DIR}/libstdc++-6.dll")
IF(Vlc_Std)
SET(Extra_Libs
${Extra_Libs}
${LIBVLC_BIN_DIR}/libstdc++-6.dll
${LIBVLC_BIN_DIR}/libwinpthread-1.dll
)
Expand All @@ -84,7 +85,7 @@ ENDIF()
# Installation #
################
INSTALL(FILES ${Vlc_Libs} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
IF(MINGW OR Vlc_Gcc)
IF(Vlc_Gcc OR Vlc_Std)
INSTALL(FILES ${Extra_Libs} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
ENDIF()

Expand Down
10 changes: 6 additions & 4 deletions src/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -180,18 +180,20 @@ ENDIF()
# Installation #
################
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtCoreIncludeLocation lib/${VLCQT_CORE_NAME}.framework)
SET(VLCQtCoreIncludesLocation lib/${VLCQT_CORE_NAME}.framework)
SET(VLCQtCorePublicHeaderLocation lib/${VLCQT_CORE_NAME}.framework)
ELSE()
SET(VLCQtCoreIncludeLocation include/${VLCQT_CORE_NAME})
SET(VLCQtCoreIncludesLocation include)
SET(VLCQtCorePublicHeaderLocation include/${VLCQT_CORE_NAME})
ENDIF()

INSTALL(TARGETS ${VLCQT_CORE} EXPORT VLCQtCoreTargets
RUNTIME DESTINATION bin
FRAMEWORK DESTINATION lib${LIB_SUFFIX}
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
INCLUDES DESTINATION ${VLCQtCoreIncludeLocation}
PUBLIC_HEADER DESTINATION ${VLCQtCoreIncludeLocation}
INCLUDES DESTINATION ${VLCQtCoreIncludesLocation}
PUBLIC_HEADER DESTINATION ${VLCQtCorePublicHeaderLocation}
)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Expand Down
10 changes: 6 additions & 4 deletions src/qml/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -155,18 +155,20 @@ ENDIF()
# Installation #
################
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtQmlIncludeLocation lib/${VLCQT_QML_NAME}.framework)
SET(VLCQtQmlIncludesLocation lib/${VLCQT_QML_NAME}.framework)
SET(VLCQtQmlPublicHeaderLocation lib/${VLCQT_QML_NAME}.framework)
ELSE()
SET(VLCQtQmlIncludeLocation include/${VLCQT_QML_NAME})
SET(VLCQtQmlIncludesLocation include)
SET(VLCQtQmlPublicHeaderLocation include/${VLCQT_QML_NAME})
ENDIF()

INSTALL(TARGETS ${VLCQT_QML} EXPORT VLCQtQmlTargets
RUNTIME DESTINATION bin
FRAMEWORK DESTINATION lib${LIB_SUFFIX}
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
INCLUDES DESTINATION ${VLCQtQmlIncludeLocation}
PUBLIC_HEADER DESTINATION ${VLCQtQmlIncludeLocation}
INCLUDES DESTINATION ${VLCQtQmlIncludesLocation}
PUBLIC_HEADER DESTINATION ${VLCQtQmlPublicHeaderLocation}
)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Expand Down
10 changes: 6 additions & 4 deletions src/widgets/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -137,18 +137,20 @@ ENDIF()
# Installation #
################
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(VLCQtWidgetsIncludeLocation lib/${VLCQT_WIDGETS_NAME}.framework)
SET(VLCQtWidgetsIncludesLocation lib/${VLCQT_WIDGETS_NAME}.framework)
SET(VLCQtWidgetsPublicHeaderLocation lib/${VLCQT_WIDGETS_NAME}.framework)
ELSE()
SET(VLCQtWidgetsIncludeLocation include/${VLCQT_WIDGETS_NAME})
SET(VLCQtWidgetsIncludesLocation include)
SET(VLCQtWidgetsPublicHeaderLocation include/${VLCQT_WIDGETS_NAME})
ENDIF()

INSTALL(TARGETS ${VLCQT_WIDGETS} EXPORT VLCQtWidgetsTargets
RUNTIME DESTINATION bin
FRAMEWORK DESTINATION lib${LIB_SUFFIX}
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX}
INCLUDES DESTINATION ${VLCQtWidgetsIncludeLocation}
PUBLIC_HEADER DESTINATION ${VLCQtWidgetsIncludeLocation}
INCLUDES DESTINATION ${VLCQtWidgetsIncludesLocation}
PUBLIC_HEADER DESTINATION ${VLCQtWidgetsPublicHeaderLocation}
)

IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Expand Down

0 comments on commit 4fe45ae

Please sign in to comment.