summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2020-05-22 12:31:45 +0300
committerThiago Marcos P. Santos <thiago@mapbox.com>2020-05-26 20:36:44 +0300
commit374c86942ac4d6b10843468f12803a77876f99c4 (patch)
treeb9f7c8247d33f86d0a52c6caaa8eb5e4eb02ba4d
parent0612938b8d408fc9c5e3ee975e1dfa58ebd48adb (diff)
downloadqtlocation-mapboxgl-374c86942ac4d6b10843468f12803a77876f99c4.tar.gz
[build] Updated license script
And make it possible to generate the license per platform. When GL Native is built for different targets, it will bundle different components, thus, the license might change.
-rw-r--r--CMakeLists.txt7
-rw-r--r--LICENSE-Linux.md (renamed from LICENSE.mbgl-core.md)0
-rw-r--r--circle.yml2
-rw-r--r--scripts/license.cmake28
-rw-r--r--vendor/icu.cmake9
-rw-r--r--vendor/mapbox-base.cmake9
-rw-r--r--vendor/nunicode.cmake9
-rw-r--r--vendor/sqlite.cmake9
-rw-r--r--vendor/sqlite/LICENSE.md11
9 files changed, 73 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6368a32b25..417336341b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1060,11 +1060,16 @@ if(MBGL_WITH_PLATFORM_EXTRAS)
include(${MBGL_WITH_PLATFORM_EXTRAS})
endif()
+include(${PROJECT_SOURCE_DIR}/scripts/license.cmake)
+
if(MBGL_WITH_CORE_ONLY)
return()
endif()
-include(${PROJECT_SOURCE_DIR}/scripts/license.cmake)
+if(NOT EXISTS ${PROJECT_SOURCE_DIR}/internal/internal.cmake)
+ set(MBGL_PUBLIC_BUILD TRUE)
+ mbgl_generate_license(mbgl-core ${PROJECT_SOURCE_DIR})
+endif()
if(MBGL_WITH_QT)
include(${PROJECT_SOURCE_DIR}/platform/qt/qt.cmake)
diff --git a/LICENSE.mbgl-core.md b/LICENSE-Linux.md
index 66c94e08d8..66c94e08d8 100644
--- a/LICENSE.mbgl-core.md
+++ b/LICENSE-Linux.md
diff --git a/circle.yml b/circle.yml
index c205811f43..0094a2e167 100644
--- a/circle.yml
+++ b/circle.yml
@@ -412,7 +412,7 @@ jobs:
- run:
name: Code Generators
command: |
- cp build/mbgl-core.license LICENSE.mbgl-core.md
+ cmake --build build --target license
platform/default/include/mbgl/storage/offline_schema.js
scripts/generate-shaders.js
scripts/generate-style-code.js
diff --git a/scripts/license.cmake b/scripts/license.cmake
index e3a7d2aaa4..955729248d 100644
--- a/scripts/license.cmake
+++ b/scripts/license.cmake
@@ -1,8 +1,11 @@
-# Generate the license file for the target ${param} at config time
+# Generate the license file for the target ${param} at config time and write it to ${output_dir} on the `license` target.
-function(mbgl_generate_license param)
- # Fake targets or non relevant.
- set(BLACKLIST "mbgl-compiler-options")
+function(mbgl_generate_license param output_dir)
+ # Fake targets or system dependencies.
+ list(APPEND BLACKLIST "mbgl-compiler-options")
+ list(APPEND BLACKLIST "OpenGL::GL")
+ list(APPEND BLACKLIST "OpenGL::GLX")
+ list(APPEND BLACKLIST "PNG::PNG")
get_target_property(LIBRARIES ${param} LINK_LIBRARIES)
list(INSERT LIBRARIES 0 ${param})
@@ -32,9 +35,16 @@ function(mbgl_generate_license param)
endif()
endforeach()
- file(WRITE ${CMAKE_BINARY_DIR}/${param}.license ${LICENSE_LIST})
-
- add_custom_target(${param}-license COMMAND cat ${CMAKE_BINARY_DIR}/${param}.license)
+ set(LICENSE_FILE LICENSE-${CMAKE_SYSTEM_NAME}.md)
+ file(WRITE ${CMAKE_BINARY_DIR}/${LICENSE_FILE} ${LICENSE_LIST})
+
+ add_custom_target(
+ license
+ COMMAND
+ ${CMAKE_COMMAND}
+ -E
+ copy
+ ${CMAKE_BINARY_DIR}/${LICENSE_FILE}
+ ${output_dir}/${LICENSE_FILE}
+ )
endfunction()
-
-mbgl_generate_license(mbgl-core)
diff --git a/vendor/icu.cmake b/vendor/icu.cmake
index 0ae1593e5e..752aebd039 100644
--- a/vendor/icu.cmake
+++ b/vendor/icu.cmake
@@ -41,3 +41,12 @@ target_include_directories(
)
set_property(TARGET mbgl-vendor-icu PROPERTY FOLDER Core)
+
+set_target_properties(
+ mbgl-vendor-icu
+ PROPERTIES
+ INTERFACE_MAPBOX_NAME "icu"
+ INTERFACE_MAPBOX_URL "https://github.com/unicode-org/icu"
+ INTERFACE_MAPBOX_AUTHOR "Unicode, Inc"
+ INTERFACE_MAPBOX_LICENSE ${CMAKE_CURRENT_LIST_DIR}/icu/LICENSE
+)
diff --git a/vendor/mapbox-base.cmake b/vendor/mapbox-base.cmake
index 012edbe679..fdee8a3bbb 100644
--- a/vendor/mapbox-base.cmake
+++ b/vendor/mapbox-base.cmake
@@ -109,3 +109,12 @@ set_target_properties(
INTERFACE_MAPBOX_AUTHOR "Mapbox"
INTERFACE_MAPBOX_LICENSE ${CMAKE_CURRENT_LIST_DIR}/mapbox-base/deps/cheap-ruler-cpp/LICENSE
)
+
+set_target_properties(
+ mapbox-base-jni.hpp
+ PROPERTIES
+ INTERFACE_MAPBOX_NAME "jni.hpp"
+ INTERFACE_MAPBOX_URL "https://github.com/mapbox/jni.hpp"
+ INTERFACE_MAPBOX_AUTHOR "Mapbox"
+ INTERFACE_MAPBOX_LICENSE ${CMAKE_CURRENT_LIST_DIR}/mapbox-base/deps/jni.hpp/LICENSE.txt
+)
diff --git a/vendor/nunicode.cmake b/vendor/nunicode.cmake
index f13492de78..f3033a3ed1 100644
--- a/vendor/nunicode.cmake
+++ b/vendor/nunicode.cmake
@@ -24,3 +24,12 @@ target_include_directories(
mbgl-vendor-nunicode SYSTEM
PUBLIC ${CMAKE_CURRENT_LIST_DIR}/nunicode/include
)
+
+set_target_properties(
+ mbgl-vendor-nunicode
+ PROPERTIES
+ INTERFACE_MAPBOX_NAME "libnu"
+ INTERFACE_MAPBOX_URL "https://bitbucket.org/alekseyt/nunicode"
+ INTERFACE_MAPBOX_AUTHOR "Aleksey Tulinov"
+ INTERFACE_MAPBOX_LICENSE ${CMAKE_CURRENT_LIST_DIR}/nunicode/LICENSE
+)
diff --git a/vendor/sqlite.cmake b/vendor/sqlite.cmake
index b010e0c78a..d3571fb9fc 100644
--- a/vendor/sqlite.cmake
+++ b/vendor/sqlite.cmake
@@ -27,3 +27,12 @@ target_include_directories(
mbgl-vendor-sqlite SYSTEM
INTERFACE ${CMAKE_CURRENT_LIST_DIR}/sqlite/include
)
+
+set_target_properties(
+ mbgl-vendor-sqlite
+ PROPERTIES
+ INTERFACE_MAPBOX_NAME "sqlite"
+ INTERFACE_MAPBOX_URL "https://sqlite.org/index.html"
+ INTERFACE_MAPBOX_AUTHOR "Unicode, Inc"
+ INTERFACE_MAPBOX_LICENSE ${CMAKE_CURRENT_LIST_DIR}/sqlite/LICENSE.md
+)
diff --git a/vendor/sqlite/LICENSE.md b/vendor/sqlite/LICENSE.md
new file mode 100644
index 0000000000..57da2c75b6
--- /dev/null
+++ b/vendor/sqlite/LICENSE.md
@@ -0,0 +1,11 @@
+SQLite is in the Public Domain
+
+All of the code and documentation in SQLite has been dedicated to the public domain by
+the authors. All code authors, and representatives of the companies they work for, have
+signed affidavits dedicating their contributions to the public domain and originals of
+those signed affidavits are stored in a firesafe at the main offices of Hwaci. Anyone
+is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite
+code, either in source code form or as a compiled binary, for any purpose, commercial
+or non-commercial, and by any means.
+
+https://sqlite.org/copyright.html