diff options
author | montellese <montellese@xbmc.org> | 2014-07-12 16:44:57 +0200 |
---|---|---|
committer | montellese <montellese@xbmc.org> | 2014-07-30 11:15:59 +0200 |
commit | afdf5605de3c5fd63f20130fc692364234513ea3 (patch) | |
tree | 5e92af4df1fc669e016fe2ffb2d1fac8cbb446cc | |
parent | 83d9abf8a8a16ec8ba1188f737109f1f973527f7 (diff) |
[win32] cmake: integrated xbmc-addons-depends-windows into xbmc-addons-depends buildsystem
-rw-r--r-- | project/cmake/addons/depends/win32/CMakeLists.txt | 65 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/CMakeLists.txt | 47 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/Find7Zip.cmake (renamed from project/cmake/addons/depends/win32/Find7Zip.cmake) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/README (renamed from project/cmake/addons/depends/win32/README) | 2 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/extract-7z.cmake (renamed from project/cmake/addons/depends/win32/extract-7z.cmake) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/extract-direct.cmake (renamed from project/cmake/addons/depends/win32/extract-direct.cmake) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/install.cmake (renamed from project/cmake/addons/depends/win32/install.cmake) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/README (renamed from project/cmake/addons/depends/win32/prebuilt/README) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/flac/flac.txt (renamed from project/cmake/addons/depends/win32/prebuilt/flac/flac.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/flac/install.txt (renamed from project/cmake/addons/depends/win32/prebuilt/flac/install.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/lame.txt (renamed from project/cmake/addons/depends/win32/prebuilt/lame.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/ogg/install.txt (renamed from project/cmake/addons/depends/win32/prebuilt/ogg/install.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/ogg/ogg.txt (renamed from project/cmake/addons/depends/win32/prebuilt/ogg/ogg.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/vorbis/install.txt (renamed from project/cmake/addons/depends/win32/prebuilt/vorbis/install.txt) | 0 | ||||
-rw-r--r-- | project/cmake/addons/depends/windows/prebuilt/vorbis/vorbis.txt (renamed from project/cmake/addons/depends/win32/prebuilt/vorbis/vorbis.txt) | 0 | ||||
-rw-r--r-- | tools/buildsteps/win32/make-addon-depends.bat | 7 | ||||
-rw-r--r-- | tools/buildsteps/win32/make-addons.bat | 11 |
17 files changed, 53 insertions, 79 deletions
diff --git a/project/cmake/addons/depends/win32/CMakeLists.txt b/project/cmake/addons/depends/win32/CMakeLists.txt deleted file mode 100644 index d8a55eb5d1..0000000000 --- a/project/cmake/addons/depends/win32/CMakeLists.txt +++ /dev/null @@ -1,65 +0,0 @@ -project(xbmc-addons-depends-win32) - -cmake_minimum_required(VERSION 2.8) - -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) - -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release) -endif() - -include(ExternalProject) - -if(NOT CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/depends) -endif() -list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}) - -function(add_internal id url inputfile) - externalproject_add(${id} - URL ${url} - PREFIX build/${id} - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} - -DINPUTDIR=${CMAKE_BINARY_DIR}/build/${id}/src/${id} - -DINPUTFILE=${inputfile} - -DDESTDIR=${CMAKE_INSTALL_PREFIX} - -P ${PROJECT_SOURCE_DIR}/install.cmake) -endfunction() - -function(add_7zip id url inputfile) - externalproject_add(${id} - PREFIX build/${id} - DOWNLOAD_COMMAND ${CMAKE_COMMAND} - -D7ZIP_EXECUTABLE=${7ZIP_EXECUTABLE} - -DURL=${url} - -DDEST=${CMAKE_BINARY_DIR}/build/${id}/src/${id} - -DDESTDIR=${CMAKE_BINARY_DIR}/build/${id}/src/${id}-build - -P ${PROJECT_SOURCE_DIR}/extract-7z.cmake - CONFIGURE_COMMAND "" - BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} - -DINPUTDIR=${CMAKE_BINARY_DIR}/build/${id}/src/${id}-build/ - -DINPUTFILE=${inputfile} - -DDESTDIR=${CMAKE_INSTALL_PREFIX} - -P ${PROJECT_SOURCE_DIR}/install.cmake) -endfunction() - -#find_package(7Zip REQUIRED) - -file(GLOB_RECURSE download_input_files prebuilt/*.txt) -foreach(file ${download_input_files}) - if(NOT file MATCHES install.txt) - file(STRINGS ${file} def) - get_filename_component(dir ${file} PATH) - string(REPLACE " " ";" def ${def}) - list(GET def 0 id) - list(GET def 1 url) - # if(url MATCHES .7z OR url MATCHES .lzma) - # add_7zip(${id} ${url} ${dir}/install.txt) - # else() - add_internal(${id} ${url} ${dir}/install.txt) - # endif() - endif() -endforeach() diff --git a/project/cmake/addons/depends/windows/CMakeLists.txt b/project/cmake/addons/depends/windows/CMakeLists.txt new file mode 100644 index 0000000000..611958574a --- /dev/null +++ b/project/cmake/addons/depends/windows/CMakeLists.txt @@ -0,0 +1,47 @@ +project(xbmc-addons-depends-windows) + +cmake_minimum_required(VERSION 2.8) + +list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +endif() + +include(ExternalProject) + +if(NOT CMAKE_INSTALL_PREFIX) + message(FATAL_ERROR "CMAKE_INSTALL_PREFIX (${CMAKE_INSTALL_PREFIX}) is not a valid target directory.") +else() + file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}" CMAKE_INSTALL_PREFIX) +endif() +get_filename_component(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE) +list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}) + +function(add_internal id url inputfile) + externalproject_add(${id} + URL ${url} + PREFIX build/${id} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND ${CMAKE_COMMAND} + -DINPUTDIR=${PROJECT_BINARY_DIR}/build/${id}/src/${id} + -DINPUTFILE=${inputfile} + -DDESTDIR=${CMAKE_INSTALL_PREFIX} + -P ${PROJECT_SOURCE_DIR}/install.cmake + ) +endfunction() + +#find_package(7Zip REQUIRED) + +file(GLOB_RECURSE download_input_files prebuilt/*.txt) +foreach(file ${download_input_files}) + if(NOT file MATCHES install.txt) + file(STRINGS ${file} def) + get_filename_component(dir ${file} PATH) + string(REPLACE " " ";" def ${def}) + list(GET def 0 id) + list(GET def 1 url) + add_internal(${id} ${url} ${dir}/install.txt) + endif() +endforeach() diff --git a/project/cmake/addons/depends/win32/Find7Zip.cmake b/project/cmake/addons/depends/windows/Find7Zip.cmake index 82b09026ad..82b09026ad 100644 --- a/project/cmake/addons/depends/win32/Find7Zip.cmake +++ b/project/cmake/addons/depends/windows/Find7Zip.cmake diff --git a/project/cmake/addons/depends/win32/README b/project/cmake/addons/depends/windows/README index 1021a18b9e..3512f32ae6 100644 --- a/project/cmake/addons/depends/win32/README +++ b/project/cmake/addons/depends/windows/README @@ -9,7 +9,7 @@ To trigger the cmake-based buildsystem the following command must be executed with <path> being the path to this directory (absolute or relative, allowing for in-source and out-of-source builds). - cmake <path> -G <generator> + cmake <path> [-G <generator>] cmake supports multiple generators, see http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. diff --git a/project/cmake/addons/depends/win32/extract-7z.cmake b/project/cmake/addons/depends/windows/extract-7z.cmake index 95a2672cc4..95a2672cc4 100644 --- a/project/cmake/addons/depends/win32/extract-7z.cmake +++ b/project/cmake/addons/depends/windows/extract-7z.cmake diff --git a/project/cmake/addons/depends/win32/extract-direct.cmake b/project/cmake/addons/depends/windows/extract-direct.cmake index 13cb74f919..13cb74f919 100644 --- a/project/cmake/addons/depends/win32/extract-direct.cmake +++ b/project/cmake/addons/depends/windows/extract-direct.cmake diff --git a/project/cmake/addons/depends/win32/install.cmake b/project/cmake/addons/depends/windows/install.cmake index 9a3adbb7c3..9a3adbb7c3 100644 --- a/project/cmake/addons/depends/win32/install.cmake +++ b/project/cmake/addons/depends/windows/install.cmake diff --git a/project/cmake/addons/depends/win32/prebuilt/README b/project/cmake/addons/depends/windows/prebuilt/README index 11a05a5838..11a05a5838 100644 --- a/project/cmake/addons/depends/win32/prebuilt/README +++ b/project/cmake/addons/depends/windows/prebuilt/README diff --git a/project/cmake/addons/depends/win32/prebuilt/flac/flac.txt b/project/cmake/addons/depends/windows/prebuilt/flac/flac.txt index 098f08f739..098f08f739 100644 --- a/project/cmake/addons/depends/win32/prebuilt/flac/flac.txt +++ b/project/cmake/addons/depends/windows/prebuilt/flac/flac.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/flac/install.txt b/project/cmake/addons/depends/windows/prebuilt/flac/install.txt index 8a6437e563..8a6437e563 100644 --- a/project/cmake/addons/depends/win32/prebuilt/flac/install.txt +++ b/project/cmake/addons/depends/windows/prebuilt/flac/install.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/lame.txt b/project/cmake/addons/depends/windows/prebuilt/lame.txt index 6fc7acf9f5..6fc7acf9f5 100644 --- a/project/cmake/addons/depends/win32/prebuilt/lame.txt +++ b/project/cmake/addons/depends/windows/prebuilt/lame.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/ogg/install.txt b/project/cmake/addons/depends/windows/prebuilt/ogg/install.txt index a5f8852265..a5f8852265 100644 --- a/project/cmake/addons/depends/win32/prebuilt/ogg/install.txt +++ b/project/cmake/addons/depends/windows/prebuilt/ogg/install.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/ogg/ogg.txt b/project/cmake/addons/depends/windows/prebuilt/ogg/ogg.txt index 801b13b65a..801b13b65a 100644 --- a/project/cmake/addons/depends/win32/prebuilt/ogg/ogg.txt +++ b/project/cmake/addons/depends/windows/prebuilt/ogg/ogg.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/vorbis/install.txt b/project/cmake/addons/depends/windows/prebuilt/vorbis/install.txt index 3021f12c1d..3021f12c1d 100644 --- a/project/cmake/addons/depends/win32/prebuilt/vorbis/install.txt +++ b/project/cmake/addons/depends/windows/prebuilt/vorbis/install.txt diff --git a/project/cmake/addons/depends/win32/prebuilt/vorbis/vorbis.txt b/project/cmake/addons/depends/windows/prebuilt/vorbis/vorbis.txt index 23e56e2901..23e56e2901 100644 --- a/project/cmake/addons/depends/win32/prebuilt/vorbis/vorbis.txt +++ b/project/cmake/addons/depends/windows/prebuilt/vorbis/vorbis.txt diff --git a/tools/buildsteps/win32/make-addon-depends.bat b/tools/buildsteps/win32/make-addon-depends.bat index e1c3fdab5e..2ec58bfb96 100644 --- a/tools/buildsteps/win32/make-addon-depends.bat +++ b/tools/buildsteps/win32/make-addon-depends.bat @@ -31,7 +31,7 @@ SET CUR_PATH=%CD% SET BASE_PATH=%WORKDIR%\project\cmake\ SET ADDONS_PATH=%BASE_PATH%\addons SET ADDONS_OUTPUT_PATH=%ADDONS_PATH%\output -SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\depends\win32 +SET ADDON_DEPENDS_PATH=%ADDONS_PATH%\depends SET ADDON_DEPENDS_BUILD_PATH=%ADDON_DEPENDS_PATH%\build SET ERRORFILE=%BASE_PATH%\make-addon-depends.error @@ -60,7 +60,10 @@ CD "%ADDON_DEPENDS_BUILD_PATH%" rem execute cmake to generate makefiles processable by nmake cmake "%ADDON_DEPENDS_PATH%" -G "NMake Makefiles" ^ -DCMAKE_BUILD_TYPE=Release ^ - -DCMAKE_INSTALL_PREFIX=%ADDONS_OUTPUT_PATH% + -DCMAKE_USER_MAKE_RULES_OVERRIDE="%BASE_PATH%/xbmc-c-flag-overrides.cmake" ^ + -DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX="%BASE_PATH%/xbmc-cxx-flag-overrides.cmake" ^ ^ + -DCMAKE_INSTALL_PREFIX=%ADDONS_OUTPUT_PATH% ^ + -DARCH_DEFINES="-DTARGET_WINDOWS -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_USE_32BIT_TIME_T -D_WINSOCKAPI_" IF ERRORLEVEL 1 ( ECHO cmake error level: %ERRORLEVEL% > %ERRORFILE% GOTO ERROR diff --git a/tools/buildsteps/win32/make-addons.bat b/tools/buildsteps/win32/make-addons.bat index 10a2a8bc4d..02283d03b3 100644 --- a/tools/buildsteps/win32/make-addons.bat +++ b/tools/buildsteps/win32/make-addons.bat @@ -40,9 +40,6 @@ SET ADDONS_BUILD_PATH=%ADDONS_PATH%\build SET ERRORFILE=%BASE_PATH%\make-addons.error -SET XBMC_INCLUDE_PATH=%ADDON_DEPENDS_PATH%\include\xbmc -SET XBMC_LIB_PATH=%ADDON_DEPENDS_PATH%\lib\xbmc - rem determine whether make-addon-depends.bat should be called with noclean or not SET addon_depends_mode=clean IF %noclean% == true ( @@ -70,14 +67,6 @@ IF %noclean% == false ( ) ) -rem make sure the xbmc include and library paths exist -IF NOT EXIST "%XBMC_INCLUDE_PATH%" ( - MKDIR "%XBMC_INCLUDE_PATH%" -) -IF NOT EXIST "%XBMC_LIB_PATH%" ( - MKDIR "%XBMC_LIB_PATH%" -) - rem create the build directory IF NOT EXIST "%ADDONS_BUILD_PATH%" MKDIR "%ADDONS_BUILD_PATH%" |