@@ -28,18 +28,23 @@ function(cm_project INPUT_WORKSPACE_NAME INPUT_PROJECT_NAME)
28
28
endif ()
29
29
30
30
project (${INPUT_WORKSPACE_NAME} _${INPUT_PROJECT_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES} )
31
+
31
32
set (CURRENT_PROJECT_NAME ${INPUT_PROJECT_NAME} )
32
33
set (CMAKE_PROJECT_NAME ${CMAKE_PROJECT_NAME} PARENT_SCOPE )
33
34
set (PROJECT_NAME ${INPUT_PROJECT_NAME} PARENT_SCOPE )
35
+
34
36
string (TOUPPER ${INPUT_PROJECT_NAME} UPPER_PROJECT_NAME )
35
37
set (CURRENT_UPPER_PROJECT_NAME ${UPPER_PROJECT_NAME} PARENT_SCOPE )
36
- set_current_source_dir (${CMAKE_CURRENT_SOURCE_DIR} CURRENT_SOURCES_DIR )
38
+
39
+ file (RELATIVE_PATH RELATIVE_DIR ${CMAKE_WORKSPACE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
40
+
41
+ set (CURRENT_SOURCES_DIR ${CMAKE_WORKSPACE_SOURCES_DIR} /${RELATIVE_DIR} )
37
42
set (CURRENT_TEST_SOURCES_DIR ${CURRENT_SOURCES_DIR} /test PARENT_SCOPE )
38
43
endfunction ()
39
44
40
45
function (cm_workspace WORKSPACE_NAME )
41
46
set (options )
42
- set (oneValueArgs DESCRIPTION VERSION )
47
+ set (oneValueArgs DESCRIPTION VERSION SOURCES_DIR )
43
48
set (multiValueArgs LANGUAGES )
44
49
45
50
cmake_parse_arguments (PARSE "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
@@ -50,8 +55,13 @@ function(cm_workspace WORKSPACE_NAME)
50
55
51
56
project (${WORKSPACE_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES} )
52
57
set (CMAKE_WORKSPACE_NAME ${WORKSPACE_NAME} PARENT_SCOPE )
58
+ set (CMAKE_WORKSPACE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE )
53
59
string (TOUPPER ${WORKSPACE_NAME} UPPER_WORKSPACE_NAME )
54
60
set (CMAKE_UPPER_WORKSPACE_NAME ${UPPER_WORKSPACE_NAME} PARENT_SCOPE )
61
+
62
+ if (PARSE_SOURCES_DIR )
63
+ set (CMAKE_WORKSPACE_SOURCES_DIR ${PARSE_SOURCES_DIR} PARENT_SCOPE )
64
+ endif ()
55
65
endfunction ()
56
66
57
67
function (patch_file INPUT_SOURCE INPUT_PATCH OUTPUT_DIRECTORY )
@@ -75,12 +85,7 @@ function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
75
85
endif ()
76
86
file (GLOB_RECURSE PATCHES_FILES LIST_DIRECTORIES FALSE ${PATCHES_DIRECTORY} /*.patch )
77
87
file (GLOB_RECURSE SOURCES_FILES LIST_DIRECTORIES FALSE ${SOURCES_DIRECTORY} /* )
78
- message (PTCH = ${PATCHES_DIRECTORY} )
79
- message (SRC = ${SOURCES_DIRECTORY} )
80
88
foreach (PATCH_FILE IN LISTS PATCHES_FILES )
81
- #get_filename_component(PATHC_FILE_NAME ${PATCH_FILE} NAME)
82
- #message("SOURCES_DIRECTORY=" ${SOURCES_DIRECTORY})
83
- #message("PATHC_FILE_NAME=" ${PATCHES_DIRECTORY})
84
89
string (REPLACE ".patch" "" SOURCE_FILE_NAME ${PATCH_FILE} )
85
90
string (REPLACE ${PATCHES_DIRECTORY} ${SOURCES_DIRECTORY} SOURCE_FILE_NAME ${SOURCE_FILE_NAME} )
86
91
@@ -91,9 +96,4 @@ function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
91
96
list (GET SOURCES_FILES ${SOURCES_FILE_FIND} SOURCE_FILE )
92
97
patch_file (${SOURCE_FILE} ${PATCH_FILE} ${OUTPUT_DIRECTORY} )
93
98
endforeach ()
94
- endfunction ()
95
-
96
- function (set_current_source_dir WORKSPACE_SOURCE RESULT_NAME )
97
- string (REPLACE "/libs" "/${BUILD_WITH_SOURCES_DIR} /libs" CURRENT_SOURCES_DIR ${WORKSPACE_SOURCE} )
98
- set (${RESULT_NAME} ${CURRENT_SOURCES_DIR} PARENT_SCOPE )
99
99
endfunction ()
0 commit comments