Skip to content

Commit d956e17

Browse files
committed
Workspace and project functions moved to be a macros to get
CMAKE_PROJECT_NAME and PROJECT_NAME directives working. Basic non-tested single file patching functions implemented.
1 parent e45065f commit d956e17

File tree

2 files changed

+13
-20
lines changed

2 files changed

+13
-20
lines changed

share/modules/cmake/BCMConfig.cmake

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function(find_subdirectories INPUT_DIRECTORY SUBMODULE_HEADER)
1616
endforeach()
1717
endfunction()
1818

19-
function(cm_project WORKSPACE_NAME PROJECT_NAME)
19+
macro(cm_project INPUT_WORKSPACE_NAME INPUT_PROJECT_NAME)
2020
set(options)
2121
set(oneValueArgs DESCRIPTION VERSION)
2222
set(multiValueArgs LANGUAGES)
@@ -27,13 +27,13 @@ function(cm_project WORKSPACE_NAME PROJECT_NAME)
2727
message(FATAL_ERROR "Unknown keywords given to workspace(): \"${PARSE_UNPARSED_ARGUMENTS}\"")
2828
endif()
2929

30-
project(${WORKSPACE_NAME}_${PROJECT_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES})
31-
set(CURRENT_PROJECT_NAME ${PROJECT_NAME} PARENT_SCOPE)
32-
string(TOUPPER ${PROJECT_NAME} UPPER_PROJECT_NAME)
33-
set(CURRENT_UPPER_PROJECT_NAME ${UPPER_PROJECT_NAME} PARENT_SCOPE)
34-
endfunction()
30+
project(${INPUT_WORKSPACE_NAME}_${INPUT_PROJECT_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES})
31+
set(CURRENT_PROJECT_NAME ${INPUT_PROJECT_NAME})
32+
string(TOUPPER ${INPUT_PROJECT_NAME} UPPER_PROJECT_NAME)
33+
set(CURRENT_UPPER_PROJECT_NAME ${UPPER_PROJECT_NAME})
34+
endmacro()
3535

36-
function(cm_workspace WORKSPACE_NAME)
36+
macro(cm_workspace WORKSPACE_NAME)
3737
set(options)
3838
set(oneValueArgs DESCRIPTION VERSION)
3939
set(multiValueArgs LANGUAGES)
@@ -45,25 +45,19 @@ function(cm_workspace WORKSPACE_NAME)
4545
endif()
4646

4747
project(${WORKSPACE_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES})
48-
set(CMAKE_WORKSPACE_NAME ${WORKSPACE_NAME} PARENT_SCOPE)
48+
set(CMAKE_WORKSPACE_NAME ${WORKSPACE_NAME})
4949
string(TOUPPER ${WORKSPACE_NAME} UPPER_WORKSPACE_NAME)
50-
set(CMAKE_UPPER_WORKSPACE_NAME ${UPPER_WORKSPACE_NAME} PARENT_SCOPE)
51-
endfunction()
50+
set(CMAKE_UPPER_WORKSPACE_NAME ${UPPER_WORKSPACE_NAME})
51+
endmacro()
5252

53-
function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
53+
function(patch_file INPUT_SOURCE INPUT_PATCH OUTPUT_DIRECTORY)
5454
find_package(Patch)
5555
if(NOT Patch_FOUND)
5656
message(FATAL_ERROR "Patch utulity is not found")
5757
endif()
5858

59-
file(GLOB_RECURSE ${PATCHES_FILES} LIST_DIRECTORIES FALSE ${PATCHES_DIRECTORY})
60-
file(GLOB_RECURSE ${SOURCES_FILES} LIST_DIRECTORIES FALSE ${SOURCES_DIRECTORY})
61-
62-
foreach(PATCH_FILE IN PATCHES_FILES)
63-
string(REPLACE ".patch" ${PATCH_FILE} PATCH_FILE_NAME)
64-
list(FIND ${SOURCES_FILES} PATCH_FILE)
65-
execute_process(COMMAND patch)
66-
endforeach()
59+
execute_process(COMMAND patch ${INPUT_SOURCE} ${INPUT_PATCH}
60+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
6761
endfunction()
6862

6963
function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)

share/modules/cmake/BCMInstallTargets.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ function(cm_install_targets)
2727

2828

2929
if(NOT PARSE_SKIP_HEADER_INSTALL)
30-
message(STATUS "cm_install_targets.proceed-with-install ${INCLUDE_INSTALL_DIR} ")
3130
foreach(INCLUDE ${PARSE_INCLUDE})
3231
install(DIRECTORY ${INCLUDE}/ DESTINATION ${INCLUDE_INSTALL_DIR})
3332
endforeach()

0 commit comments

Comments
 (0)