From 5823b05feb29a59510c32a9c28ca18b50b9b6399 Mon Sep 17 00:00:00 2001 From: manuel Date: Sun, 1 May 2016 18:06:14 +0200 Subject: sync with upstream --- .../scripts/common/generateversionedfiles.cmake | 2 - project/cmake/scripts/common/macros.cmake | 98 ++++++++++++---------- project/cmake/scripts/common/prepare-env.cmake | 2 +- project/cmake/scripts/common/projectmacros.cmake | 11 ++- project/cmake/scripts/darwin/pathsetup.cmake | 8 +- project/cmake/scripts/freebsd/archsetup.cmake | 2 +- project/cmake/scripts/freebsd/install.cmake | 4 +- project/cmake/scripts/linux/archsetup.cmake | 2 +- project/cmake/scripts/linux/install.cmake | 69 +++++++++++++-- project/cmake/scripts/linux/pathsetup.cmake | 8 +- project/cmake/scripts/rbpi/archsetup.cmake | 2 +- project/cmake/scripts/windows/archsetup.cmake | 24 ++---- .../cmake/scripts/windows/c-flag-overrides.cmake | 4 +- .../cmake/scripts/windows/cxx-flag-overrides.cmake | 4 +- project/cmake/scripts/windows/macros.cmake | 6 +- project/cmake/scripts/windows/pathsetup.cmake | 8 +- 16 files changed, 156 insertions(+), 98 deletions(-) (limited to 'project/cmake/scripts') diff --git a/project/cmake/scripts/common/generateversionedfiles.cmake b/project/cmake/scripts/common/generateversionedfiles.cmake index 9a4080a..ea1fad5 100644 --- a/project/cmake/scripts/common/generateversionedfiles.cmake +++ b/project/cmake/scripts/common/generateversionedfiles.cmake @@ -9,5 +9,3 @@ configure_file(${CORE_SOURCE_DIR}/addons/kodi.guilib/addon.xml.in ${CMAKE_BINARY_DIR}/addons/kodi.guilib/addon.xml @ONLY) configure_file(${CORE_SOURCE_DIR}/xbmc/CompileInfo.cpp.in ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp @ONLY) -set(prefix ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}) -set(APP_LIBDIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/kodi) diff --git a/project/cmake/scripts/common/macros.cmake b/project/cmake/scripts/common/macros.cmake index dd2233b..0900740 100644 --- a/project/cmake/scripts/common/macros.cmake +++ b/project/cmake/scripts/common/macros.cmake @@ -16,6 +16,12 @@ include(${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/macros.cmak # Library will be built, optionally added to ${core_DEPENDS} function(core_add_library name) cmake_parse_arguments(arg "NO_MAIN_DEPENDS" "" "" ${ARGN}) + + if(NOT SOURCES) + message(STATUS "No sources added to ${name} skipping") + return() + endif() + add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS}) set_target_properties(${name} PROPERTIES PREFIX "") if(NOT arg_NO_MAIN_DEPENDS) @@ -53,48 +59,52 @@ endfunction() # Arguments: # file full path to file to mirror # relative the relative base of file path in the build/install tree -# give another parameter to exclude from install target +# Optional Arguments: +# NO_INSTALL: exclude file from installation target # Implicit arguments: # CORE_SOURCE_DIR - root of source tree # On return: -# file is added to ${install_data} and mirrored in build tree +# Files is mirrored to the build tree and added to ${install_data} +# (if NO_INSTALL is not given). function(copy_file_to_buildtree file relative) - if(NOT WIN32) - string(REPLACE "\(" "\\(" file ${file}) - string(REPLACE "\)" "\\)" file ${file}) - endif() + cmake_parse_arguments(arg "NO_INSTALL" "" "" ${ARGN}) string(REPLACE "${relative}/" "" outfile ${file}) + get_filename_component(outdir ${outfile} DIRECTORY) if(NOT TARGET export-files) - add_custom_target(export-files ALL COMMENT "Copying files into build tree") + file(REMOVE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake) + add_custom_target(export-files ALL COMMENT "Copying files into build tree" + COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake) endif() if(NOT ${CORE_SOURCE_DIR} MATCHES ${CMAKE_BINARY_DIR}) if(VERBOSE) - message(STATUS "copy_file_to_buildtree - copying file: ${file} -> ${CMAKE_CURRENT_BINARY_DIR}/${outfile}") + message(STATUS "copy_file_to_buildtree - copying file: ${file} -> ${CMAKE_BINARY_DIR}/${outfile}") endif() - add_custom_command(TARGET export-files COMMAND ${CMAKE_COMMAND} -E copy_if_different "${file}" "${CMAKE_CURRENT_BINARY_DIR}/${outfile}") + file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake + "file(COPY \"${file}\" DESTINATION \"${CMAKE_BINARY_DIR}/${outdir}\")\n") endif() - if(NOT ARGN) + if(NOT arg_NO_INSTALL) list(APPEND install_data ${outfile}) set(install_data ${install_data} PARENT_SCOPE) endif() endfunction() -# add data files to installation list with a mirror in build tree. +# Add data files to installation list with a mirror in build tree. # reads list of files to install from a given list of text files. # Arguments: # pattern globbing pattern for text files to read -# give another parameter to exclude from installation target +# Optional Arguments: +# NO_INSTALL: exclude files from installation target # Implicit arguments: # CORE_SOURCE_DIR - root of source tree # On return: -# files are added to ${install_data} and mirrored in build tree +# Files are mirrored to the build tree and added to ${install_data} +# (if NO_INSTALL is not given). function(copy_files_from_filelist_to_buildtree pattern) - foreach(arg ${ARGN}) - list(APPEND pattern ${arg}) - endforeach() # copies files listed in text files to the buildtree # Input: [glob pattern: filepattern] + cmake_parse_arguments(arg "NO_INSTALL" "" "" ${ARGN}) + list(APPEND pattern ${ARGN}) list(SORT pattern) if(VERBOSE) message(STATUS "copy_files_from_filelist_to_buildtree - got pattern: ${pattern}") @@ -107,8 +117,8 @@ function(copy_files_from_filelist_to_buildtree pattern) foreach(dir ${fstrings}) file(GLOB_RECURSE files RELATIVE ${CORE_SOURCE_DIR} ${CORE_SOURCE_DIR}/${dir}) foreach(file ${files}) - if(ARGN) - copy_file_to_buildtree(${CORE_SOURCE_DIR}/${file} ${CORE_SOURCE_DIR} 1) + if(arg_NO_INSTALL) + copy_file_to_buildtree(${CORE_SOURCE_DIR}/${file} ${CORE_SOURCE_DIR} NO_INSTALL) else() copy_file_to_buildtree(${CORE_SOURCE_DIR}/${file} ${CORE_SOURCE_DIR}) endif() @@ -315,37 +325,37 @@ macro(today RESULT) endmacro() function(core_find_git_rev) - if(EXISTS ${CORE_SOURCE_DIR}/VERSION) - file(STRINGS ${CORE_SOURCE_DIR}/VERSION VERSION_FILE) - string(SUBSTRING "${VERSION_FILE}" 1 16 GIT_REV) - else() - find_package(Git) - if(GIT_FOUND AND EXISTS ${CORE_SOURCE_DIR}/.git) - execute_process(COMMAND ${GIT_EXECUTABLE} diff-files --ignore-submodules --quiet -- + find_package(Git) + if(GIT_FOUND AND EXISTS ${CORE_SOURCE_DIR}/.git) + execute_process(COMMAND ${GIT_EXECUTABLE} diff-files --ignore-submodules --quiet -- + RESULT_VARIABLE status_code + WORKING_DIRECTORY ${CORE_SOURCE_DIR}) + if (NOT status_code) + execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --ignore-submodules --quiet HEAD -- RESULT_VARIABLE status_code WORKING_DIRECTORY ${CORE_SOURCE_DIR}) - if (NOT status_code) - execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --cached --ignore-submodules --quiet HEAD -- - RESULT_VARIABLE status_code + endif() + if (status_code) + execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h-dirty" HEAD + OUTPUT_VARIABLE HASH WORKING_DIRECTORY ${CORE_SOURCE_DIR}) + string(SUBSTRING ${HASH} 1 13 HASH) + else() + execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h" HEAD + OUTPUT_VARIABLE HASH + WORKING_DIRECTORY ${CORE_SOURCE_DIR}) + string(SUBSTRING ${HASH} 1 7 HASH) endif() - today(DATE) - execute_process(COMMAND ${GIT_EXECUTABLE} --no-pager log --abbrev=7 -n 1 - --pretty=format:"%h-dirty" HEAD - OUTPUT_VARIABLE LOG_UNFORMATTED - WORKING_DIRECTORY ${CORE_SOURCE_DIR}) - string(SUBSTRING ${LOG_UNFORMATTED} 1 7 HASH) - else() - execute_process(COMMAND ${GIT_EXECUTABLE} --no-pager log --abbrev=7 -n 1 - --pretty=format:"%h %cd" HEAD - OUTPUT_VARIABLE LOG_UNFORMATTED - WORKING_DIRECTORY ${CORE_SOURCE_DIR}) - string(SUBSTRING ${LOG_UNFORMATTED} 1 7 HASH) - string(SUBSTRING ${LOG_UNFORMATTED} 9 10 DATE) - string(REPLACE "-" "" DATE ${DATE}) - endif() - set(GIT_REV "${DATE}-${HASH}") + execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%cd" --date=short HEAD + OUTPUT_VARIABLE DATE + WORKING_DIRECTORY ${CORE_SOURCE_DIR}) + string(SUBSTRING ${DATE} 1 10 DATE) + else() + today(DATE) + set(HASH "nogitfound") endif() + string(REPLACE "-" "" DATE ${DATE}) + set(GIT_REV "${DATE}-${HASH}") if(GIT_REV) set(APP_SCMID ${GIT_REV} PARENT_SCOPE) endif() diff --git a/project/cmake/scripts/common/prepare-env.cmake b/project/cmake/scripts/common/prepare-env.cmake index b9a39e7..8e9bd1c 100644 --- a/project/cmake/scripts/common/prepare-env.cmake +++ b/project/cmake/scripts/common/prepare-env.cmake @@ -100,7 +100,7 @@ if(WIN32) if(PATCH_FOUND) message(STATUS "patch utility found at ${PATCH_FOUND}") else() - set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-1") + set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-3") set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) diff --git a/project/cmake/scripts/common/projectmacros.cmake b/project/cmake/scripts/common/projectmacros.cmake index d0739c4..7ce4ee9 100644 --- a/project/cmake/scripts/common/projectmacros.cmake +++ b/project/cmake/scripts/common/projectmacros.cmake @@ -35,10 +35,13 @@ function(copy_skin_to_buildtree skin relative) endforeach() file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${dest}/media) string(REPLACE "${relative}/" "" dest ${skin}) - pack_xbt(${skin}/media - ${CMAKE_BINARY_DIR}/${dest}/media/Textures.xbt - ${CMAKE_BINARY_DIR}) - + pack_xbt(${skin}/media ${CMAKE_BINARY_DIR}/${dest}/media/Textures.xbt) + + file(GLOB THEMES RELATIVE ${skin}/themes ${skin}/themes/*) + foreach(theme ${THEMES}) + pack_xbt(${skin}/themes/${theme} ${CMAKE_BINARY_DIR}/${dest}/media/${theme}.xbt) + endforeach() + set(XBT_FILES ${XBT_FILES} PARENT_SCOPE) set(install_data ${install_data} PARENT_SCOPE) endfunction() diff --git a/project/cmake/scripts/darwin/pathsetup.cmake b/project/cmake/scripts/darwin/pathsetup.cmake index e31f66e..071dfd4 100644 --- a/project/cmake/scripts/darwin/pathsetup.cmake +++ b/project/cmake/scripts/darwin/pathsetup.cmake @@ -2,7 +2,7 @@ if(NOT prefix) set(prefix ${DEPENDS_PATH}) endif() if(NOT exec_prefix) - set(exec_prefix \${prefix}) + set(exec_prefix ${prefix}) endif() if(NOT libdir) set(libdir ${prefix}/lib) @@ -17,7 +17,7 @@ if(NOT datarootdir) set(datarootdir ${prefix}/share) endif() if(NOT datadir) - set(datadir \${datarootdir}) + set(datadir ${datarootdir}) endif() list(APPEND final_message "-- PATH config --") @@ -28,5 +28,5 @@ list(APPEND final_message "Includedir: ${includedir}") list(APPEND final_message "Datarootdir: ${datarootdir}") list(APPEND final_message "Datadir: ${datadir}") -set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/xbmc\" - -DINSTALL_PATH=\"${datarootdir}/xbmc\") +set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" + -DINSTALL_PATH=\"${datarootdir}/kodi\") diff --git a/project/cmake/scripts/freebsd/archsetup.cmake b/project/cmake/scripts/freebsd/archsetup.cmake index edc77f1..b85121f 100644 --- a/project/cmake/scripts/freebsd/archsetup.cmake +++ b/project/cmake/scripts/freebsd/archsetup.cmake @@ -15,5 +15,5 @@ else() endif() endif() -set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") +set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") set(DEP_DEFINES -DLIRC_DEVICE=${LIRC_DEVICE}) diff --git a/project/cmake/scripts/freebsd/install.cmake b/project/cmake/scripts/freebsd/install.cmake index 0c8939e..8247416 100644 --- a/project/cmake/scripts/freebsd/install.cmake +++ b/project/cmake/scripts/freebsd/install.cmake @@ -20,7 +20,9 @@ install(FILES ${CORE_SOURCE_DIR}/tools/Linux/xbmc-xsession.desktop RENAME XBMC.desktop DESTINATION share/xsessions) -install(FILES ${CORE_SOURCE_DIR}/LICENSE.GPL +install(FILES ${CORE_SOURCE_DIR}/copying.txt + ${CORE_SOURCE_DIR}/LICENSE.GPL + ${CORE_SOURCE_DIR}/version.txt ${CORE_SOURCE_DIR}/docs/README.freebsd DESTINATION share/doc/xbmc) diff --git a/project/cmake/scripts/linux/archsetup.cmake b/project/cmake/scripts/linux/archsetup.cmake index d0e149e..e193768 100644 --- a/project/cmake/scripts/linux/archsetup.cmake +++ b/project/cmake/scripts/linux/archsetup.cmake @@ -17,5 +17,5 @@ endif() find_package(CXX11 REQUIRED) -set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") +set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") set(DEP_DEFINES -DLIRC_DEVICE=${LIRC_DEVICE}) diff --git a/project/cmake/scripts/linux/install.cmake b/project/cmake/scripts/linux/install.cmake index b887610..962a816 100644 --- a/project/cmake/scripts/linux/install.cmake +++ b/project/cmake/scripts/linux/install.cmake @@ -14,28 +14,63 @@ else() set(USE_OPENGLES 0) endif() +configure_file(${CORE_SOURCE_DIR}/project/cmake/${APP_NAME_LC}-config.cmake.in + ${CORE_BUILD_DIR}/${APP_NAME_LC}-config.cmake @ONLY) + configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi.sh.in ${CORE_BUILD_DIR}/scripts/${APP_NAME_LC} @ONLY) + +# Set XBMC_STANDALONE_SH_PULSE so we can insert PulseAudio block into kodi-standalone +if(EXISTS ${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse) + if(ENABLE_PULSEAUDIO AND PULSEAUDIO_FOUND) + file(READ "${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse" pulse_content) + set(XBMC_STANDALONE_SH_PULSE ${pulse_content}) + endif() +endif() + configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.in - ${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone @ONLY) + ${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone @ONLY) install(TARGETS ${APP_NAME_LC} DESTINATION ${libdir}/kodi) if(ENABLE_X11 AND XRANDR_FOUND) install(TARGETS ${APP_NAME_LC}-xrandr DESTINATION ${libdir}/${APP_NAME_LC}) endif() + +if(NOT EXISTS ${libdir}/xbmc) +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC}/ xbmc WORKING_DIRECTORY ${libdir})") +endif() install(FILES ${addon_bindings} DESTINATION ${includedir}/kodi) -install(FILES ${cmake-files} +if(NOT EXISTS ${includedir}/xbmc) +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC}/ xbmc WORKING_DIRECTORY ${includedir})") +endif() + +install(FILES ${cmake_files} DESTINATION ${libdir}/kodi) +install(FILES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${APP_NAME_LC}-config.cmake + DESTINATION ${libdir}/${APP_NAME_LC}) +install(FILES ${CORE_SOURCE_DIR}/project/cmake/xbmc-config.cmake.in + RENAME xbmc-config.cmake + DESTINATION ${libdir}/${APP_NAME_LC}) + install(PROGRAMS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME_LC} - ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone + ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone DESTINATION ${bindir}) +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC} xbmc WORKING_DIRECTORY ${bindir})") +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC}-standalone xbmc-standalone WORKING_DIRECTORY ${bindir})") configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi-xsession.desktop.in - ${CORE_BUILD_DIR}/${APP_NAME_LC}-xsession.desktop) -install(FILES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${APP_NAME_LC}-xsession.desktop + ${CORE_BUILD_DIR}/${APP_NAME_LC}.desktop) +install(FILES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${APP_NAME_LC}.desktop DESTINATION ${datarootdir}/xsessions) +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC}.desktop xbmc.desktop WORKING_DIRECTORY ${datarootdir}/xsessions/)") + +if(NOT EXISTS ${datarootdir}/xbmc) +install(CODE "execute_process (COMMAND ln -sf ${APP_NAME_LC}/ xbmc WORKING_DIRECTORY ${datarootdir})") +endif() -install(FILES ${CORE_SOURCE_DIR}/LICENSE.GPL +install(FILES ${CORE_SOURCE_DIR}/copying.txt + ${CORE_SOURCE_DIR}/LICENSE.GPL + ${CORE_SOURCE_DIR}/version.txt ${CORE_SOURCE_DIR}/docs/README.linux DESTINATION ${datarootdir}/doc/kodi) @@ -83,10 +118,28 @@ foreach(subdir ${build_dirs}) endif() endforeach() -install(FILES ${CORE_SOURCE_DIR}/media/icon48x48.png +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon16x16.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/16x16/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon22x22.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/22x22/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon24x24.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/24x24/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon32x32.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/32x32/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon48x48.png RENAME ${APP_NAME_LC}.png DESTINATION ${datarootdir}/icons/hicolor/48x48/apps) -install(FILES ${CORE_SOURCE_DIR}/media/icon256x256.png +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon64x64.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/64x64/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon128x128.png + RENAME ${APP_NAME_LC}.png + DESTINATION ${datarootdir}/icons/hicolor/128x128/apps) +install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon256x256.png RENAME ${APP_NAME_LC}.png DESTINATION ${datarootdir}/icons/hicolor/256x256/apps) diff --git a/project/cmake/scripts/linux/pathsetup.cmake b/project/cmake/scripts/linux/pathsetup.cmake index 940fb62..8550616 100644 --- a/project/cmake/scripts/linux/pathsetup.cmake +++ b/project/cmake/scripts/linux/pathsetup.cmake @@ -4,7 +4,7 @@ else() set(CMAKE_INSTALL_PREFIX ${prefix}) endif() if(NOT exec_prefix) - set(exec_prefix \${prefix}) + set(exec_prefix ${prefix}) endif() if(NOT libdir) set(libdir ${prefix}/lib) @@ -19,7 +19,7 @@ if(NOT datarootdir) set(datarootdir ${prefix}/share) endif() if(NOT datadir) - set(datadir \${datarootdir}) + set(datadir ${datarootdir}) endif() list(APPEND final_message "-- PATH config --") @@ -30,5 +30,5 @@ list(APPEND final_message "Includedir: ${includedir}") list(APPEND final_message "Datarootdir: ${datarootdir}") list(APPEND final_message "Datadir: ${datadir}") -set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/xbmc\" - -DINSTALL_PATH=\"${datarootdir}/xbmc\") +set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" + -DINSTALL_PATH=\"${datarootdir}/kodi\") diff --git a/project/cmake/scripts/rbpi/archsetup.cmake b/project/cmake/scripts/rbpi/archsetup.cmake index 84f1dad..72a610f 100644 --- a/project/cmake/scripts/rbpi/archsetup.cmake +++ b/project/cmake/scripts/rbpi/archsetup.cmake @@ -25,7 +25,7 @@ endif() find_package(CXX11 REQUIRED) -set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") +set(LIRC_DEVICE "\"/dev/lircd\"" CACHE STRING "LIRC device to use") set(DEP_DEFINES -DLIRC_DEVICE=${LIRC_DEVICE}) set(MMAL_FOUND 1 CACHE INTERNAL "MMAL") set(OMX_FOUND 1 CACHE INTERNAL "OMX") diff --git a/project/cmake/scripts/windows/archsetup.cmake b/project/cmake/scripts/windows/archsetup.cmake index baa3624..a54ab65 100644 --- a/project/cmake/scripts/windows/archsetup.cmake +++ b/project/cmake/scripts/windows/archsetup.cmake @@ -15,9 +15,6 @@ list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32) list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg) list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin) list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies) -set(CONFIGURATION_LIBDIR lib/${CORE_BUILD_CONFIG}-vc120) -set(CONFIGURATION_LIBDIR_RELEASE lib/Release-vc120) -set(CONFIGURATION_LIBDIR_DEBUG lib/Debug-vc120) set(JPEG_NAMES ${JPEG_NAMES} jpeg-static) set(PYTHON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/../BuildDependencies/include/python) @@ -32,13 +29,7 @@ set(SYSTEM_DEFINES -DNOMINMAX -D_USE_32BIT_TIME_T -DHAS_DX -D__STDC_CONSTANT_MAC -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" -DBUILDING_WITH_CMAKE - $<$:-DD3D_DEBUG_INFO -D_SECURE_SCL=0 -D_HAS_ITERATOR_DEBUGGING=0>) - -# Compile with /MT (to be compatible with the dependent libraries) -foreach(CompilerFlag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") -endforeach() + $<$:-DD3D_DEBUG_INFO -D_ITERATOR_DEBUG_LEVEL=0>) # Make sure /FS is set for Visual Studio in order to prevent simultanious access to pdb files. if(CMAKE_GENERATOR MATCHES "Visual Studio") @@ -53,16 +44,15 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") # For #pragma comment(lib X) # TODO: It would certainly be better to handle these libraries via CMake modules. link_directories(${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin - ${PROJECT_SOURCE_DIR}/../BuildDependencies/lib - ${PROJECT_SOURCE_DIR}/../BuildDependencies/${CONFIGURATION_LIBDIR}) + ${PROJECT_SOURCE_DIR}/../BuildDependencies/lib) # Additional libraries list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib PowrProf.lib setupapi.lib dwmapi.lib yajl.lib dxguid.lib DelayImp.lib) # NODEFAULTLIB option -set(_nodefaultlibs_RELEASE libc msvcrt libci msvcprt) -set(_nodefaultlibs_DEBUG libcpmt libc msvcrt libcmt msvcrtd msvcprtd) +set(_nodefaultlibs_RELEASE libcmt) +set(_nodefaultlibs_DEBUG libcmt msvcrt) foreach(_lib ${_nodefaultlibs_RELEASE}) set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") endforeach() @@ -71,9 +61,9 @@ foreach(_lib ${_nodefaultlibs_DEBUG}) endforeach() # DELAYLOAD option -set(_delayloadlibs libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll - avcodec-56.dll avfilter-5.dll avformat-56.dll avutil-54.dll - postproc-53.dll swresample-1.dll swscale-3.dll d3dcompiler_47.dll) +set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll + avcodec-57.dll avfilter-6.dll avformat-57.dll avutil-55.dll + postproc-54.dll swresample-2.dll swscale-4.dll d3dcompiler_47.dll) foreach(_lib ${_delayloadlibs}) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") endforeach() diff --git a/project/cmake/scripts/windows/c-flag-overrides.cmake b/project/cmake/scripts/windows/c-flag-overrides.cmake index 63825a4..fd85f5c 100644 --- a/project/cmake/scripts/windows/c-flag-overrides.cmake +++ b/project/cmake/scripts/windows/c-flag-overrides.cmake @@ -1,5 +1,5 @@ if(MSVC) set(CMAKE_C_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") - set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_HAS_ITERATOR_DEBUGGING=0 /D_SECURE_SCL=0") + set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") set(CMAKE_C_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") -endif(MSVC) \ No newline at end of file +endif(MSVC) diff --git a/project/cmake/scripts/windows/cxx-flag-overrides.cmake b/project/cmake/scripts/windows/cxx-flag-overrides.cmake index 366def3..536b809 100644 --- a/project/cmake/scripts/windows/cxx-flag-overrides.cmake +++ b/project/cmake/scripts/windows/cxx-flag-overrides.cmake @@ -1,5 +1,5 @@ if(MSVC) set(CMAKE_CXX_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") - set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_HAS_ITERATOR_DEBUGGING=0 /D_SECURE_SCL=0") + set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") -endif(MSVC) \ No newline at end of file +endif(MSVC) diff --git a/project/cmake/scripts/windows/macros.cmake b/project/cmake/scripts/windows/macros.cmake index 6aabf7d..2b61875 100644 --- a/project/cmake/scripts/windows/macros.cmake +++ b/project/cmake/scripts/windows/macros.cmake @@ -87,11 +87,13 @@ function(add_precompiled_header target pch_header pch_source) # As own target for usage in multiple libraries if(NOT TARGET ${PCH_PCH_TARGET}_pch) add_library(${PCH_PCH_TARGET}_pch STATIC ${pch_source}) - set_target_properties(${PCH_PCH_TARGET}_pch PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) + set_target_properties(${PCH_PCH_TARGET}_pch PROPERTIES COMPILE_PDB_NAME vc140 + COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) endif() # From VS2012 onwards, precompiled headers have to be linked against (LNK2011). target_link_libraries(${target} PUBLIC ${PCH_PCH_TARGET}_pch) - set_target_properties(${target} PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) + set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME vc140 + COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) else() # As part of the target target_sources(${target} PRIVATE ${pch_source}) diff --git a/project/cmake/scripts/windows/pathsetup.cmake b/project/cmake/scripts/windows/pathsetup.cmake index 940fb62..8550616 100644 --- a/project/cmake/scripts/windows/pathsetup.cmake +++ b/project/cmake/scripts/windows/pathsetup.cmake @@ -4,7 +4,7 @@ else() set(CMAKE_INSTALL_PREFIX ${prefix}) endif() if(NOT exec_prefix) - set(exec_prefix \${prefix}) + set(exec_prefix ${prefix}) endif() if(NOT libdir) set(libdir ${prefix}/lib) @@ -19,7 +19,7 @@ if(NOT datarootdir) set(datarootdir ${prefix}/share) endif() if(NOT datadir) - set(datadir \${datarootdir}) + set(datadir ${datarootdir}) endif() list(APPEND final_message "-- PATH config --") @@ -30,5 +30,5 @@ list(APPEND final_message "Includedir: ${includedir}") list(APPEND final_message "Datarootdir: ${datarootdir}") list(APPEND final_message "Datadir: ${datadir}") -set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/xbmc\" - -DINSTALL_PATH=\"${datarootdir}/xbmc\") +set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" + -DINSTALL_PATH=\"${datarootdir}/kodi\") -- cgit v1.2.3