Skip to content

Commit 17dee28

Browse files
committed
Workspace sources directory detection fixed #4
1 parent 69d7b93 commit 17dee28

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

share/modules/cmake/BCMConfig.cmake

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,23 @@ function(cm_project INPUT_WORKSPACE_NAME INPUT_PROJECT_NAME)
2828
endif()
2929

3030
project(${INPUT_WORKSPACE_NAME}_${INPUT_PROJECT_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES})
31+
3132
set(CURRENT_PROJECT_NAME ${INPUT_PROJECT_NAME})
3233
set(CMAKE_PROJECT_NAME ${CMAKE_PROJECT_NAME} PARENT_SCOPE)
3334
set(PROJECT_NAME ${INPUT_PROJECT_NAME} PARENT_SCOPE)
35+
3436
string(TOUPPER ${INPUT_PROJECT_NAME} UPPER_PROJECT_NAME)
3537
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})
3742
set(CURRENT_TEST_SOURCES_DIR ${CURRENT_SOURCES_DIR}/test PARENT_SCOPE)
3843
endfunction()
3944

4045
function(cm_workspace WORKSPACE_NAME)
4146
set(options)
42-
set(oneValueArgs DESCRIPTION VERSION)
47+
set(oneValueArgs DESCRIPTION VERSION SOURCES_DIR)
4348
set(multiValueArgs LANGUAGES)
4449

4550
cmake_parse_arguments(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -50,8 +55,13 @@ function(cm_workspace WORKSPACE_NAME)
5055

5156
project(${WORKSPACE_NAME} ${PARSE_VERSION} ${PARSE_DESCRIPTION} ${PARSE_LANGUAGES})
5257
set(CMAKE_WORKSPACE_NAME ${WORKSPACE_NAME} PARENT_SCOPE)
58+
set(CMAKE_WORKSPACE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
5359
string(TOUPPER ${WORKSPACE_NAME} UPPER_WORKSPACE_NAME)
5460
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()
5565
endfunction()
5666

5767
function(patch_file INPUT_SOURCE INPUT_PATCH OUTPUT_DIRECTORY)
@@ -75,12 +85,7 @@ function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
7585
endif()
7686
file(GLOB_RECURSE PATCHES_FILES LIST_DIRECTORIES FALSE ${PATCHES_DIRECTORY}/*.patch)
7787
file(GLOB_RECURSE SOURCES_FILES LIST_DIRECTORIES FALSE ${SOURCES_DIRECTORY}/*)
78-
message(PTCH = ${PATCHES_DIRECTORY})
79-
message(SRC = ${SOURCES_DIRECTORY})
8088
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})
8489
string(REPLACE ".patch" "" SOURCE_FILE_NAME ${PATCH_FILE})
8590
string(REPLACE ${PATCHES_DIRECTORY} ${SOURCES_DIRECTORY} SOURCE_FILE_NAME ${SOURCE_FILE_NAME})
8691

@@ -91,9 +96,4 @@ function(patch_directory SOURCES_DIRECTORY PATCHES_DIRECTORY OUTPUT_DIRECTORY)
9196
list(GET SOURCES_FILES ${SOURCES_FILE_FIND} SOURCE_FILE)
9297
patch_file(${SOURCE_FILE} ${PATCH_FILE} ${OUTPUT_DIRECTORY})
9398
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)
9999
endfunction()

0 commit comments

Comments
 (0)