diff options
author | Cristiano A. Silva <hudokkow@gmail.com> | 2016-04-16 16:59:25 +0100 |
---|---|---|
committer | Cristiano A. Silva <hudokkow@gmail.com> | 2016-04-16 16:59:25 +0100 |
commit | 2bb2b5e19fba139f16c4cc51092584e63c0dd42c (patch) | |
tree | 9efdc1e104fad46b27c239ee1dce36ade49d1fcc /project | |
parent | 988781d8ba94eb4e596cbcf4a769a1e7eed0a8b8 (diff) | |
parent | e3999993281d96ba2cbcb3bac8df2df31f04ffc5 (diff) |
Merge pull request #9568 from hudokkow/cmake
[cmake][linux] Several fixes
Diffstat (limited to 'project')
-rw-r--r-- | project/cmake/CMakeLists.txt | 24 | ||||
-rw-r--r-- | project/cmake/installdata/cmake-files.txt | 13 | ||||
-rw-r--r-- | project/cmake/scripts/common/macros.cmake | 33 | ||||
-rw-r--r-- | project/cmake/scripts/darwin/pathsetup.cmake | 8 | ||||
-rw-r--r-- | project/cmake/scripts/freebsd/install.cmake | 4 | ||||
-rw-r--r-- | project/cmake/scripts/linux/install.cmake | 60 | ||||
-rw-r--r-- | project/cmake/scripts/linux/pathsetup.cmake | 8 | ||||
-rw-r--r-- | project/cmake/scripts/windows/pathsetup.cmake | 8 |
8 files changed, 120 insertions, 38 deletions
diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt index 8def4fc829..232dfbddb7 100644 --- a/project/cmake/CMakeLists.txt +++ b/project/cmake/CMakeLists.txt @@ -252,6 +252,11 @@ foreach(binding ${bindings}) list(APPEND addon_bindings ${CORE_SOURCE_DIR}/${binding}) endforeach() +file(STRINGS ${PROJECT_SOURCE_DIR}/installdata/cmake-files.txt cmakefiles) +foreach(cmakefile ${cmakefiles}) + list(APPEND cmake_files ${CORE_SOURCE_DIR}/${cmakefile}) +endforeach() + add_subdirectory(${CORE_SOURCE_DIR}/lib/gtest ${CORE_BUILD_DIR}/gtest EXCLUDE_FROM_ALL) # Subdirs @@ -367,11 +372,22 @@ foreach(msg ${final_message}) endforeach() if(VERBOSE) - message(STATUS "\n#---- Internal Variables ----# ") + message(STATUS "\n#--------------- Internal Variables -------------#") message(STATUS "DEPLIBS: ${DEPLIBS}") - message(STATUS "SYSTEM_LDFLAGS: ${SYSTEM_LDFLAGS}") message(STATUS "core_DEPENDS: ${core_DEPENDS}") - message(STATUS "CMAKE_DL_LIBS: ${CMAKE_DL_LIBS}") + message(STATUS "#---------------------------------------------#") + message(STATUS "SYSTEM_LDFLAGS : ${SYSTEM_LDFLAGS}") + message(STATUS "CMAKE_DL_LIBS : ${CMAKE_DL_LIBS}") + message(STATUS "CMAKE_C_FLAGS : ${CMAKE_C_FLAGS}") + message(STATUS "CMAKE_CXX_FLAGS : ${CMAKE_CXX_FLAGS}") + message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") + message(STATUS "#---------------------------------------------#") + message(STATUS "bindir : ${bindir}") + message(STATUS "includedir : ${includedir}") + message(STATUS "libdir : ${libdir}") + message(STATUS "datarootdir: ${datarootdir}") + message(STATUS "#---------------------------------------------#") + message(STATUS "GIT_REV: ${APP_SCMID}") endif() -message(STATUS "#-----------------------#") +message(STATUS "#---------------------------------------------#") diff --git a/project/cmake/installdata/cmake-files.txt b/project/cmake/installdata/cmake-files.txt new file mode 100644 index 0000000000..8dda8cdb9e --- /dev/null +++ b/project/cmake/installdata/cmake-files.txt @@ -0,0 +1,13 @@ +project/cmake/scripts/common/addon-helpers.cmake +project/cmake/scripts/common/addoptions.cmake +project/cmake/scripts/common/archsetup.cmake +project/cmake/scripts/common/checkcommits.cmake +project/cmake/scripts/common/check_target_platform.cmake +project/cmake/scripts/common/generateversionedfiles.cmake +project/cmake/scripts/common/generatorsetup.cmake +project/cmake/scripts/common/handle-depends.cmake +project/cmake/scripts/common/macros.cmake +project/cmake/scripts/common/managestring.cmake +project/cmake/scripts/common/pathsetup.cmake +project/cmake/scripts/common/prepare-env.cmake +project/cmake/scripts/common/projectmacros.cmake diff --git a/project/cmake/scripts/common/macros.cmake b/project/cmake/scripts/common/macros.cmake index e878033f7c..e5eab4b343 100644 --- a/project/cmake/scripts/common/macros.cmake +++ b/project/cmake/scripts/common/macros.cmake @@ -319,6 +319,9 @@ macro(today RESULT) endmacro() function(core_find_git_rev) +# this is dead code. It should be version.txt +# revisit later after some more light reading about cmake's string parsing +# and filtering. if(EXISTS ${CORE_SOURCE_DIR}/VERSION) file(STRINGS ${CORE_SOURCE_DIR}/VERSION VERSION_FILE) string(SUBSTRING "${VERSION_FILE}" 1 16 GIT_REV) @@ -329,25 +332,29 @@ function(core_find_git_rev) 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 -- + execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --ignore-submodules --quiet HEAD -- RESULT_VARIABLE status_code WORKING_DIRECTORY ${CORE_SOURCE_DIR}) endif() - today(DATE) - execute_process(COMMAND ${GIT_EXECUTABLE} --no-pager log --abbrev=7 -n 1 - --pretty=format:"%h-dirty" HEAD - OUTPUT_VARIABLE LOG_UNFORMATTED + 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() + execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%cd" --date=short HEAD + OUTPUT_VARIABLE DATE WORKING_DIRECTORY ${CORE_SOURCE_DIR}) - string(SUBSTRING ${LOG_UNFORMATTED} 1 7 HASH) + string(SUBSTRING ${DATE} 1 10 DATE) 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}) + today(DATE) endif() + string(REPLACE "-" "" DATE ${DATE}) set(GIT_REV "${DATE}-${HASH}") endif() if(GIT_REV) diff --git a/project/cmake/scripts/darwin/pathsetup.cmake b/project/cmake/scripts/darwin/pathsetup.cmake index e31f66eff8..071dfd45ea 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/install.cmake b/project/cmake/scripts/freebsd/install.cmake index 0c8939e9ff..8247416c7b 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/install.cmake b/project/cmake/scripts/linux/install.cmake index b8876108b0..fff4c56883 100644 --- a/project/cmake/scripts/linux/install.cmake +++ b/project/cmake/scripts/linux/install.cmake @@ -14,28 +14,54 @@ 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) 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 +109,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 940fb620e4..8550616cd7 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/windows/pathsetup.cmake b/project/cmake/scripts/windows/pathsetup.cmake index 940fb620e4..8550616cd7 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\") |