Skip to content

Commit 36696ed

Browse files
committed
Create dynamic & relocatable package generator, add config/template.cmake & licence/template.cmake, update apache zookeeper version
1 parent 15381ba commit 36696ed

File tree

4 files changed

+53
-23
lines changed

4 files changed

+53
-23
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
find_package(@_NBL_PACKAGE_@
2+
REQUIRED
3+
CONFIG
4+
GLOBAL
5+
PATHS "${CMAKE_CURRENT_LIST_DIR}/compoment"
6+
NO_DEFAULT_PATH
7+
NO_PACKAGE_ROOT_PATH
8+
NO_CMAKE_PATH
9+
NO_CMAKE_ENVIRONMENT_PATH
10+
NO_SYSTEM_ENVIRONMENT_PATH
11+
NO_CMAKE_PACKAGE_REGISTRY
12+
NO_CMAKE_SYSTEM_PATH
13+
NO_CMAKE_INSTALL_PREFIX
14+
NO_CMAKE_SYSTEM_PACKAGE_REGISTRY
15+
)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Copyright (C) 2018-2040 - DevSH Graphics Programming Sp. z O.O.
2+
# This file is part of the "Nabla Engine".
3+
# For conditions of distribution and use, see copyright notice in nabla.h

cmake/cpack/find/nabla.cmake

Lines changed: 33 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function(NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL _COMPOMENT_ _SPATH_)
2-
string(APPEND NBL_FIND_NABLA_IMPL "set(_COMPOMENT_ ${_COMPOMENT_})\nset(_SPATH_ ${_SPATH_})\n\nset(NBL_ROOT_PATH ${NBL_ROOT_PATH})\n\n")
2+
string(APPEND NBL_FIND_NABLA_IMPL "set(_COMPOMENT_ ${_COMPOMENT_})\nset(_SPATH_ ${_SPATH_})\nset(NBL_ROOT_PATH ${NBL_ROOT_PATH})\nset(NBL_STATIC_BUILD ${NBL_STATIC_BUILD})\n\n")
33
string(APPEND NBL_FIND_NABLA_IMPL
44
[=[
55
if(CMAKE_INSTALL_CONFIG_NAME MATCHES "^([Dd][Ee][Bb][Uu][Gg])$")
@@ -12,20 +12,34 @@ else()
1212
message(FATAL_ERROR "Internal error, requested \"${CMAKE_INSTALL_CONFIG_NAME}\" configuration is invalid!")
1313
endif()
1414
15+
string(TOUPPER "${_COMPOMENT_}" _Cu_)
16+
string(TOLOWER "${_COMPOMENT_}" _Cl_)
17+
1518
string(TOUPPER "${CMAKE_INSTALL_CONFIG_NAME}" _NBL_CONFIG_)
16-
set(_NBL_PACKAGE_ Nabla${_COMPOMENT_})
19+
string(TOLOWER "${CMAKE_INSTALL_CONFIG_NAME}" _NBL_CONFIG_L_)
20+
21+
if(NBL_STATIC_BUILD)
22+
set(NBL_LIBRARY_TYPE STATIC)
23+
else()
24+
set(NBL_LIBRARY_TYPE DYNAMIC)
25+
endif()
26+
27+
string(TOUPPER "${NBL_LIBRARY_TYPE}" _LTu_)
28+
string(TOLOWER "${NBL_LIBRARY_TYPE}" _LTl_)
29+
30+
set(_NBL_PACKAGE_ nabla-${_Cl_}-${_LTl_}-${_NBL_CONFIG_L_})
31+
set(_NBL_COMPLETE_P_CONFIG_ nabla-${_LTl_}-${_NBL_CONFIG_L_})
1732
1833
set(NBL_CMAKE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${NBL_CONFIG_PREFIX_PATH}/cmake")
19-
set(NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY "${NBL_CMAKE_OUTPUT_DIRECTORY}/component")
34+
set(NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY "${NBL_CMAKE_OUTPUT_DIRECTORY}/compoment")
2035
2136
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "" NBL_CMAKE_INSTALL_MANIFEST_CONTENT "${CMAKE_INSTALL_MANIFEST_FILES}")
2237
list(REMOVE_DUPLICATES NBL_CMAKE_INSTALL_MANIFEST_CONTENT)
2338
2439
set(_NBL_PREFIX_ "${CMAKE_INSTALL_PREFIX}/${NBL_CONFIG_PREFIX_PATH}")
25-
string(TOUPPER "${_COMPOMENT_}" _Cu_)
26-
string(TOLOWER "${_COMPOMENT_}" _Cl_)
2740
2841
set(NBL_CMAKE_COMPOMENT_OUTPUT_FILE "${NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY}/${_NBL_PACKAGE_}Config.cmake")
42+
set(NBL_CMAKE_CONFIG_OUTPUT_FILE "${NBL_CMAKE_OUTPUT_DIRECTORY}/${_NBL_COMPLETE_P_CONFIG_}Config.cmake")
2943
3044
cmake_path(RELATIVE_PATH CMAKE_INSTALL_PREFIX BASE_DIRECTORY "${NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY}" OUTPUT_VARIABLE _NBL_REL_TO_PREFIX_)
3145
@@ -36,11 +50,11 @@ foreach(_MANIFEST_INSTALL_REL_FILE_ IN LISTS NBL_CMAKE_INSTALL_MANIFEST_CONTENT)
3650
set(_X_ "${_NBL_REL_TO_PREFIX_}/${_MANIFEST_INSTALL_REL_FILE_}")
3751
cmake_path(NORMAL_PATH _X_ OUTPUT_VARIABLE _X_)
3852
39-
list(APPEND NABLA_INSTALL_${_Cu_}_${_NBL_CONFIG_} "${_X_}")
53+
list(APPEND NABLA_INSTALL_${_Cu_}_${_LTu_}_${_NBL_CONFIG_} "${_X_}")
4054
endif()
4155
endforeach()
4256
43-
set(_NBL_PROXY_ NABLA_INSTALL_${_Cu_}_${_NBL_CONFIG_})
57+
set(_NBL_PROXY_ NABLA_INSTALL_${_Cu_}_${_LTu_}_${_NBL_CONFIG_})
4458
4559
string(APPEND NBL_MANIFEST_IMPL "set(${_NBL_PROXY_}\n\t${${_NBL_PROXY_}}\n)")
4660
string(REPLACE ";" "\n\t" NBL_MANIFEST_IMPL "${NBL_MANIFEST_IMPL}")
@@ -49,32 +63,30 @@ file(WRITE "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}" "${NBL_MANIFEST_IMPL_CONF}")
4963
5064
# the reason behind this weird looking thing is you cannot nest bracket arguments https://cmake.org/cmake/help/latest/manual/cmake-language.7.html#bracket-argument
5165
# some variables need evaluation but some not and must be literals, to make this code read-able & work we do a small workaround
66+
67+
# Compoment
5268
configure_file("${NBL_ROOT_PATH}/cmake/cpack/find/compoment/template.cmake" "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}.tmp" @ONLY)
5369
file(READ "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}.tmp" _NBL_COMPOMENT_INCLUDE_LIST_TRANFORM_)
5470
file(REMOVE "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}.tmp")
5571
file(APPEND "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}" "\n${_NBL_COMPOMENT_INCLUDE_LIST_TRANFORM_}")
5672
5773
# Config
74+
if(NOT EXISTS "${NBL_CMAKE_CONFIG_OUTPUT_FILE}")
75+
file(READ "${NBL_ROOT_PATH}/cmake/cpack/find/licence/template.cmake" _NBL_LICENCE_)
76+
file(APPEND "${NBL_CMAKE_CONFIG_OUTPUT_FILE}" "${_NBL_LICENCE_}")
77+
endif()
5878
79+
configure_file("${NBL_ROOT_PATH}/cmake/cpack/find/config/template.cmake" "${NBL_CMAKE_CONFIG_OUTPUT_FILE}.tmp" @ONLY)
80+
file(READ "${NBL_CMAKE_CONFIG_OUTPUT_FILE}.tmp" _NBL_CONFIG_FILE_CONTENT_)
81+
file(REMOVE "${NBL_CMAKE_CONFIG_OUTPUT_FILE}.tmp")
82+
file(APPEND "${NBL_CMAKE_CONFIG_OUTPUT_FILE}" "\n\n${_NBL_CONFIG_FILE_CONTENT_}")
5983
]=]
6084
)
6185

