diff options
| author | manuel <manuel@mausz.at> | 2016-05-01 18:06:14 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2016-05-01 18:06:14 +0200 |
| commit | 5823b05feb29a59510c32a9c28ca18b50b9b6399 (patch) | |
| tree | ac1603a592af9415b722b2669e04e417bd13c45c /project/cmake/scripts/windows | |
| parent | 88de33e1836c646ccf594ef162c258d1210fd24e (diff) | |
| download | kodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.tar.gz kodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.tar.bz2 kodi-pvr-build-5823b05feb29a59510c32a9c28ca18b50b9b6399.zip | |
sync with upstream
Diffstat (limited to 'project/cmake/scripts/windows')
| -rw-r--r-- | project/cmake/scripts/windows/archsetup.cmake | 24 | ||||
| -rw-r--r-- | project/cmake/scripts/windows/c-flag-overrides.cmake | 4 | ||||
| -rw-r--r-- | project/cmake/scripts/windows/cxx-flag-overrides.cmake | 4 | ||||
| -rw-r--r-- | project/cmake/scripts/windows/macros.cmake | 6 | ||||
| -rw-r--r-- | project/cmake/scripts/windows/pathsetup.cmake | 8 |
5 files changed, 19 insertions, 27 deletions
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) | |||
| 15 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg) | 15 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg) |
| 16 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin) | 16 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin) |
| 17 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies) | 17 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies) |
| 18 | set(CONFIGURATION_LIBDIR lib/${CORE_BUILD_CONFIG}-vc120) | ||
| 19 | set(CONFIGURATION_LIBDIR_RELEASE lib/Release-vc120) | ||
| 20 | set(CONFIGURATION_LIBDIR_DEBUG lib/Debug-vc120) | ||
| 21 | 18 | ||
| 22 | set(JPEG_NAMES ${JPEG_NAMES} jpeg-static) | 19 | set(JPEG_NAMES ${JPEG_NAMES} jpeg-static) |
| 23 | set(PYTHON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/../BuildDependencies/include/python) | 20 | 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 | |||
| 32 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" | 29 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" |
| 33 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" | 30 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" |
| 34 | -DBUILDING_WITH_CMAKE | 31 | -DBUILDING_WITH_CMAKE |
| 35 | $<$<CONFIG:Debug>:-DD3D_DEBUG_INFO -D_SECURE_SCL=0 -D_HAS_ITERATOR_DEBUGGING=0>) | 32 | $<$<CONFIG:Debug>:-DD3D_DEBUG_INFO -D_ITERATOR_DEBUG_LEVEL=0>) |
| 36 | |||
| 37 | # Compile with /MT (to be compatible with the dependent libraries) | ||
| 38 | foreach(CompilerFlag CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE | ||
| 39 | CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) | ||
| 40 | string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") | ||
| 41 | endforeach() | ||
| 42 | 33 | ||
| 43 | # Make sure /FS is set for Visual Studio in order to prevent simultanious access to pdb files. | 34 | # Make sure /FS is set for Visual Studio in order to prevent simultanious access to pdb files. |
| 44 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | 35 | if(CMAKE_GENERATOR MATCHES "Visual Studio") |
| @@ -53,16 +44,15 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") | |||
| 53 | # For #pragma comment(lib X) | 44 | # For #pragma comment(lib X) |
| 54 | # TODO: It would certainly be better to handle these libraries via CMake modules. | 45 | # TODO: It would certainly be better to handle these libraries via CMake modules. |
| 55 | link_directories(${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin | 46 | link_directories(${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin |
| 56 | ${PROJECT_SOURCE_DIR}/../BuildDependencies/lib | 47 | ${PROJECT_SOURCE_DIR}/../BuildDependencies/lib) |
| 57 | ${PROJECT_SOURCE_DIR}/../BuildDependencies/${CONFIGURATION_LIBDIR}) | ||
| 58 | 48 | ||
| 59 | # Additional libraries | 49 | # Additional libraries |
| 60 | list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib | 50 | list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib |
| 61 | PowrProf.lib setupapi.lib dwmapi.lib yajl.lib dxguid.lib DelayImp.lib) | 51 | PowrProf.lib setupapi.lib dwmapi.lib yajl.lib dxguid.lib DelayImp.lib) |
| 62 | 52 | ||
| 63 | # NODEFAULTLIB option | 53 | # NODEFAULTLIB option |
| 64 | set(_nodefaultlibs_RELEASE libc msvcrt libci msvcprt) | 54 | set(_nodefaultlibs_RELEASE libcmt) |
| 65 | set(_nodefaultlibs_DEBUG libcpmt libc msvcrt libcmt msvcrtd msvcprtd) | 55 | set(_nodefaultlibs_DEBUG libcmt msvcrt) |
| 66 | foreach(_lib ${_nodefaultlibs_RELEASE}) | 56 | foreach(_lib ${_nodefaultlibs_RELEASE}) |
| 67 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") | 57 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") |
| 68 | endforeach() | 58 | endforeach() |
| @@ -71,9 +61,9 @@ foreach(_lib ${_nodefaultlibs_DEBUG}) | |||
| 71 | endforeach() | 61 | endforeach() |
| 72 | 62 | ||
| 73 | # DELAYLOAD option | 63 | # DELAYLOAD option |
| 74 | set(_delayloadlibs libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll | 64 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll |
| 75 | avcodec-56.dll avfilter-5.dll avformat-56.dll avutil-54.dll | 65 | avcodec-57.dll avfilter-6.dll avformat-57.dll avutil-55.dll |
| 76 | postproc-53.dll swresample-1.dll swscale-3.dll d3dcompiler_47.dll) | 66 | postproc-54.dll swresample-2.dll swscale-4.dll d3dcompiler_47.dll) |
| 77 | foreach(_lib ${_delayloadlibs}) | 67 | foreach(_lib ${_delayloadlibs}) |
| 78 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") | 68 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") |
| 79 | endforeach() | 69 | 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 @@ | |||
| 1 | if(MSVC) | 1 | if(MSVC) |
| 2 | set(CMAKE_C_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") | 2 | set(CMAKE_C_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") |
| 3 | set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_HAS_ITERATOR_DEBUGGING=0 /D_SECURE_SCL=0") | 3 | set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") |
| 4 | set(CMAKE_C_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") | 4 | set(CMAKE_C_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") |
| 5 | endif(MSVC) \ No newline at end of file | 5 | 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 @@ | |||
| 1 | if(MSVC) | 1 | if(MSVC) |
| 2 | set(CMAKE_CXX_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") | 2 | set(CMAKE_CXX_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") |
| 3 | set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_HAS_ITERATOR_DEBUGGING=0 /D_SECURE_SCL=0") | 3 | set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") |
| 4 | set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") | 4 | set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") |
| 5 | endif(MSVC) \ No newline at end of file | 5 | 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) | |||
| 87 | # As own target for usage in multiple libraries | 87 | # As own target for usage in multiple libraries |
| 88 | if(NOT TARGET ${PCH_PCH_TARGET}_pch) | 88 | if(NOT TARGET ${PCH_PCH_TARGET}_pch) |
| 89 | add_library(${PCH_PCH_TARGET}_pch STATIC ${pch_source}) | 89 | add_library(${PCH_PCH_TARGET}_pch STATIC ${pch_source}) |
| 90 | set_target_properties(${PCH_PCH_TARGET}_pch PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) | 90 | set_target_properties(${PCH_PCH_TARGET}_pch PROPERTIES COMPILE_PDB_NAME vc140 |
| 91 | COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) | ||
| 91 | endif() | 92 | endif() |
| 92 | # From VS2012 onwards, precompiled headers have to be linked against (LNK2011). | 93 | # From VS2012 onwards, precompiled headers have to be linked against (LNK2011). |
| 93 | target_link_libraries(${target} PUBLIC ${PCH_PCH_TARGET}_pch) | 94 | target_link_libraries(${target} PUBLIC ${PCH_PCH_TARGET}_pch) |
| 94 | set_target_properties(${target} PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) | 95 | set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME vc140 |
| 96 | COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) | ||
| 95 | else() | 97 | else() |
| 96 | # As part of the target | 98 | # As part of the target |
| 97 | target_sources(${target} PRIVATE ${pch_source}) | 99 | 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() | |||
| 4 | set(CMAKE_INSTALL_PREFIX ${prefix}) | 4 | set(CMAKE_INSTALL_PREFIX ${prefix}) |
| 5 | endif() | 5 | endif() |
| 6 | if(NOT exec_prefix) | 6 | if(NOT exec_prefix) |
| 7 | set(exec_prefix \${prefix}) | 7 | set(exec_prefix ${prefix}) |
| 8 | endif() | 8 | endif() |
| 9 | if(NOT libdir) | 9 | if(NOT libdir) |
| 10 | set(libdir ${prefix}/lib) | 10 | set(libdir ${prefix}/lib) |
| @@ -19,7 +19,7 @@ if(NOT datarootdir) | |||
| 19 | set(datarootdir ${prefix}/share) | 19 | set(datarootdir ${prefix}/share) |
| 20 | endif() | 20 | endif() |
| 21 | if(NOT datadir) | 21 | if(NOT datadir) |
| 22 | set(datadir \${datarootdir}) | 22 | set(datadir ${datarootdir}) |
| 23 | endif() | 23 | endif() |
| 24 | 24 | ||
| 25 | list(APPEND final_message "-- PATH config --") | 25 | list(APPEND final_message "-- PATH config --") |
| @@ -30,5 +30,5 @@ list(APPEND final_message "Includedir: ${includedir}") | |||
| 30 | list(APPEND final_message "Datarootdir: ${datarootdir}") | 30 | list(APPEND final_message "Datarootdir: ${datarootdir}") |
| 31 | list(APPEND final_message "Datadir: ${datadir}") | 31 | list(APPEND final_message "Datadir: ${datadir}") |
| 32 | 32 | ||
| 33 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/xbmc\" | 33 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" |
| 34 | -DINSTALL_PATH=\"${datarootdir}/xbmc\") | 34 | -DINSTALL_PATH=\"${datarootdir}/kodi\") |
