@@ -16,7 +16,7 @@ function(find_subdirectories INPUT_DIRECTORY SUBMODULE_HEADER)
1616 endforeach ()
1717endfunction ()
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} )
6761endfunction ()
6862
6963function (patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
0 commit comments