6286
install(CODE "${NBL_FIND_NABLA_IMPL}" COMPONENT ${_COMPOMENT_})
6387
endfunction()
6488

65-
function(NBL_GEN_FIND_NABLA_CONFIG_CODE_IMPL)
66-
string(APPEND NBL_FIND_NABLA_IMPL
67-
[=[
68-
69-
]=]
70-
71-
install(CODE "${NBL_FIND_NABLA_IMPL}" ALL_COMPONENTS)
72-
endfunction()
73-
74-
# Generate component configurations
89+
# Generate compoment configurations
7590
NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL(Headers include)
7691
NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL(Libraries lib)
77-
NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL(Runtimes runtime)
78-
79-
# Generate config file
80-
NBL_GEN_FIND_NABLA_CONFIG_CODE_IMPL()
92+
NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL(Runtimes runtime)

docker/compose/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ ARG APACHE_ZOOKEEPER_INSTALL_DIRECTORY
8787
RUN `
8888
# Download Apache ZooKeeper
8989
`
90-
curl -SL --output zookeeper.zip https://dlcdn.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gz `
90+
curl -SL --output zookeeper.zip https://dlcdn.apache.org/zookeeper/stable/apache-zookeeper-3.8.4-bin.tar.gz `
9191
`
9292
# Create install directory
9393
`
@@ -101,7 +101,7 @@ RUN `
101101
`
102102
&& del /q zookeeper.zip `
103103
`
104-
&& setx PATH "%PATH%;%APACHE_ZOOKEEPER_INSTALL_DIRECTORY%\apache-zookeeper-3.8.3-bin\bin" /M
104+
&& setx PATH "%PATH%;%APACHE_ZOOKEEPER_INSTALL_DIRECTORY%\apache-zookeeper-3.8.4-bin\bin" /M
105105

106106
RUN `
107107
# Download kazoo 2.8.0 Python (more recent versions doesn't work well with Windows) module

0 commit comments

Comments
 (0)