summaryrefslogtreecommitdiffstats
path: root/project/cmake/scripts/windows
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2016-05-01 18:06:14 +0200
committermanuel <manuel@mausz.at>2016-05-01 18:06:14 +0200
commit5823b05feb29a59510c32a9c28ca18b50b9b6399 (patch)
treeac1603a592af9415b722b2669e04e417bd13c45c /project/cmake/scripts/windows
parent88de33e1836c646ccf594ef162c258d1210fd24e (diff)
downloadkodi-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.cmake24
-rw-r--r--project/cmake/scripts/windows/c-flag-overrides.cmake4
-rw-r--r--project/cmake/scripts/windows/cxx-flag-overrides.cmake4
-rw-r--r--project/cmake/scripts/windows/macros.cmake6
-rw-r--r--project/cmake/scripts/windows/pathsetup.cmake8
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)
15list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg) 15list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg)
16list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin) 16list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin)
17list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies) 17list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies)
18set(CONFIGURATION_LIBDIR lib/${CORE_BUILD_CONFIG}-vc120)
19set(CONFIGURATION_LIBDIR_RELEASE lib/Release-vc120)
20set(CONFIGURATION_LIBDIR_DEBUG lib/Debug-vc120)
21 18
22set(JPEG_NAMES ${JPEG_NAMES} jpeg-static) 19set(JPEG_NAMES ${JPEG_NAMES} jpeg-static)
23set(PYTHON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/../BuildDependencies/include/python) 20set(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)
38foreach(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}}")
41endforeach()
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.
44if(CMAKE_GENERATOR MATCHES "Visual Studio") 35if(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.
55link_directories(${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin 46link_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
60list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib 50list(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
64set(_nodefaultlibs_RELEASE libc msvcrt libci msvcprt) 54set(_nodefaultlibs_RELEASE libcmt)
65set(_nodefaultlibs_DEBUG libcpmt libc msvcrt libcmt msvcrtd msvcprtd) 55set(_nodefaultlibs_DEBUG libcmt msvcrt)
66foreach(_lib ${_nodefaultlibs_RELEASE}) 56foreach(_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}\"")
68endforeach() 58endforeach()
@@ -71,9 +61,9 @@ foreach(_lib ${_nodefaultlibs_DEBUG})
71endforeach() 61endforeach()
72 62
73# DELAYLOAD option 63# DELAYLOAD option
74set(_delayloadlibs libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll 64set(_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)
77foreach(_lib ${_delayloadlibs}) 67foreach(_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}\"")
79endforeach() 69endforeach()
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 @@
1if(MSVC) 1if(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")
5endif(MSVC) \ No newline at end of file 5endif(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 @@
1if(MSVC) 1if(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")
5endif(MSVC) \ No newline at end of file 5endif(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})
5endif() 5endif()
6if(NOT exec_prefix) 6if(NOT exec_prefix)
7 set(exec_prefix \${prefix}) 7 set(exec_prefix ${prefix})
8endif() 8endif()
9if(NOT libdir) 9if(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)
20endif() 20endif()
21if(NOT datadir) 21if(NOT datadir)
22 set(datadir \${datarootdir}) 22 set(datadir ${datarootdir})
23endif() 23endif()
24 24
25list(APPEND final_message "-- PATH config --") 25list(APPEND final_message "-- PATH config --")
@@ -30,5 +30,5 @@ list(APPEND final_message "Includedir: ${includedir}")
30list(APPEND final_message "Datarootdir: ${datarootdir}") 30list(APPEND final_message "Datarootdir: ${datarootdir}")
31list(APPEND final_message "Datadir: ${datadir}") 31list(APPEND final_message "Datadir: ${datadir}")
32 32
33set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/xbmc\" 33set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\"
34 -DINSTALL_PATH=\"${datarootdir}/xbmc\") 34 -DINSTALL_PATH=\"${datarootdir}/kodi\")