Skip to content

Commit 15381ba

Browse files
committed
begin implementing FindPackageHandleStandardArgs module, save work
1 parent d6ce5d2 commit 15381ba

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
list(TRANSFORM @_NBL_PROXY_@ PREPEND "${CMAKE_CURRENT_LIST_DIR}/")
1+
list(TRANSFORM @_NBL_PROXY_@ PREPEND "${CMAKE_CURRENT_LIST_DIR}/")
2+
3+
include(FindPackageHandleStandardArgs)
4+
find_package_handle_standard_args(@_NBL_PACKAGE_@ DEFAULT_MSG @_NBL_PROXY_@)

cmake/cpack/find/nabla.cmake

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function(NBL_GEN_FIND_NABLA_CODE_IMPL _COMPOMENT_ _SPATH_)
1+
function(NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL _COMPOMENT_ _SPATH_)
22
string(APPEND NBL_FIND_NABLA_IMPL "set(_COMPOMENT_ ${_COMPOMENT_})\nset(_SPATH_ ${_SPATH_})\n\nset(NBL_ROOT_PATH ${NBL_ROOT_PATH})\n\n")
33
string(APPEND NBL_FIND_NABLA_IMPL
44
[=[
@@ -12,16 +12,20 @@ else()
1212
message(FATAL_ERROR "Internal error, requested \"${CMAKE_INSTALL_CONFIG_NAME}\" configuration is invalid!")
1313
endif()
1414
15+
string(TOUPPER "${CMAKE_INSTALL_CONFIG_NAME}" _NBL_CONFIG_)
16+
set(_NBL_PACKAGE_ Nabla${_COMPOMENT_})
17+
18+
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")
20+
1521
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "" NBL_CMAKE_INSTALL_MANIFEST_CONTENT "${CMAKE_INSTALL_MANIFEST_FILES}")
1622
list(REMOVE_DUPLICATES NBL_CMAKE_INSTALL_MANIFEST_CONTENT)
1723
1824
set(_NBL_PREFIX_ "${CMAKE_INSTALL_PREFIX}/${NBL_CONFIG_PREFIX_PATH}")
19-
string(TOUPPER "${CMAKE_INSTALL_CONFIG_NAME}" _NBL_CONFIG_)
2025
string(TOUPPER "${_COMPOMENT_}" _Cu_)
2126
string(TOLOWER "${_COMPOMENT_}" _Cl_)
2227
23-
set(NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${NBL_CONFIG_PREFIX_PATH}/cmake/compoment")
24-
set(NBL_CMAKE_COMPOMENT_OUTPUT_FILE "${NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY}/NablaConfig${_COMPOMENT_}.cmake")
28+
set(NBL_CMAKE_COMPOMENT_OUTPUT_FILE "${NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY}/${_NBL_PACKAGE_}Config.cmake")
2529
2630
cmake_path(RELATIVE_PATH CMAKE_INSTALL_PREFIX BASE_DIRECTORY "${NBL_CMAKE_COMPOMENT_OUTPUT_DIRECTORY}" OUTPUT_VARIABLE _NBL_REL_TO_PREFIX_)
2731
@@ -32,11 +36,11 @@ foreach(_MANIFEST_INSTALL_REL_FILE_ IN LISTS NBL_CMAKE_INSTALL_MANIFEST_CONTENT)
3236
set(_X_ "${_NBL_REL_TO_PREFIX_}/${_MANIFEST_INSTALL_REL_FILE_}")
3337
cmake_path(NORMAL_PATH _X_ OUTPUT_VARIABLE _X_)
3438
35-
list(APPEND NBL_INSTALL_${_Cu_}_${_NBL_CONFIG_} "${_X_}")
39+
list(APPEND NABLA_INSTALL_${_Cu_}_${_NBL_CONFIG_} "${_X_}")
3640
endif()
3741
endforeach()
3842
39-
set(_NBL_PROXY_ NBL_INSTALL_${_Cu_}_${_NBL_CONFIG_})
43+
set(_NBL_PROXY_ NABLA_INSTALL_${_Cu_}_${_NBL_CONFIG_})
4044
4145
string(APPEND NBL_MANIFEST_IMPL "set(${_NBL_PROXY_}\n\t${${_NBL_PROXY_}}\n)")
4246
string(REPLACE ";" "\n\t" NBL_MANIFEST_IMPL "${NBL_MANIFEST_IMPL}")
@@ -49,13 +53,28 @@ configure_file("${NBL_ROOT_PATH}/cmake/cpack/find/compoment/template.cmake" "${N
4953
file(READ "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}.tmp" _NBL_COMPOMENT_INCLUDE_LIST_TRANFORM_)
5054
file(REMOVE "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}.tmp")
5155
file(APPEND "${NBL_CMAKE_COMPOMENT_OUTPUT_FILE}" "\n${_NBL_COMPOMENT_INCLUDE_LIST_TRANFORM_}")
56+
57+
# Config
58+
5259
]=]
5360
)
5461

5562
install(CODE "${NBL_FIND_NABLA_IMPL}" COMPONENT ${_COMPOMENT_})
5663
endfunction()
5764

58-
# Generate compoment configurations
59-
NBL_GEN_FIND_NABLA_CODE_IMPL(Headers include)
60-
NBL_GEN_FIND_NABLA_CODE_IMPL(Libraries lib)
61-
NBL_GEN_FIND_NABLA_CODE_IMPL(Runtimes runtime)
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
75+
NBL_GEN_FIND_NABLA_COMPONENT_CODE_IMPL(Headers include)
76+
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()

0 commit comments

Comments
 (0)